Bonjour à tous
Donc voila je suis sur un projet qui m'est paru assez simple à première vue mais auquel je tourne en rond depuis plusieurs heures
le cahier de charge de ce projet est le suivant:
nous avons quatre variables A,B,C,D auxquels nous devons insérer des valeurs comprises entre 10 jusqu'à 500 et les enregistrer en appuyant sur '#' via un clavier 4*4 le tout affiché sur un lcd i2c
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(32,16,2);
//#include<EEPROM.h>
//const byte eepromFirstUsageToken = 170;
#include <Keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 4; //three columns
char keys[ROWS][COLS] = {
{'D','#','0','*'},
{'C','9','8','7'},
{'B','6','5','4'},
{'A','3','2','1'}
};
byte rowPins[ROWS] = {6, 8, 9, 10};
byte colPins[COLS] = {2, 3, 4, 5};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
int a;
int b;
int c;
int d;
int val=0;
void setup()
{
lcd.begin(16,2);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print(" BONJOUR");
lcd.setCursor(0, 1);
lcd.print(" ARDUINO");
Serial.begin(9600);
}
void loop()
{
char cr = keypad.getKey();
switch (cr) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
val = 10 * val + (cr - '0');}
if(cr=='*'){val=0;}
if(cr=='A'){
a=val;
if(cr=='#'){EEPROM.put(0, a); }
val=0;
lcd.clear();lcd.setCursor(0, 0);lcd.print("VALEUR DE A");
lcd.setCursor(0, 1); lcd.print(" =="); lcd.print(a);
}
if(cr=='B'){
b=val;
if(cr=='#'){EEPROM.put(0, b); }
val=0;
lcd.clear();lcd.setCursor(0, 0);lcd.print("VALEUR DE B");
lcd.setCursor(0, 1); lcd.print(" =="); lcd.print(b);
}
if(cr=='C'){
c=val;
if(cr=='#'){EEPROM.put(0, c); }
val=0;
lcd.clear();lcd.setCursor(0, 0);lcd.print("VALEUR DE C");
lcd.setCursor(0, 1); lcd.print(" =="); lcd.print(c);
}
if(cr=='D'){
d=val;
if(cr=='#'){EEPROM.put(0, d); }
val=0;
lcd.clear();lcd.setCursor(0, 0);lcd.print("VALEUR DE D");
lcd.setCursor(0, 1); lcd.print(" =="); lcd.print(d);
}
}