|
|
@@ -4,44 +4,49 @@
|
|
|
#include <DS3231.h> //DS3231 by andrew wickert
|
|
|
#include <Wire.h>
|
|
|
|
|
|
-#define ONE_WIRE_BUS 3
|
|
|
-
|
|
|
//pin relay
|
|
|
-const int ExtracteurPin = 2;
|
|
|
-const int Rouge1Pin = 4;
|
|
|
-const int Rouge2Pin = 5;
|
|
|
-const int Bleu1Pin = 6;
|
|
|
-const int Bleu2Pin = 7;
|
|
|
-const int Bleu3Pin = 8;
|
|
|
-const int DehumPin = 9;
|
|
|
+const int Rouge1Pin = 3;
|
|
|
+const int Rouge2Pin = 4;
|
|
|
+const int Bleu1Pin = 5;
|
|
|
+const int Bleu2Pin = 6;
|
|
|
+const int Bleu3Pin = 7;
|
|
|
+const int DehumPin = 8;
|
|
|
+const int VentilPin = 9;
|
|
|
+const int ExtracteurPin = 10;
|
|
|
+const int ArroFlo = 11;
|
|
|
+const int ArroCroi = 12;
|
|
|
+const int Evacuation = 13;
|
|
|
|
|
|
//pin inter
|
|
|
-const int inter1 = 22;
|
|
|
-const int inter2 = 23;
|
|
|
-const int inter3 = 24;
|
|
|
-const int inter4 = 25;
|
|
|
-const int inter5 = 26;
|
|
|
-const int inter6 = 27;
|
|
|
-const int inter7 = 28;
|
|
|
-const int inter8 = 29;
|
|
|
-const int inter9 = 30;
|
|
|
-const int inter10 = 31;
|
|
|
-const int inter11 = 32;
|
|
|
+const int inter1 = 22; //inter extinction lumiere
|
|
|
+const int inter2 = 24; //inter marche forcé ventilation
|
|
|
+const int inter3 = 26;
|
|
|
+const int inter4 = 28;
|
|
|
+const int inter5 = 30;
|
|
|
+const int inter6 = 32;
|
|
|
+const int inter7 = 34;
|
|
|
+const int inter8 = 36;
|
|
|
+const int inter9 = 38;
|
|
|
+const int inter10 = 40;
|
|
|
+
|
|
|
+//pin Capteur
|
|
|
+#define ONE_WIRE_TEMP 14
|
|
|
+// humide air 15
|
|
|
+const int HumidSolCro = 46;
|
|
|
+const int HumidSolFlo = 48;
|
|
|
+
|
|
|
|
|
|
//Variable lumiere
|
|
|
- int newDay = 1; // Variable pour savoir si nouveau jour.
|
|
|
- int HAFlo; //heure allumage floraison en minute (9H45 ou 10H15)
|
|
|
- int HEFlo; //heure extinction floraison en minute (HaFlo +12H +/-15min)
|
|
|
- int HACro; //heure allumage croissance en minute (4H45 ou 5H15)
|
|
|
- int HECro; //heure extinction croissance en minute (HaFlo +18H +/-15min)
|
|
|
-
|
|
|
-OneWire oneWire(ONE_WIRE_BUS);
|
|
|
-DS18B20 sensor(&oneWire);
|
|
|
+int newDay = 1; // Variable pour savoir si nouveau jour.
|
|
|
+int HAFlo; //heure allumage floraison en minute (9H45 ou 10H15)
|
|
|
+int HEFlo; //heure extinction floraison en minute (HaFlo +12H +/-15min)
|
|
|
+int HACro; //heure allumage croissance en minute (4H45 ou 5H15)
|
|
|
+int HECro; //heure extinction croissance en minute (HaFlo +18H +/-15min)
|
|
|
+
|
|
|
+OneWire oneWireTemp(ONE_WIRE_TEMP);
|
|
|
+DS18B20 Temp(&oneWireTemp);
|
|
|
DS3231 Clock;
|
|
|
|
|
|
-
|
|
|
-uint32_t start, stop;
|
|
|
-
|
|
|
void setup() {
|
|
|
Serial.begin(9600);
|
|
|
|
|
|
@@ -50,33 +55,40 @@ void setup() {
|
|
|
init des pins
|
|
|
* *********************************************************************
|
|
|
*/
|
|
|
- pinMode(ExtracteurPin, OUTPUT);
|
|
|
+
|
|
|
pinMode(Rouge1Pin, OUTPUT);
|
|
|
pinMode(Rouge2Pin, OUTPUT);
|
|
|
pinMode(Bleu1Pin, OUTPUT);
|
|
|
pinMode(Bleu2Pin, OUTPUT);
|
|
|
+ pinMode(Bleu3Pin, OUTPUT);
|
|
|
pinMode(DehumPin, OUTPUT);
|
|
|
+ pinMode(VentilPin, OUTPUT);
|
|
|
+ pinMode(ExtracteurPin, OUTPUT);
|
|
|
+ pinMode(ArroFlo, OUTPUT);
|
|
|
+ pinMode(ArroCroi, OUTPUT);
|
|
|
+ pinMode(Evacuation, OUTPUT);
|
|
|
|
|
|
- pinMode(inter1, INPUT); //inter extinction lumiere
|
|
|
+ pinMode(inter1, INPUT); //extinction lumiere
|
|
|
pinMode(inter2, INPUT); //inter marche forcé ventilation
|
|
|
- pinMode(inter3, INPUT); //60%
|
|
|
- pinMode(inter4, INPUT); //70%
|
|
|
- pinMode(inter5, INPUT); //80%
|
|
|
- pinMode(inter6, INPUT); //croissance mere
|
|
|
- pinMode(inter7, INPUT); //croissance mere + serre
|
|
|
- pinMode(inter8, INPUT); //Arrosage1 on
|
|
|
- pinMode(inter9, INPUT); //Arrosage2 on
|
|
|
- pinMode(inter10, INPUT); //pompe vidange on
|
|
|
- pinMode(inter11, INPUT);
|
|
|
+ pinMode(inter3, INPUT); //60%/70%
|
|
|
+ pinMode(inter4, INPUT); //croissance mere
|
|
|
+ pinMode(inter5, INPUT);
|
|
|
+ pinMode(inter6, INPUT); //Arrosage1 on
|
|
|
+ pinMode(inter7, INPUT); //Arrosage2 on
|
|
|
+ pinMode(inter8, INPUT); //pompe vidange on
|
|
|
+ pinMode(inter9, INPUT); //Arrosage flo auto
|
|
|
+ pinMode(inter10, INPUT); //Arrosage Cro auto
|
|
|
+
|
|
|
+ pinMode(HumidSolCro, INPUT);
|
|
|
+ pinMode(HumidSolFlo, INPUT);
|
|
|
|
|
|
/***********************************************************************
|
|
|
init des capteurs
|
|
|
* *********************************************************************
|
|
|
*/
|
|
|
Wire.begin();
|
|
|
- sensor.begin();
|
|
|
- sensor.setResolution(12);
|
|
|
- delay(1000);
|
|
|
+ Temp.begin();
|
|
|
+ Temp.setResolution(12);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -87,20 +99,15 @@ void loop() {
|
|
|
* *********************************************************************
|
|
|
*/
|
|
|
//temperature
|
|
|
- Serial.println("salut1");
|
|
|
- sensor.requestTemperatures();
|
|
|
- Serial.println("salut2");
|
|
|
- while (!sensor.isConversionComplete());
|
|
|
- Serial.println("salut3");
|
|
|
- float temp = sensor.getTempC();
|
|
|
- Serial.println(temp);
|
|
|
+ Temp.requestTemperatures();
|
|
|
+ while (!Temp.isConversionComplete());
|
|
|
+ float Temper = Temp.getTempC();
|
|
|
|
|
|
//heure
|
|
|
bool h24, am;
|
|
|
int heure = Clock.getHour(h24, am );
|
|
|
int minu = Clock.getMinute();
|
|
|
int HMin = heure * 60 + minu; // heure en minute
|
|
|
- Serial.println(HMin);
|
|
|
|
|
|
//Hydrometrie
|
|
|
|
|
|
@@ -110,19 +117,12 @@ void loop() {
|
|
|
*/
|
|
|
|
|
|
|
|
|
- if (newDay==1) {
|
|
|
+ if (newDay == 1) {
|
|
|
newDay = 0;
|
|
|
- Serial.println("newDay");
|
|
|
- Serial.println(HMin);
|
|
|
HAFlo = random (585, 615);
|
|
|
- Serial.println(HAFlo);
|
|
|
HEFlo = HAFlo + 705 + random(30);
|
|
|
- Serial.println(HEFlo);
|
|
|
HACro = random (285, 315);
|
|
|
- Serial.println(HACro);
|
|
|
HECro = HACro + 1065 + random(30);
|
|
|
- Serial.println(HECro);
|
|
|
- Serial.println("fin newDay");
|
|
|
}
|
|
|
|
|
|
if (HMin == 0)
|
|
|
@@ -131,12 +131,10 @@ void loop() {
|
|
|
if (HMin >= HAFlo & HMin < HEFlo) {
|
|
|
digitalWrite(Rouge1Pin, LOW);
|
|
|
digitalWrite(Rouge2Pin, LOW);
|
|
|
- Serial.println("Alum Flo");
|
|
|
}
|
|
|
else {
|
|
|
digitalWrite(Rouge1Pin, HIGH);
|
|
|
digitalWrite(Rouge2Pin, HIGH);
|
|
|
- Serial.println("Ext Flo");
|
|
|
}
|
|
|
|
|
|
if (HMin >= HACro & HMin < HECro) {
|
|
|
@@ -155,7 +153,7 @@ void loop() {
|
|
|
Gestion de l'extraction
|
|
|
* *********************************************************************
|
|
|
*/
|
|
|
- if (minu == 0 | minu == 1 | temp >= 27)
|
|
|
+ if (minu == 0 | minu == 1 | Temper >= 27)
|
|
|
digitalWrite(ExtracteurPin, LOW);
|
|
|
else
|
|
|
digitalWrite(ExtracteurPin, HIGH);
|