Bonjour,
Après deux jours de galère, je me décide à solicité une personne qui gère.
Je vous présente le projet :
Deux bandes de LEDs blanches qui s'allument progressivement suivant un choix sur un site codé en HTML simple, soit l'une, soit l'autre, soit les deux. Avec un bouton pour reset l'Arduino afin de revenir au début.
Lors de mes tests avec des LEDs rouges 5v simples, tout fonctionne pour le mieux : elles sont éteintes, lorsque l'on active l'une des 3 fonctions, le processus d'allumage se lance et les LEDs désignées restent allumées. J'appuie alors sur le bouton reset afin de pouvoir jouir d'une nouvelle séquence de folie.
Parfait, installons les bandes maintenant. Je monte des transistors BD678 sur le conseil d'un vendeur (oui, je suis genre novice) et une alim 12V.
Le résultat : les LEDs s'allument bien... Mais dès le début, sans aucune boucle commencée. Je lance une des séquences... Et là stupeur, elles s'éteignent progressivement, comme des grandes. Ce qui je le rappelle, est totalement l'inverse de ce que je leur demande. En plus, elles ne finissent pas à zéro mais avec une faible lueur.
Le code n'a pas changé, juste ces transistors, alors est-ce que ce sont eux qui mettent un bazar dans le processus ou autre chose... J'abdique.
Je vous joins le plan du schéma, la tête du site HTML et le code :
#include <Bridge.h>
#include <YunServer.h>
#include <YunClient.h>
int ledMonsieur = 9; // Définir la broche 9 pour Monsieur
int ledMadame = 3; // Définir la broche 3 pour Madame
int brightness = 0; // how bright the LED is
int fadeAmount = 5;
YunServer server;
void setup() {
// Start our connection
Serial.begin(9600);
pinMode(ledMonsieur, OUTPUT); // déclare la LED Monsieur comme sortie
pinMode(ledMadame, OUTPUT); // déclare la LED Madame comme sortie
Bridge.begin();
// Start listening for connections
server.begin();
}
void loop() {
// Listen for clients
YunClient client = server.accept();
// Client exists?
if (client) {
// Lets process the request!
process(client);
client.stop();
}
delay(50);
}
void process(YunClient client) {
// Collect user commands
String command = client.readStringUntil('~'); // load whole string
// Enable HTML
client.println("Status: 200");
client.println("Content-type: text/html");
client.println();
// Show UI
client.println("<B><Center>");
client.println("<a href='http://yun.local/arduino/monsieur~'>Wakin up Monsieur</a><br>");
client.println("<a href='http://yun.local/arduino/madame~'>Wakin up Madame</a><br>");
client.println("<a href='http://yun.local/arduino/both~'>Wakin up BOTH of this lil bastards</a><br>");
client.print("Command: ");
client.println(command);
client.println("</B></Center>");
// Check what the user entered ...
// Turn on Monsieur
if (command == "monsieur") {
// la DEL s'allume progressivement
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
// donne la valeur (de 0 à 255 avec un pas de 5) de luminosité
// 0 correspond à la DEL éteinte
// 255 correspond à la DEL allumée
analogWrite(ledMonsieur, fadeValue);
// pause pendant 300 millisecondes pour voir la progression
delay(300);
}
}
// Turn on Madame
if (command == "madame") {
// la DEL s'allume progressivement
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
// donne la valeur (de 0 à 255 avec un pas de 5) de luminosité
// 0 correspond à la DEL éteinte
// 255 correspond à la DEL allumée
analogWrite(ledMadame, fadeValue);
// pause pendant 30 millisecondes pour voir la progression
delay(300);
}
}
// Turn on Both
if (command == "both") {
// la DEL s'allume progressivement
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
// donne la valeur (de 0 à 255 avec un pas de 5) de luminosité
// 0 correspond à la DEL éteinte
// 255 correspond à la DEL allumée
analogWrite(ledMonsieur, fadeValue);
analogWrite(ledMadame, fadeValue);
// pause pendant 300 millisecondes pour voir la progression
delay(300);
}
}
}
J'avais pas le bon visuel mais ce sont bien des LEDs strip blancs d'1 mètre chacunes (4,8W/M).
J'ai tenté d'inverser l'allumage progressif dans le code, en vain. Je vous rappelle ce que je veux qu'elles fassent :
- Commencent éteintes (LOW)
- Allumage progressif
- Restent allumée (HIGH)
Si quelqu'un a un avis, je suis preneur.