Le fameux fading, marche sur une lumière mais pas la deuxième..
Bonjour et joyeux noël à tous!
Bon.. jai une commode à deux portes avec deux reed switchs, une sur chaque.
J'essaie d'ajouter un fading (éclairage progressif), et j'ai cherché énormément et je me retrouve avec deux series de codes différents mais qui font la même chose.. pratiquement.
Mon premier code, les deux lumières allument en fading mais ils finissent toujours par s'éteindre et font leur loop comme ça à l'infinie sans que je ferme la porte..
Le deuxième code, j'ai utilisé le fameux static int qui fait en sorte que la loop ne se fasse pas (c'est ce que j'ai compris), et avec celui la, la lumière de gauche marche bien mais pas la deuxième..
Voila mon premier sans le static int;
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| const byte pinLedGauche = 10;
const byte pinLedDroite = 11;
const byte pinReedGauche = 2;
const byte pinReedDroite = 3;
int switchState = 0;
int switchStated = 0;
#define DELAY 20
void setup()
{
pinMode(pinLedGauche, OUTPUT);
pinMode(pinLedDroite, OUTPUT);
pinMode(pinReedGauche, INPUT);
pinMode(pinReedDroite, INPUT);
}
void loop()
{
switchState = digitalRead (pinReedGauche);
if (switchState == 1)
for(int i = 0; i < 160; i++) {
analogWrite (pinLedGauche, i);
delay(DELAY);
}
else
analogWrite (pinLedGauche, LOW);
switchStated = digitalRead (pinReedDroite);
if (switchStated == 1)
for(int i = 0; i < 160; i++) {
analogWrite (pinLedDroite, i);
delay (DELAY);
}
else
analogWrite (pinLedDroite, LOW);
} |
Et voila la deuxième;
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| const byte pinLedGauche = 10;
const byte pinLedDroite = 11;
const byte pinReedGauche = 2;
const byte pinReedDroite = 3;
void setup()
{
pinMode (pinLedGauche, OUTPUT);
pinMode (pinLedDroite, OUTPUT);
pinMode (pinReedGauche, INPUT);
pinMode (pinReedDroite, INPUT);
}
void loop()
{
static int fadeValue = 0;
if (digitalRead (pinReedGauche) == HIGH)
{
if (fadeValue < 255)
{
fadeValue++;
analogWrite (pinLedGauche, fadeValue);
delay(10);
}
}
else
{
if (fadeValue > 0)
{ fadeValue--;
analogWrite (pinLedGauche, fadeValue);
delay(10);
static int fadeValue =0;
if (digitalRead(pinReedDroite) == HIGH)
{
if (fadeValue < 255)
{
fadeValue++;
analogWrite (pinLedDroite, fadeValue);
delay(10);
}
}
else
{
if (fadeValue > 0)
{ fadeValue--;
analogWrite (pinLedDroite, fadeValue);
delay(10);
}
}
}
}
} |
J'aimerais comprendre ce que je ne fais pas de correcte.. merci de votre aide!