Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define pompe1 13
- unsigned long temppompe1; //variable temps tempo 1
- unsigned long tempopompe1; //variable tempo 1
- int humidite1; //valeur humidité1 lue
- int humidite1_bas=300; //valeur mini
- int humidite1_haut=800; //valeur max
- byte etatpompe1=0;
- void setup() {Serial.begin(9600);}
- void loop()
- {
- humidite1=analogRead(A0);
- switch (etatpompe1)
- {
- case 0: // attente que l'humidité soit redescendue en dessous de la valeur basse
- {if (humidite1<humidite1_bas){etatpompe1=1;temppompe1=millis();tempopompe1=30000;}
- break;}
- case 1: // mise en route de la pompe pendant 30 s
- {digitalWrite(pompe1,HIGH);
- if ((millis()-temppompe1)>tempopompe1)
- {digitalWrite(pompe1,LOW);etatpompe1=2;}
- break;}
- case 2 : // si l'humidité est > à la valeur haute, on revient en etat 0, sinon on va à l'état 3
- {if (humidite1<humidite1_haut){etatpompe1=3;temppompe1=millis();tempopompe1=300000;}
- else {etatpompe1=0;}
- break;}
- case 3: // temporisation de 5 mn avant de retourner à l'état 1
- {if ((millis()-temppompe1)>tempopompe1){etatpompe1=1;}
- break;}
- default :
- {}
- }
- Serial.print(etatpompe1);
- Serial.print(" ");
- Serial.println(humidite1);
- }
Add Comment
Please, Sign In to add comment