mich29800

pompe arrosage

Apr 4th, 2021 (edited)
634
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define pompe1 13
  2. unsigned long temppompe1; //variable temps tempo 1
  3. unsigned long tempopompe1; //variable tempo 1
  4. int humidite1;  //valeur humidité1 lue
  5. int humidite1_bas=300;  //valeur mini
  6. int humidite1_haut=800; //valeur max
  7. byte etatpompe1=0;
  8.  
  9. void setup() {Serial.begin(9600);}
  10.  
  11. void loop()
  12. {
  13. humidite1=analogRead(A0);
  14. switch (etatpompe1)
  15. {
  16.   case 0:  // attente que l'humidité soit redescendue en dessous de la valeur basse
  17.   {if (humidite1<humidite1_bas){etatpompe1=1;temppompe1=millis();tempopompe1=30000;}
  18.   break;}
  19.   case 1: // mise en route de la pompe pendant 30 s
  20.    {digitalWrite(pompe1,HIGH);
  21.    if ((millis()-temppompe1)>tempopompe1)
  22.    {digitalWrite(pompe1,LOW);etatpompe1=2;}
  23.   break;}
  24.   case 2 : // si l'humidité est > à la valeur haute, on revient en etat 0, sinon on va à l'état 3
  25.    {if (humidite1<humidite1_haut){etatpompe1=3;temppompe1=millis();tempopompe1=300000;}
  26.     else {etatpompe1=0;}
  27.   break;}
  28.   case 3: // temporisation de 5 mn avant de retourner à l'état 1
  29.    {if ((millis()-temppompe1)>tempopompe1){etatpompe1=1;}
  30.   break;}
  31. default :
  32. {}
  33. }
  34. Serial.print(etatpompe1);
  35. Serial.print("  ");
  36. Serial.println(humidite1);
  37. }
Add Comment
Please, Sign In to add comment