Je vous envoie le code en entier, désolé pour le bazar, la non-optimisation et le reste…
#include <ColorLCDShield.h>
#define C_COLOR BLUE
#define BACKGROUND BLACK
#define S_COLOR WHITE
#define HOURS 8
#define MINUTES 29
#define SECONDS 00
#define AMPM 0
LCDShield lcd;
int bouton[3] = {3, 4, 5}; // S1 = 3, S2 = 4 et S3 = 5
int position = 0;
int ssmenu = 0;
int hours, minutes, seconds, ampm;
void setup()
{
Serial.begin(9600);
for ( int i=0; i<3; i++)
{
pinMode(bouton*, INPUT);*
_ digitalWrite(bouton*, HIGH);_
_ }*_
* hours = HOURS;*
* minutes = MINUTES;*
* seconds = SECONDS;*
* ampm = AMPM;*
* lcd.init(PHILIPS);*
* lcd.clear(BLACK);*
* lcd.setStr(“Menu”, 2, 50, C_COLOR, BACKGROUND);
_ lcd.setRect(5, 85, 18, 49, 5, WHITE);_
lcd.setStr(“1.Medicaments”, 35, 0, S_COLOR, BACKGROUND);
lcd.setStr(“2.Reglages”, 55, 0, S_COLOR, BACKGROUND);
lcd.setStr(“3.Eteindre”, 75, 0, S_COLOR, BACKGROUND);*
}
void loop()
{
* if(ssmenu == 0)*
* {*
* if(!digitalRead(bouton[2]))*
* Medicaments();*
* if(!digitalRead(bouton[1]))*
* Reglages();*
* if(!digitalRead(bouton[0]))*
* Eteindre();*
* }*
* if(ssmenu == 1)*
* {*
* if(!digitalRead(bouton[2]))*
* Medicaments();*
* if(!digitalRead(bouton[1]))*
* Reglages();*
* if(!digitalRead(bouton[0]))*
* Eteindre();*
* }*
* if(ssmenu == 101 )*
* {*
* if(!digitalRead(bouton[2]))*
* {*
* }*
* if(!digitalRead(bouton[1]))*
* Medicaments();*
* if(!digitalRead(bouton[0]))*
* Stock2();*
* }*
* if(ssmenu == 1001)*
* {*
* if(!digitalRead(bouton[2]))*
* {}*
* }*
* if(ssmenu == 102)*
* {*
* if(!digitalRead(bouton[2]))*
* {*
* }*
* if(!digitalRead(bouton[1]))*
* Medicaments();*
* if(!digitalRead(bouton[0]))*
* Stock3();*
* }*
* if(ssmenu == 103)*
* {*
* if(!digitalRead(bouton[2]))*
* {*
* }*
* if(!digitalRead(bouton[1]))*
* Suivant();*
* if(!digitalRead(bouton[0]))*
* ReglageJour();*
* }*
* if(ssmenu == 104)*
* {}*
* if(!digitalRead(bouton[2]))*
* {}*
* if(!digitalRead(bouton[1]))*
* {}*
* if(!digitalRead(bouton[0]))*
* {}*
* if(ssmenu == 2) //Medicaments*
* {*
* if(!digitalRead(bouton[2]))*
* Stock1();*
* if(!digitalRead(bouton[1]))*
* Stock2();*
* if(!digitalRead(bouton[0]))*
* Suivant();*
* }*
* if(ssmenu == 3)*
* {*
* if(!digitalRead(bouton[2]))*
* Stock3();*
* if(!digitalRead(bouton[1]))*
* Reglages();*
* if(!digitalRead(bouton[0]))*
* Menu();*
* } *
if(ssmenu == 4)
* {*
* if(!digitalRead(bouton[2]))*
* DateHeure();*
* if(!digitalRead(bouton[1]))*
* {}*
if(!digitalRead(bouton[0]))
* Menu();*
* }*
}
void afficherHeure ()
{
* hours++;*
* if (hours == 12)*
* ampm ^= 1;*
* if (hours >= 24)*
* hours = 1;*
}
void afficherMinute ()
{
}
void Menu()
{
* afficherHeure(5, 85, C_COLOR)
_ lcd.clear(BLACK); _
lcd.setStr(“Menu”, 2, 50, C_COLOR, BACKGROUND);
_ lcd.setRect(5, 85, 18, 49, 5, WHITE);_
lcd.setStr(“1.Medicaments”, 35, 0, S_COLOR, BACKGROUND);
lcd.setStr(“2.Reglages”, 55, 0, S_COLOR, BACKGROUND);
lcd.setStr(“3.Eteindre”, 75, 0, S_COLOR, BACKGROUND);
_ ssmenu = 1;*_
}
void Medicaments()
{
lcd.clear(BLACK);
lcd.setStr(“Medicaments”, 2, 20, C_COLOR, BACKGROUND);
lcd.setRect(5, 112, 18, 18, 5, WHITE);
lcd.setStr(“1.Stock 1”, 35, 0, S_COLOR, BACKGROUND);
lcd.setStr(“2.Stock 2”, 55, 0, S_COLOR, BACKGROUND);
lcd.setStr(“3.Suivant”, 75, 0, S_COLOR, BACKGROUND);
* ssmenu = 2;*
* }*
void Stock1()
{
* lcd.clear(BLACK);*
* lcd.setStr(“Stock 1”, 2, 35, C_COLOR, BACKGROUND);
_ lcd.setRect(5, 94, 18, 33, 5, WHITE);_
lcd.setStr(“1.Combien ?”,35, 0, S_COLOR, BACKGROUND);
lcd.setStr(“2.Retour”, 55, 0, S_COLOR, BACKGROUND);
lcd.setStr(“3.Stock Suivant”, 75, 0, S_COLOR, BACKGROUND);
_ ssmenu = 101;_
_}_
void Stock2()
_{_
lcd.clear(BLACK);
lcd.setStr(“Stock 2”, 2, 35, C_COLOR, BACKGROUND);
lcd.setRect(5, 94, 18, 33, 5, WHITE);
lcd.setStr(“1.Combien ?”,35, 0, S_COLOR, BACKGROUND);
lcd.setStr(“2.Retour”, 55, 0, S_COLOR, BACKGROUND);
lcd.setStr(“3.Stock Suivant”, 75, 0, S_COLOR, BACKGROUND);
ssmenu = 102;
_}_
void Suivant()
_{_
_ lcd.clear(BLACK);_
lcd.setStr(“Suivant”, 2, 35, C_COLOR, BACKGROUND);
_ lcd.setRect(5, 94, 18, 33, 5, WHITE);_
lcd.setStr(“1.Stock 3”, 35, 0, S_COLOR, BACKGROUND);
lcd.setStr(“2.Reglages Jours”, 55, 0, S_COLOR, BACKGROUND);
lcd.setStr(“3.Menu”, 75, 0, S_COLOR, BACKGROUND);*
ssmenu = 3;
}
void Reglages()
{
* lcd.clear(BLACK);*
* lcd.setStr(“Reglages”, 2, 35, C_COLOR, BACKGROUND);
lcd.setStr(“1.Date & Heure”, 35, 0, S_COLOR, BACKGROUND);
_ lcd.setRect(5, 35, 18, 102, 5, WHITE);_
lcd.setStr(“2.Projet…”, 55, 0, S_COLOR, BACKGROUND);
lcd.setStr(“3.Menu”, 75, 0, S_COLOR, BACKGROUND);*
* ssmenu = 4;*
}
void Stock3()
{
lcd.clear(BLACK);
lcd.setStr(“Stock 3”, 2, 32, C_COLOR, BACKGROUND);
lcd.setRect(5, 94, 18, 34, 5, WHITE);
lcd.setStr(“1.Combien ?”,35, 0, S_COLOR, BACKGROUND);
lcd.setStr(“2.Retour”, 55, 0, S_COLOR, BACKGROUND);
lcd.setStr(“3.Reglages Jours”, 75, 0, S_COLOR, BACKGROUND);
* ssmenu = 103;*
}
void ReglageJour()
{
* lcd.clear(YELLOW);*
* ssmenu = 106;*
}
void DateHeure()
{
* lcd.clear(BLACK);*
* lcd.setStr(“Reglages”, 2, 32, C_COLOR, BACKGROUND);
_ lcd.setRect(5, 32, 18, 100, 5, WHITE);_
lcd.setStr(“1.Date”, 35, 0, S_COLOR, BACKGROUND);
lcd.setStr(“2.Heure”, 55, 0, S_COLOR, BACKGROUND);
lcd.setStr(“3.Retour”, 75, 0, S_COLOR, BACKGROUND);
_ ssmenu = 105;*_
}
void Heure()
{
* }*
void Eteindre()
{
* lcd.clear(RED);*
}[/quote]