Remy 5 лет назад
Родитель
Сommit
5aa367046b
3 измененных файлов с 96 добавлено и 70 удалено
  1. 1 0
      Soft/BOX/.~lock.Capteur.xlsx#
  2. 95 70
      Soft/BOX/BOX.ino
  3. BIN
      Soft/BOX/Capteur.xlsx

+ 1 - 0
Soft/BOX/.~lock.Capteur.xlsx#

@@ -0,0 +1 @@
+,remy,lemien.home,07.01.2021 10:06,file:///home/remy/.config/libreoffice/4;

+ 95 - 70
Soft/BOX/BOX.ino

@@ -10,21 +10,38 @@
  *****************************************************************/
 //relay Lumiere
 const int RougeHaut      = 2;
-const int RougeBas       = 3;
-const int BleuHaut       = 4;
+const int BleuHaut       = 3;
+const int RougeBas       = 4;
 const int BleuBas        = 5;
-const int TousBas        = 6;
-const int TousHaut       = 7;
 
 //relay Ventilation
-const int DehumPin        = 8;
-const int VentilHaut      = 9;
-const int VentilBas       = 10;
-const int Extracteur   = 11;
+const int DehumPin        = 6;
+const int Extracteur      = 7;
+const int VentilHaut      = 8;
+const int VentilBas       = 9;
 
 //relay Arrosage
-const int Arro            = 12;
-const int Evacuation      = 13;
+const int Arro1            = 10;
+const int Arro2            = 11;
+const int Evacuation      = 12;
+
+//Capteur niveau eau
+const int NiveauEauRecup  = 13;
+const int NiveauEauAqua   = 14;
+
+//Capteur Temp
+#define ONE_WIRE_TEMP 15
+OneWire oneWireTemp(ONE_WIRE_TEMP);
+DS18B20 Temp(&oneWireTemp);
+
+//capteur Hum air
+#define DHTTYPE DHT11
+#define DHTPIN 16
+DHT dht(DHTPIN, DHTTYPE);
+
+//Capteur hum sol
+const int HumidSolHaut = 17;
+const int HumidSolBas  = 18;
 
 //interupteur
 const int interType  = 22;
@@ -38,20 +55,6 @@ const int interOFFAro  = 36;
 const int inter9  = 38;
 const int inter10 = 40;
 
-//Capteur Temp
-#define ONE_WIRE_TEMP 14
-OneWire oneWireTemp(ONE_WIRE_TEMP);
-DS18B20 Temp(&oneWireTemp);
-
-//capteur Hum air
-#define DHTTYPE DHT22
-#define DHTPIN 15
-DHT dht(DHTPIN, DHTTYPE);
-
-//Capteur hum sol
-const int HumidSolHaut = 16;
-const int HumidSolBas = 17;
-
 //RTC
 DS3231 Clock;
 
@@ -69,7 +72,7 @@ int tmpExtract = 0, humExtract;
 int extract;
 
 //Variabe Arrosage
-const int delaySecArrosage = 20;
+const int delaySecArro = 20;
 const int delaySecEvacuation = 30;
 int HeuArrosage;
 /***********************************************************************
@@ -87,18 +90,28 @@ void setup() {
   pinMode(RougeBas, OUTPUT);
   pinMode(BleuHaut, OUTPUT);
   pinMode(BleuBas, OUTPUT);
-  pinMode(TousBas, OUTPUT);
-  pinMode(TousHaut, OUTPUT);
+  digitalWrite(RougeHaut, HIGH);
+  digitalWrite(RougeBas, HIGH);
+  digitalWrite(BleuHaut, HIGH);
+  digitalWrite(BleuBas, HIGH);
 
   //Pin ventilation
   pinMode(DehumPin, OUTPUT);
+  pinMode(Extracteur, OUTPUT);
   pinMode(VentilHaut, OUTPUT);
   pinMode(VentilBas, OUTPUT);
-  pinMode(Extracteur, OUTPUT);
+  digitalWrite(DehumPin, HIGH);
+  digitalWrite(Extracteur, HIGH);
+  digitalWrite(VentilHaut, HIGH);
+  digitalWrite(VentilBas, HIGH);
 
   //Pin Arrosage
-  pinMode(Arro, OUTPUT);
+  pinMode(Arro1, OUTPUT);
+  pinMode(Arro2, OUTPUT);
   pinMode(Evacuation, OUTPUT);
+  digitalWrite(Arro1, HIGH);
+  digitalWrite(Arro2, HIGH);
+  digitalWrite(Evacuation, HIGH);
 
   //interupteur
   pinMode(interType, INPUT);
@@ -112,7 +125,6 @@ void setup() {
   pinMode(inter9, INPUT);
   pinMode(inter10, INPUT);
 
-
   /***********************************************************************
     init des capteurs
   * *********************************************************************/
