A 0 mon compteur affiche 00

Bonjour.
J'ai un petit souci avec un compteur qui s'incrémente via un bouton, il va de 0 à 9 et ensuite retourne à 0 mais lorsqu'il retourne à 0 il m'affiche 00.
Comment faire pour supprimer le 2ème 0 ?

Merci.

int BP=3;
int buttonPushCounter = 0;
int buttonState = 0;
int lastButtonState = 0;
int val;

void setup()
{
pinMode(BP,INPUT);
digitalWrite(BP1,LOW);
}

void loop()
{
  buttonState = digitalRead(BP);
  if (buttonState != lastButtonState) 
  {
    if (buttonState == HIGH) 
    {
      buttonPushCounter++; 
      lcd.setCursor(8, 2); lcd.print(buttonPushCounter,DEC);
      if(buttonPushCounter3 >9)
      {
      buttonPushCounter = 0;  
      val = buttonPushCounter; 
      lcd.setCursor(8, 2); lcd.print(val);      
      }      
    }
    lastButtonState = buttonState;
  }

}

j'ai pas lu le code mais un souci fréquent c'est quand vous passez de 10 à 9 vous n'effacez pas le 0 du 10 et donc vous voyez lors de l'affichage de 9,8,7,6,5,4,3,2,1,0. ==> 90, 80, 70, 60, 50, 40, 30, 20,10 et 00

La solution c'est d'effacer le nombre en entier avant d'afficher le nouveau (sans effacer tout l'écran)


:warning:

Post mis dans la mauvaise section, on parle anglais dans les forums généraux. ➜ déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans "Les bonnes pratiques du Forum Francophone”

If google translate has worked for me, and I understand your question, maybe try:

void loop()
{
  buttonState = digitalRead(BP);
  if (buttonState != lastButtonState) 
  {
    if (buttonState == HIGH) 
    {
        buttonPushCounter++; 
        if(buttonPushCounter >9) buttonPushCounter = 0;  
        lcd.setCursor(8, 2);
        lcd.print(buttonPushCounter);      
      }      
    }
    lastButtonState = buttonState;
  }
}

Un grand merci, ça fonctionne

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.