|
|
@@ -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);
|
|
|
}
|
|
|
|