@@ -153,13 +165,22 @@ void loop() {
   int minu = Clock.getMinute();
   int HMin = heure * 60 + minu; // heure en minute
 
+  Serial.print("H:");
+  Serial.print(HMin / 60);
+  Serial.print(":");
+  Serial.print(HMin);
+  Serial.print("  T:");
+  Serial.print(Temper);
+  Serial.print("  Hum:");
+  Serial.println(hum);
+
   /***********************************************************************
     Gestion de la lumiere
    * *********************************************************************
   */
   if (newDay == 1) {
     newDay = 0;
-    if (interType) { //SI intertype ==1 alors Flo
+    if (digitalRead(interType)) { //SI intertype ==1 alors Flo
       Serial.println("Floraison");
       HA = random (585, 615);
       HE = HA + 705 + random(15);
@@ -174,27 +195,22 @@ void loop() {
   if (HMin == 0)
     newDay = 1;
 
-  if (interType) {
-    if (HMin >= HA & HMin < HE) {
-      if (interLum) {
-        digitalWrite(RougeHaut, LOW);
-        digitalWrite(TousHaut, LOW);
-        digitalWrite(RougeBas, LOW);
-        digitalWrite(TousBas, LOW);
-      }
+  if (HMin >= HA & HMin < HE & digitalRead(interLum)) {
+    digitalWrite(RougeHaut, LOW);
+    digitalWrite(RougeBas, LOW);
+    if (digitalRead(interType)) { //SI flo
+      digitalWrite(BleuBas, LOW);
+      digitalWrite(BleuHaut, LOW);
     }
   }
   else {
-    if (HMin >= HA & HMin < HE) {
-      if (interLum) {
-        digitalWrite(BleuHaut, LOW);
-        digitalWrite(TousHaut, LOW);
-        digitalWrite(BleuBas, LOW);
-        digitalWrite(TousBas, LOW);
-      }
-    }
+    digitalWrite(RougeHaut, HIGH);
+    digitalWrite(RougeBas, HIGH);
+    digitalWrite(BleuBas, HIGH);
+    digitalWrite(BleuHaut, HIGH);
   }
 
+
   /***********************************************************************
     Gestion de l'extraction
   * *********************************************************************/
@@ -208,72 +224,81 @@ void loop() {
     tmpExtract = 0;
   }
 
-  if (interType==0 & hum > 70) {
+  if (digitalRead(interType) == 0 & hum > 70) {
     Serial.println("interType est en croi et plus de 70% d'hum");
     humExtract = 1;
   }
-  else if ( interType == 0 & hum > 60) {
+  else if ( digitalRead(interType) == 0 & hum > 60) {
     Serial.println("interType est en flo et plus de 60 % d'hum");
     humExtract = 1;
   }
   else
     humExtract = 0;
 
-  if (minu == 0 | minu == 1 | tmpExtract | humExtract | interONExt){
+  if (minu == 0 | minu == 1 | tmpExtract | humExtract | digitalRead(interONExt)) {
     Serial.println("Extracteur ON");
     digitalWrite(Extracteur, LOW);
   }
-  else{
+  else {
     Serial.println("Extracteur OFF");
     digitalWrite(Extracteur, HIGH);
   }
-    
+
 
   /***********************************************************************
     Gestion de la ventilation
   * *********************************************************************/
-  if(minu>=55 | interONVentil | tmpExtract | humExtract ){
+  if (minu >= 55 | digitalRead(interONVentil) | tmpExtract | humExtract ) {
     Serial.println("Ventilation ON");
     digitalWrite(VentilHaut, LOW);
     digitalWrite(VentilBas, LOW);
   }
-  else{ 
+  else {
     Serial.println("Ventilation OFF");
     digitalWrite(VentilHaut, HIGH);
     digitalWrite(VentilBas, HIGH);
   }
-  
+
   /***********************************************************************
     Gestion de l'arrosage
   * *********************************************************************/
 
-  if ((HumidSolBas | HumidSolHaut) & interOFFAro==0) {
+  if ((HumidSolBas | HumidSolHaut) & digitalRead(interOFFAro) == 0 & digitalRead(interONAro) == 0) {
     Serial.println("Arrosage");
-    digitalWrite(Arro, LOW);
-  }
-
-  if(){
-    digitalWrite(Arro, HIGH);
+    digitalWrite(Arro1, LOW);
+    digitalWrite(Arro2, LOW);
+    delay(delaySecArro * 1000 );
+    digitalWrite(Arro1, HIGH);
+    digitalWrite(Arro2, HIGH);
     HeuArrosage = HMin;
   }
 
-  if (inter7)
-    digitalWrite(Arro, LOW);
-  else
-    digitalWrite(Arro, HIGH);
-
-  if (HeuArrosage + 10 == HMin) {
-    Serial.println("Arrosage");
+  if (HeuArrosage + 10 == HMin & digitalRead(interOFFAro) == 0 & digitalRead(interONVid) == 0) {
+    Serial.println("Evacuation");
     digitalWrite(Evacuation, LOW);
     delay(delaySecEvacuation * 1000 );
     digitalWrite(Evacuation, HIGH);
   }
 
-  if (inter8)
+  if (digitalRead(interONVid)) {
+    Serial.println("Evacuation manuel");
     digitalWrite(Evacuation, LOW);
+  }
   else
     digitalWrite(Evacuation, HIGH);
 
 
-  delay(5000);
+  if (digitalRead(interONAro)) {
+    Serial.println("Arrosage manuel");
+    digitalWrite(Arro1, LOW);
+    digitalWrite(Arro2, LOW);
+  }
+  else {
+    digitalWrite(Arro1, HIGH);
+    digitalWrite(Arro2, HIGH);
+  }
+
+
+  delay(500);
+
 }

BIN
Soft/BOX/Capteur.xlsx