Arduino ecran lcd

Fermé
BQuent1 Messages postés 14 Date d'inscription dimanche 16 décembre 2018 Statut Membre Dernière intervention 31 octobre 2020 - 3 août 2019 à 15:44
 Evilfalcon - 5 août 2019 à 11:33
Bonjour, j'ai fais un circuit Arduino comportant un écran LCD de 16 par 2 et deux boutons. Le premier bouton sert à démarrer le jeu et le timmer de 30 secondes, le second sert à marquer des points un par un. Je n'ai pas de problème avec le timmer mais rien ne s'affiche quand j'appuie sur le bouton pour marquer les points. Voici le code que j'ai fait:

#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
int switchState = 0;
int bouton = 0;

void setup (){
  pinMode(2, INPUT);
  lcd.begin(16,2);
  
 
}

void loop() {
  int baskets = 0;
  int t = 30;
  boolean start_game = false;
  lcd.setCursor(0, 0);
  lcd.print("Appuie pour ");
  lcd.setCursor(0, 1);
  lcd.print("jouer    ; )");


  switchState = digitalRead(7);
  if(switchState == HIGH){
    lcd.clear();
    start_game = true; 
    
  } 
  
  if (start_game) {
  
  while (t > 0) {
    lcd.setCursor(0, 0);
    lcd.print("Temps : ");
    lcd.print(t);
    lcd.setCursor(11, 0);
    lcd.print("sec");
    delay(1000);
    t--;
    lcd.clear();
  }


  bouton = digitalRead(8);
  if(bouton == HIGH){
    baskets++; 
    lcd.setCursor(0, 1);
    lcd.print("Points : ");
    lcd.print(baskets);
  }

  }

   
  if  (t == 0){
  lcd.clear();
  lcd.setCursor(4, 0);
  lcd.print("STOP !!!");
  lcd.setCursor(3, 1);
  lcd.print("Score : ");
  lcd.print(baskets);
  delay(7000);
  lcd.clear();
  
}


}  
A voir également:

1 réponse

Bonjour,

Ça fait longtemps que je n'ai pas touché à de l'arduino, je vais peut être dire un bêtise.
Mais es tu sur que la fonction 'digitalRead' te retourne un INT, et pas un BOOL.

Cordialement
0