Просмотр исходного кода

Modification soft ajout de l'arrosage automatique

rcluze 5 лет назад
Родитель
Сommit
0c67354a70
2 измененных файлов с 78 добавлено и 56 удалено
  1. 32 19
      Soft/BOX/BOX.ino
  2. 46 37
      Soft/Mere/Mere.ino

+ 32 - 19
Soft/BOX/BOX.ino

@@ -164,17 +164,17 @@ void loop() {
   SolBas = !digitalRead(HumidSolBas);
   SolHaut = !digitalRead(HumidSolHaut);
 
-/*
-Serial.println(digitalRead(interType));
-Serial.println(digitalRead(interLum));
-Serial.println(digitalRead(interONExt));
-Serial.println(digitalRead(interONVentil));
-Serial.println(digitalRead(interOFFExt));
-Serial.println(digitalRead(interONAro));
-Serial.println(digitalRead(interONVid));
-Serial.println(digitalRead(interOFFAro));
-Serial.println(digitalRead(inter9));
-Serial.println(digitalRead(inter10));*/
+  /*
+    Serial.println(digitalRead(interType));
+    Serial.println(digitalRead(interLum));
+    Serial.println(digitalRead(interONExt));
+    Serial.println(digitalRead(interONVentil));
+    Serial.println(digitalRead(interOFFExt));
+    Serial.println(digitalRead(interONAro));
+    Serial.println(digitalRead(interONVid));
+    Serial.println(digitalRead(interOFFAro));
+    Serial.println(digitalRead(inter9));
+    Serial.println(digitalRead(inter10));*/
 
   //RTC
   bool h24, am;
@@ -255,17 +255,17 @@ Serial.println(digitalRead(inter10));*/
   /*if (digitalRead(interType) == 0 & hum > 75) {
     Serial.println("interType est en croi et plus de 75% d'hum");
     humExtract = 1;
-  }
-  else if ( digitalRead(interType) == 1 & hum > 60) {
+    }
+    else if ( digitalRead(interType) == 1 & hum > 60) {
     Serial.println("interType est en flo et plus de 60 % d'hum");
     humExtract = 1;
-  }
-  else if ( digitalRead(interType) == 0 & hum < 73) {
+    }
+    else if ( digitalRead(interType) == 0 & hum < 73) {
     humExtract = 0;
-  }
-  else if ( hum < 58) {
+    }
+    else if ( hum < 58) {
     humExtract = 0;
-  }*/
+    }*/
 
 
   if ((minu == 0 | minu == 1 | tmpExtract | humExtract | digitalRead(interONExt)) & digitalRead(interOFFExt)) {
@@ -295,9 +295,22 @@ Serial.println(digitalRead(inter10));*/
   /***********************************************************************
     Gestion de l'arrosage
   * *********************************************************************/
+  if (digitalRead(inter9)) {
+    digitalWrite(Arro1, LOW);
+  }
+  else {
+    digitalWrite(Arro1, HIGH);
+  }
+  if (digitalRead(inter10)) {
+    digitalWrite(Arro2, LOW);
+  }
+  else {
+    digitalWrite(Arro2, HIGH);
+  }
+
+
   /* if ((SolBas | SolHaut) & digitalRead(interOFFAro) == 0 & digitalRead(interONAro) == 0) {
      Serial.println("Arrosage");
-     digitalWrite(Arro1, LOW);
      digitalWrite(Arro2, LOW);
      delay(delaySecArro * 1000 );
      digitalWrite(Arro1, HIGH);

+ 46 - 37
Soft/Mere/Mere.ino

@@ -3,29 +3,32 @@
 #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)
+#define HAro 1050 //Heure d'arrosage en minute (=17H)
+
 
 /*****************************************************************
    Déclaration des Capteurs
  *****************************************************************/
 //relay Lumiere
-const int Double      = 2;
+const int Double      = 5;
 
 //relay Arrosage
-const int Arro    = 5;
+const int Arro    = 4;
+
+//relay aditionnel
+const int add = 3;
 
 //relay Ventilation
-const int Ventil  = 6;
+const int Ventil  = 2;
 /*
-//Interrupteur
-const int interLumBas  = 6; //inter Lumiere bas ON/OFF
-const int interLumOff  = 7; //inter Lumiere OFF
-const int interVentAuto  = 8; //inter Ventilation ON/Auto
-const int interVentOff  = 9; //inter Ventilation OFF
-const int interArroAuto  = 10;//inter Arro ON/Auto
-const int interArroOff  = 11;//inter Arro OFF
-const int inter7  = 12;*/
+  //Interrupteur
+  const int interLumBas  = 6; //inter Lumiere bas ON/OFF
+  const int interLumOff  = 7; //inter Lumiere OFF
+  const int interVentAuto  = 8; //inter Ventilation ON/Auto
+  const int interVentOff  = 9; //inter Ventilation OFF
+  const int interArroAuto  = 10;//inter Arro ON/Auto
+  const int interArroOff  = 11;//inter Arro OFF
+  const int inter7  = 12;*/
 
 //RTC
 DS3231 Clock;
@@ -44,7 +47,10 @@ int tmpExtract, humExtract;
 int extract;
 
 //Variabe Arrosage
-int HfinAro = 0;
+unsigned long HfinAro;
+unsigned long TAro = 10000; //Temps d'arrosage en milliseconds (=10Sec)
+int Nonarro = 1;
+
 /***********************************************************************
      Setup
  **********************************************************************/
@@ -57,15 +63,15 @@ void setup() {
   * *********************************************************************/
   //PIN Lumiere
   pinMode(Double, OUTPUT);
-   digitalWrite(Double, HIGH);
+  digitalWrite(Double, HIGH);
 
   //Pin ventilation
   pinMode(Ventil, OUTPUT);
-   digitalWrite(Ventil, HIGH);
+  digitalWrite(Ventil, HIGH);
 
   //Pin Arrosage
   pinMode(Arro, OUTPUT);
-   digitalWrite(Arro, HIGH);
+  digitalWrite(Arro, HIGH);
 
 
   /***********************************************************************
@@ -86,9 +92,9 @@ void loop() {
   bool h24, am;
   int heure = Clock.getHour(h24, am );
   int minu = Clock.getMinute();
-   
+
   int HMin = heure * 60 + minu; // heure en minute
-  
+
   Serial.println(HMin);
 
   /***********************************************************************
@@ -96,27 +102,29 @@ void loop() {
    * *********************************************************************
   */
   if (newDay == 1) {
+    Nonarro = 1;
     newDay = 0;
-    HA = random (585, 615);
-    HE = HA + 1065 + random(30);
+    HA = random (232, 247);
+    HE = HA + 1065 + random(15);
   }
 
   if (HMin == 0) {
     newDay = 1;
+    Nonarro = 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(Double, LOW);
-    }
-    /*else {
-      Serial.println("Lumiere haut ON");
-      digitalWrite(Haut, LOW);
+    // if (interLumBas) {
+    //Serial.println("Double lumiere ON");
+    digitalWrite(Double, LOW);
+  }
+  /*else {
+    Serial.println("Lumiere haut ON");
+    digitalWrite(Haut, LOW);
     }
-  }*/
+    }*/
   else {
-    Serial.println("Lumiere Eteint");
+    //Serial.println("Lumiere Eteint");
     digitalWrite(Double, HIGH);
   }
 
@@ -125,26 +133,27 @@ void loop() {
     Gestion de l'extraction
   * *********************************************************************/
   if (minu >= 50) {
-    Serial.println("Extracteur ON");
+    //Serial.println("Extracteur ON");
     digitalWrite(Ventil, LOW);
   }
   else {
-    Serial.println("Extracteur OFF");
+    //Serial.println("Extracteur OFF");
     digitalWrite(Ventil, HIGH);
   }
 
   /***********************************************************************
     Gestion de l'arrosage
   * *********************************************************************/
-  if (HMin == HAro ) {
+
+  if (HMin == HAro & Nonarro) {
     Serial.println("arro ON");
     digitalWrite(Arro, LOW);
-    int HfinAro = millis();
-
+    HfinAro = millis();
+    Nonarro = 0;
   }
 
-  if (HfinAro < (millis()+ TAro)){
-    Serial.println("arro ON");
+  if (millis() - HfinAro >= TAro) {
+    Serial.println("arro OFF");
     digitalWrite(Arro, HIGH);
   }