Commit a9e26cd0 authored by Mamadou diallo's avatar Mamadou diallo

improve lcd and encoder

parent 35b967f9
......@@ -6,7 +6,7 @@
#include <LiquidCrystal_I2C.h>
// 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 //////////////////////////////////////
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment