From a9e26cd02d0901944aedb2b9385188cd861c4e6a Mon Sep 17 00:00:00 2001 From: Mamadou diallo Date: Fri, 13 Jul 2018 19:56:54 +0000 Subject: [PATCH] improve lcd and encoder --- Khomi-auto-3.ino | 43 ++++++++++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/Khomi-auto-3.ino b/Khomi-auto-3.ino index ec12dfd..0476c12 100644 --- a/Khomi-auto-3.ino +++ b/Khomi-auto-3.ino @@ -6,7 +6,7 @@ #include // Definition des pins des capteurs et actionneurs -#define capteur_hum_sol A0 //capteur humidite sol a connecter sur le A0 +#define capteur_hum_sol A1 //capteur humidite sol a connecter sur le A0 #define pin_hum_sol 2 //connecter le + du capteur humidite sol #define pompe 3 //connecter le S du relais sur la pin 3, il controle la pompe #define electrovanne 4 //connecter le S du relais sur la pin 4, il controle l'electrovanne @@ -14,8 +14,8 @@ //Déclaration des variables du programme int valeur_hum_sol = 0; // on stocke les valeurs lu par le capteur d'humidité sol -int heure = 0; -int minut = 0; +int heure = 19; +int minut = 9; int Switch = 10; //switch boutton poussoir encoder byte portA = 11; //encoder invertion fritzing 6 @@ -78,22 +78,27 @@ void loop () // on lit l'heure sur le rtc DateTime now = rtc.now(); //on lance le debug pour verifier si il ya pas de probleme - //Debug(); + // Debug(); control(); affiche_lcd(); //on test si il est heure d'arroser - if ((now.hour() == 20 ) && (now.minute() == 02)) + if ((now.hour() == heure ) && (now.minute() == minut)) { if ( digitalRead(capteur_reservoir) == 1) // on test si le reservoir d'eau est remplit { arroser(); + lcd.setCursor(0, 1); + lcd.print("fin arrosage"); + } else // sinon on envoie un message alert que le reservoir est vide { - Serial.print(" le reservoir est vide "); + + lcd.setCursor(0, 1); + lcd.print("reservoir vide"); } } } @@ -146,11 +151,12 @@ void control() { etat_switch = !etat_switch; } - if ( etat_test == B0111 ) + // heure configuration + if (( etat_test == B0111 ) && (etat_switch == 0)) { heure++; } - else if ( etat_test == B1011 ) + else if (( etat_test == B1011 ) && (etat_switch == 0)) { heure--; @@ -159,13 +165,28 @@ void control() { heure = 00; } } + // minute configurration + if (( etat_test == B0111 ) && (etat_switch == 1)) + { + minut++; + } + else if (( etat_test == B1011 ) && (etat_switch == 1)) + { + minut--; + + if ( minut < 0) + { + minut = 00; + } + } + else if (heure == 25) { heure = 00; } else if (minut == 61) { - minut == 00; + minut = 00; } } @@ -184,8 +205,8 @@ void affiche_lcd() lcd.print("M="); lcd.print(minut); - lcd.setCursor(2, 1); - lcd.println(etat_switch); + /* lcd.setCursor(2, 1); + lcd.println(etat_switch);*/ } ////////////////////////////////////// Débug ////////////////////////////////////// -- GitLab