Arduino ecran lcd

Messages postés
6
Date d'inscription
dimanche 16 décembre 2018
Statut
Membre
Dernière intervention
3 août 2019
- - Dernière réponse :  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();
  
}


}  
Afficher la suite 

1 réponse

0
Merci
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
Commenter la réponse de Evilfalcon