#include <LiquidCrystal_I2C.h>
#define BUTTON 7
LiquidCrystal_I2C lcd (0x27, 20, 4);
void setup() {
Serial.begin(9600);
//Serial.println("Début du programme :)");
lcd.begin(20, 4);
pinMode(BUTTON, INPUT);
lcd.print("-------------------");
lcd.setCursor(0,1);
lcd.print("Appuyer sur le btn");
lcd.setCursor(0,2);
lcd.print("pour continuer");
lcd.setCursor(0,3);
lcd.print("-------------------");
//int etatBtn = digitalRead(BUTTON);
/*while(digitalRead(BUTTON) == 0);
delay(5);*/
while (!digitalRead(BUTTON));
delay(5);
while (digitalRead(BUTTON));
delay(5);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("T.ECOULE:");
}
void loop() {
int nbSecondes = (millis() / 1000) %60;
int nbMinutes = (millis() / 60000) %60;
int nbHeures = (millis() / 3600000) %24;
int nbJours = (millis() / 86400000) %365;
//static unsigned long int i = 0;
//unsigned long int milliSecondes = millis();
//int temperature = 22;
const int CHAINE_MAX_CHAR = (20+1);
//const char MSG_VALEUR[] = "i vaut : ";
char uneChaine[CHAINE_MAX_CHAR];
//"i vaut ??"
lcd.setCursor(9,0);
snprintf(uneChaine,
CHAINE_MAX_CHAR,
"%02d:%02d:%02d:%02d",
nbJours,
nbHeures,
nbMinutes,
nbSecondes);
//snprintf = sprintf mais avec un nombre maximum --> evite les buffler overflow ('n' EST LA DIFFÉRENCE)
//snprintf(uneChaine, CHAINE_MAX_CHAR, "i vaut %010lu, \n", i );
lcd.print(uneChaine);
}