Bonjour,
Je suis novice, j'aimerai faire un truc simple mais je bloque.
Je m'explique, quand j'appuie sur un bouton poussoir, j'aimerai 1 seul flash de 1 seconde sur une Led puis elle s’éteint et ne se rallume plus même si le bouton reste enfoncé. Le prochain flash sera au prochain appui.
Avec mon code ci-dessous la led reste allumée tant que le bouton est enfoncé puis s’éteint 1 seconde plus tard. Je ne trouve pas mon problème.
Par avance merci beaucoup.
const int bouton = 8; // la broche 8 devient bouton
const int led = 13; // la broche 13 devient led
int etat;
void setup()
{
pinMode(bouton, INPUT); // Initialise la broche 8 comme entrée
pinMode(led, OUTPUT); // Initialise la broche 13 comme sortie
}
void loop()
{
while ((digitalRead(bouton) == 1) && (etat == 1))
{
etat = 0;
digitalWrite(led, HIGH); // allume la LED
delay(1000);
digitalWrite(led, LOW); // éteint la LED
etat = 0;
}
if ((digitalRead(bouton) == 0) && (etat == 0))
{
etat = 1;
}
}
Attention aussi, si le bouton a du rebond au relâchement, la led peut se rallumer quand on relâche le bouton. Y a-t-il un condensateur entre le 5V ou la masse et l'entrée?