Arduino Forum

International => Français => Topic started by: Jeremie_Dem on Jun 12, 2019, 02:15 pm

Title: Affichage LCD
Post by: Jeremie_Dem on Jun 12, 2019, 02:15 pm
Bonjour, nous somme débutants en arduino et nous rencontrons des soucis avec le code. Ce que l'on veut c'est que lorsque l'on appuie sur le bouton un petit rectangle blanc apparaissent sur l'écran LCD, et que plus on appuie sur le bouton plus il y aura de rectangle blanc à la suite ce qui nous fera une espèce de barre de progression.
Code: [Select]
#include <LiquidCrystal.h>


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int win = 16;
int score;
int switchState = 0;
byte smiley[8] = {
  B111111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
};





void setup() {
  // put your setup code here, to run once:
  pinMode(7, INPUT);
score = 0;
  lcd.begin(16, 2); 
if (win = score){
  score = 0;
  }
 

}

void loop() {
  // put your main code here, to run repeatedly:
  switchState = digitalRead(7);


if (switchState == HIGH) {
  score+1;
  }
  if (score = 1){
    lcd.createChar(0, smiley);
  lcd.createChar(1, smiley);

  lcd.write(byte(0));

    }

    else {
 
      }
 
}
Title: Re: Affichage LCD
Post by: dbrion06 on Jun 12, 2019, 02:29 pm
if (win = score){
  score = 0;
  }
devient très avantageusement
Code: [Select]

if (win == score){ // l'affectation n'est pas l'égalité!
  score = 0;
  }


Mêmes défauts pour   if (score = 1){ // meettre (score == 1) ou (1 == score), la seconde mouture permet de detecter des fautes de frappe....

  score+1; devient (je ne sais pas si le compilateur gémit ou blémit)
Code: [Select]

score++;


JE ne prétends pas être exhaustif, mais je pense que ce sera un peu moins bizarre après...
Title: Re: Affichage LCD
Post by: lesept on Jun 12, 2019, 05:29 pm
Il existe des bibliothèques toutes faites pour afficher des barres de progression sur un LCD : voir ce topic (https://forum.arduino.cc/index.php?topic=180678.0) et les réponses.