Explorar o código

Changement gestion de l'arrosage

remy %!s(int64=5) %!d(string=hai) anos
pai
achega
b0c50e222a
Modificáronse 1 ficheiros con 20 adicións e 37 borrados
  1. 20 37
      Soft/Mere/Mere.ino

+ 20 - 37
Soft/Mere/Mere.ino

@@ -3,19 +3,20 @@
 #include <DS3231.h>   //RTC DS3231 by andrew wickert
 #include <Wire.h>
 
+#define HAro 1020 //Heure d'arrosage en minute (=17H)
+#define TAro 10000 //Temps d'arrosage en milliseconds (=10Sec)
+
 /*****************************************************************
    Déclaration des Capteurs
  *****************************************************************/
 //relay Lumiere
-const int Haut      = 2;
-const int Bas       = 3;
-
-//relay Ventilation
-const int Ventil  = 4;
+const int Double      = 2;
 
 //relay Arrosage
 const int Arro    = 5;
 
+//relay Ventilation
+const int Ventil  = 6;
 /*
 //Interrupteur
 const int interLumBas  = 6; //inter Lumiere bas ON/OFF
@@ -43,9 +44,7 @@ int tmpExtract, humExtract;
 int extract;
 
 //Variabe Arrosage
-const int delaySecArrosage = 20;
-int HeuArrosage;
-int jourArrosage = 1;
+int HfinAro = 0;
 /***********************************************************************
      Setup
  **********************************************************************/
@@ -57,10 +56,8 @@ void setup() {
     init des pins
   * *********************************************************************/
   //PIN Lumiere
-  pinMode(Haut, OUTPUT);
-   digitalWrite(Haut, HIGH);
-  pinMode(Bas, OUTPUT);
-   digitalWrite(Bas, HIGH);
+  pinMode(Double, OUTPUT);
+   digitalWrite(Double, HIGH);
 
   //Pin ventilation
   pinMode(Ventil, OUTPUT);
@@ -70,16 +67,6 @@ void setup() {
   pinMode(Arro, OUTPUT);
    digitalWrite(Arro, HIGH);
 
-/*
-  //interupteur
-  pinMode(interLumBas, INPUT);
-  pinMode(interLumOff, INPUT);
-  pinMode(interVentAuto, INPUT);
-  pinMode(interVentOff, INPUT);
-  pinMode(interArroAuto, INPUT);
-  pinMode(interArroOff, INPUT);
-  pinMode(inter7, INPUT);*/
-
 
   /***********************************************************************
     init des capteurs
@@ -101,6 +88,7 @@ void loop() {
   int minu = Clock.getMinute();
    
   int HMin = heure * 60 + minu; // heure en minute
+  
   Serial.println(HMin);
 
   /***********************************************************************
@@ -114,15 +102,13 @@ void loop() {
   }
 
   if (HMin == 0) {
-    jourArrosage =1;
     newDay = 1;
   }
 
   if (HMin >= HA & HMin < HE) { //On met en route si on est dans le temps et que l'inter2 est en allumé
    // if (interLumBas) {
       Serial.println("Double lumiere ON");
-      digitalWrite(Bas, LOW);
-      digitalWrite(Haut, LOW);
+      digitalWrite(Double, LOW);
     }
     /*else {
       Serial.println("Lumiere haut ON");
@@ -131,8 +117,7 @@ void loop() {
   }*/
   else {
     Serial.println("Lumiere Eteint");
-    digitalWrite(Bas, HIGH);
-    digitalWrite(Haut, HIGH);
+    digitalWrite(Double, HIGH);
   }
 
 
@@ -151,19 +136,17 @@ void loop() {
   /***********************************************************************
     Gestion de l'arrosage
   * *********************************************************************/
-  if (HMin == 1018 & jourArrosage) {
-    jourArrosage = 0;
+  if (HMin == HAro ) {
     Serial.println("arro ON");
     digitalWrite(Arro, LOW);
-    delay(40000);
-    digitalWrite(Arro, HIGH);
-     Serial.println("arro Off");
-    
-  }
-
-
+    int HfinAro = millis();
 
+  }
 
+  if (HfinAro < (millis()+ TAro)){
+    Serial.println("arro ON");
+    digitalWrite(Arro, HIGH);
+  }
 
-  delay(10000);
+  delay(2000);
 }