Bonjour/Bonsoir
je suis débutant en Arduino.
Remis en contexte :
Je voudrais faire Clignoter deux leds et deux boutons
(me servir en temps que Clignotant pour VTT
tout fonctionne, mais je n'arrive pas à dire à l'Arduino
que si la led 'A' clionne déja, alors l'éteindree quand
on appuis sur le 2ème boutton pour allumer la 'B'
Voici le script :
int e = 0;
int antirebond = 500;
#define BB 3 // bouton 'B' pin3 de l'arduino uno
#define B 12 // led 'B' de la carte sur pin12
#define AB 2 // bouton 'A' pin2 de l'arduino uno
#define A 13 // led 'A' de la carte sur pin13
void setup()
{
pinMode(A, OUTPUT);
pinMode(AB, INPUT_PULLUP); // pull up interne activé
pinMode(B, OUTPUT);
pinMode(BB, INPUT_PULLUP); // pull up interne activé
}
void loop()
{
if (digitalRead(AB) == LOW && e == 0) //si on appui sur le btn on lit etat bas vu pullup interne
{
e = 1;
delay(antirebond);
while (e = 1) //tant que (clignotement de la led jusqu'au prochain appui sur le btn)
{
digitalWrite(A, HIGH);
delay(500);
digitalWrite(A, LOW);
delay(500);
if (digitalRead(AB) == LOW && e==1) //si appui sur le btn
{
delay(antirebond);
digitalWrite(A, LOW); // led éteinte
e = 0;
break; //interruption
}
}
}
if (digitalRead(BB) == LOW && e == 0) //si on appui sur le btn on lit etat bas vu pullup interne
{
e = 2;
delay(antirebond);
while (e = 2) //tant que (clignotement de la led jusqu'au prochain appui sur le btn)
{
digitalWrite(B, HIGH);
delay(500);
digitalWrite(B, LOW);
delay(500);
if (digitalRead(BB) == LOW && e==2) //si appui sur le btn
{
delay(antirebond);
digitalWrite(B, LOW); // led éteinte
e = 0;
break; //interruption
}
}
}
}
clignotant.ino (1.58 KB)