Probleme sur repetition bouton poussoir

Résolu
CHRIS.HU Messages postés 1 Date d'inscription mardi 6 décembre 2022 Statut Membre Dernière intervention 6 décembre 2022 - 6 déc. 2022 à 01:43
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 - 6 déc. 2022 à 19:06

bonsoir voila étant extrêmement débutant  j'ai  écris un code avec beaucoup de difficulté  et en assemblant des codes entre eux ;

le montage est sur tinkerkad 

  j'ai une led  que j'allume avec le bouton  poussoir et elle clignote 5 fois et s'éteint si je relâche le bouton  mais   je n'arrive pas à rallumer après  si je réappuie sur le bouton pour exécuter encore 5 fois le clignotement  et Inside suite  

voici le code  :) 

int i=0;
int led=13;
int bouton = 2;
void setup() {
 
  pinMode(bouton, INPUT); 
  pinMode(13, OUTPUT);
}


void loop() 
 
{
  bool buttonstate=digitalRead(bouton); 
  if 
    (digitalRead(bouton) == HIGH)
  while(i<5){
  i++;
  digitalWrite(led, LOW);   
  delay(200);                       
  digitalWrite(led, HIGH);    
  delay(200);
  }
  else 
  {
  digitalWrite(led,LOW);
  }
  }






   
  
   
   
  
  
         

  
  

1 réponse

Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 11
6 déc. 2022 à 19:06

Au début i vaut 0.

Quand tu appuies sur le bouton, i vas s'incrémenter 5 fois. Quand i atteint 5, le clignotement s'arrête.

Si tu réappuies sur le bouton, i vaut toujours 5. Et on n'entre plus dans le while de la ligne 17!

Une correction possible : Remettre à 0 la variable i quand on détecte un bouton relâché.

0
Rejoignez-nous