Problème LCD

Vos questions pour réaliser vos projets

Problème LCD

Messagepar Sparrounet » Ven 12 Mai 2017 21:16

Bonsoir,
je souhaite réaliser un coupe gâteau automatique. Pour cela, je sélectionne le nombre de parts souhaitées sur un écran LCD de référence Adafruit_RGBLCDShield. Cet écran possède des boutons poussoirs permettant d'augmenter le nombre de parts ainsi que de confirmer ce nombre. Or, lorsque je téléverse mon programme, l'écran s'allume, on voit "Nombre Parts : 2", mais impossible d'augmenter ce nombre, et je ne vois pas le problème. De plus, le programme contrôle également un moteur, mettant en rotation la plateau. Je vous laisse y jeter un œil afin de repérer une quelconque faute :
Code: Tout sélectionner

#include <Wire.h>
#include <Adafruit_RGBLCDShield.h>
#include <utility/Adafruit_MCP23017.h>

Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield();
 
#define RED 0x1
#define YELLOW 0x3
#define GREEN 0x2
#define TEAL 0x6
#define BLUE 0x4
#define VIOLET 0x5
#define WHITE 0x7
#define maSortie       

int DirB = 8;
int BrakeB = 13;
int nbrPart = 1;
int I=0;


void setup() {
 
 
     
  lcd.begin(16, 2);         
  int time = millis();   
  lcd.print("Nbre parts : ");       


  pinMode(DirB,OUTPUT);
  pinMode(BrakeB,OUTPUT);
  }

void loop() {
    lcd.setCursor(0, 1);
 
 
  uint8_t buttons = lcd.readButtons();

  if (buttons) {
    lcd.clear();
    lcd.setCursor(0,0);
   
    if (buttons & BUTTON_LEFT) {
      nbrPart= nbrPart +1;
      if (nbrPart > 10) {
      nbrPart= 2;
      }
     
      delay(200);
     
     
     lcd.print("Nbre parts = ");
     lcd.print(nbrPart);
     
     
    }
    if (buttons & BUTTON_SELECT) {
       lcd.print("Nbre parts validé");
    }
   }
  if (nbrPart==2) {
   while(I < nbrPart){
    digitalWrite(DirB, HIGH);
    digitalWrite(BrakeB, LOW);
    delay(2431);
    digitalWrite(DirB, LOW);
    digitalWrite(BrakeB, LOW);
    I=I+1;
  }
  }
 if (nbrPart==3) {
    while(I < nbrPart){
    digitalWrite(DirB, HIGH);
    digitalWrite(BrakeB, LOW);
    delay(2161);
    digitalWrite(DirB, LOW);
    digitalWrite(BrakeB, LOW);
    I=I+1;
  }
 }
 if (nbrPart==4) {
    while(I < nbrPart){
    digitalWrite(DirB, HIGH);
    digitalWrite(BrakeB, LOW);
    delay(2026);
    digitalWrite(DirB, LOW);
    digitalWrite(BrakeB, LOW);
    I=I+1;
  }
 }
 if (nbrPart==5) {
    while(I < nbrPart){
    digitalWrite(DirB, HIGH);
    digitalWrite(BrakeB, LOW);
    delay(1945);
    digitalWrite(DirB, LOW);
    digitalWrite(BrakeB LOW);
    I=I+1;
  }
 }
 if (nbrPart==6){
    while(I < nbrPart){
    digitalWrite(DirB, HIGH);
    digitalWrite(BrakeB, LOW);
    delay(1891);
    digitalWrite(DirB, LOW);
    digitalWrite(BrakeB, LOW);
    I=I+1;
    }
 }
 if (nbrPart==7) {
    while(I < nbrPart){
    digitalWrite(DirB, HIGH);
    digitalWrite(BrakeB, LOW);
    delay(1853);
    digitalWrite(DirB, LOW);
    digitalWrite(BrakeB, LOW);
    I=I+1;
  }
 }
 if (nbrPart==8) {
    while(I < nbrPart){
    digitalWrite(DirB, HIGH);
    digitalWrite(BrakeB, LOW);
    delay(1823);
    digitalWrite(DirB, LOW);
    digitalWrite(BrakeB, LOW);
    I=I+1;
  }
 }
 if (nbrPart==9) {
    while(I < nbrPart){
    digitalWrite(DirB, HIGH);
    digitalWrite(BrakeB, LOW);
    delay(1801);
    digitalWrite(DirB, LOW);
    digitalWrite(BrakeB, LOW);
    I=I+1;
  }
 }
 if (nbrPart==10) {
    while(I < nbrPart){
    digitalWrite(DirB, HIGH);
    digitalWrite(BrakeB, LOW);
    delay(1783);
    digitalWrite(DirB, LOW);
    digitalWrite(BrakeB, LOW);
    I=I+1;
  }
}
 I=0;
 }
Sparrounet
 
Messages: 1
Inscription: Ven 12 Mai 2017 20:41

Retourner vers Vos projets

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité