MANUPAT
37
void loop(){
buttonState = digitalRead(buttonPin); // lit l'état actuel du bouton poussoir et le mémorise dans la variable
// compare l'état actuel du bouton poussoir à l'état précédent mémorise
if (buttonState != lastButtonState) { // si l'état du bouton poussoir a changé et est BAS, on incrémente la variable de comptage
if (buttonState == LOW) { // si l'état actuel du bouton est HAUT, il est passé de HAUT à BAS
variable_etat++;
}
lastButtonState = buttonState; //mémorise l'état courant du bouton poussoir pour les prochains passages dans la boucle loop
}
//Affichage de l'heure
DateTime now = RTC.now();
//Affichage HEURE ------------------------------------------------------
lcd.setCursor(12, 0);
lcd.print(now.hour());
lcd.print(":");
if (now.minute() < 10) {
lcd.print("0");
}
lcd.print(now.minute());
lcd.print(":");
if (now.second() < 10) {
lcd.print("0");
}
lcd.print(now.second());
//Affichage DATE ------------------------------------------------------
lcd.setCursor(0, 0);
if (now.day() < 10) {
lcd.print("0");
}
lcd.print(now.day());
lcd.print(" ");
switch (now.month()) {
case 1:
lcd.print("JAN");
break;
...
case 12:
lcd.print("DEC");
break;
}
lcd.print(" ");
lcd.print(now.year());
lcd.cursor_off();
lcd.blink_off();
// 3 états possibles en fonction de bouton poussoir
if (variable_etat == 0) {
// Serial.println("etat programme");
if(now.hour() == 9 && now.minute() < 30) {
PompeON();
Cligno_LED();
Affichage_cligno1();
lcd.setCursor(0,2);
lcd.print(" 9h->9h30 ");
}
if(now.hour() == 9 && now.minute() >= 30) {
PompeOFF();
LED_OFF();
lcd.setCursor(0,2);
lcd.print("9h30->10h ");
}
...
if(now.hour() == 17 || now.hour() == 18 || now.hour() == 19 || now.hour() == 20) {
PompeON();
Cligno_LED();
Affichage_cligno1();
lcd.setCursor(0,2);
lcd.print(" 17h->21h ");
}
if(now.hour() == 21 || now.hour() == 22 || now.hour() == 23 || now.hour() == 00 || now.hour() == 1 || now.hour() == 2 || now.hour() == 3 || now.hour() == 4 || now.hour() == 5 || now.hour() == 6 || now.hour() == 7 || now.hour() == 8) {
PompeOFF();
LED_OFF();
lcd.setCursor(0,2);
lcd.print(" 21h->9h ");
}
}
if (variable_etat == 1) {
//Serial.println("etat pompe ON");
PompeON_Force();
Cligno_LED1();
Affichage_cligno2();
}
if (variable_etat == 2) {
//Serial.println("etat pompe OFF");
PompeOFF_Force();
LED_OFF();
}
if (variable_etat > 2) {
variable_etat=0;
}
}