|
|
@@ -24,24 +24,25 @@ const int VentilBas = 9;
|
|
|
const int Arro1 = 10;
|
|
|
const int Arro2 = 11;
|
|
|
const int Evacuation = 12;
|
|
|
+const int Melange = 13;
|
|
|
|
|
|
//Capteur niveau eau
|
|
|
-const int NiveauEauRecup = 13;
|
|
|
-const int NiveauEauAqua = 14;
|
|
|
+const int NiveauEauRecup = 14;
|
|
|
+const int NiveauEauAqua = 15;
|
|
|
|
|
|
//Capteur Temp
|
|
|
-#define ONE_WIRE_TEMP 15
|
|
|
+#define ONE_WIRE_TEMP 16
|
|
|
OneWire oneWireTemp(ONE_WIRE_TEMP);
|
|
|
DS18B20 Temp(&oneWireTemp);
|
|
|
|
|
|
//capteur Hum air
|
|
|
-#define DHTTYPE DHT11
|
|
|
-#define DHTPIN 16
|
|
|
+#define DHTTYPE DHT22
|
|
|
+#define DHTPIN 17
|
|
|
DHT dht(DHTPIN, DHTTYPE);
|
|
|
|
|
|
//Capteur hum sol
|
|
|
-const int HumidSolHaut = 17;
|
|
|
-const int HumidSolBas = 18;
|
|
|
+const int HumidSolHaut = 18;
|
|
|
+const int HumidSolBas = 19;
|
|
|
|
|
|
//interupteur
|
|
|
const int interType = 22;
|
|
|
@@ -74,6 +75,7 @@ int extract;
|
|
|
//Variabe Arrosage
|
|
|
const int delaySecArro = 20;
|
|
|
const int delaySecEvacuation = 30;
|
|
|
+int SolBas, SolHaut;
|
|
|
int HeuArrosage;
|
|
|
/***********************************************************************
|
|
|
Setup
|
|
|
@@ -109,6 +111,7 @@ void setup() {
|
|
|
pinMode(Arro1, OUTPUT);
|
|
|
pinMode(Arro2, OUTPUT);
|
|
|
pinMode(Evacuation, OUTPUT);
|
|
|
+ //pinMode(, OUTPUT);
|
|
|
digitalWrite(Arro1, HIGH);
|
|
|
digitalWrite(Arro2, HIGH);
|
|
|
digitalWrite(Evacuation, HIGH);
|
|
|
@@ -158,6 +161,20 @@ void loop() {
|
|
|
float hum = dht.readHumidity();
|
|
|
|
|
|
//Capteur hum sol
|
|
|
+ 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));*/
|
|
|
|
|
|
//RTC
|
|
|
bool h24, am;
|
|
|
@@ -168,7 +185,7 @@ void loop() {
|
|
|
Serial.print("H:");
|
|
|
Serial.print(HMin / 60);
|
|
|
Serial.print(":");
|
|
|
- Serial.print(HMin);
|
|
|
+ Serial.print(HMin % 60);
|
|
|
Serial.print(" T:");
|
|
|
Serial.print(Temper);
|
|
|
Serial.print(" Hum:");
|
|
|
@@ -195,15 +212,26 @@ void loop() {
|
|
|
if (HMin == 0)
|
|
|
newDay = 1;
|
|
|
|
|
|
- if (HMin >= HA & HMin < HE & digitalRead(interLum)) {
|
|
|
- digitalWrite(RougeHaut, LOW);
|
|
|
- digitalWrite(RougeBas, LOW);
|
|
|
+
|
|
|
+
|
|
|
+ if ((HMin >= HA & HMin < HE) & digitalRead(interLum)) {
|
|
|
+ Serial.print("Allumage ");
|
|
|
+ digitalWrite(BleuBas, LOW);
|
|
|
+ digitalWrite(BleuHaut, LOW);
|
|
|
if (digitalRead(interType)) { //SI flo
|
|
|
- digitalWrite(BleuBas, LOW);
|
|
|
- digitalWrite(BleuHaut, LOW);
|
|
|
+ Serial.println("Flo");
|
|
|
+ digitalWrite(RougeHaut, LOW);
|
|
|
+ digitalWrite(RougeBas, LOW);
|
|
|
}
|
|
|
+ else {
|
|
|
+ Serial.println("Cro");
|
|
|
+ digitalWrite(RougeHaut, HIGH);
|
|
|
+ digitalWrite(RougeBas, HIGH);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
else {
|
|
|
+ Serial.println("Extinxtion");
|
|
|
digitalWrite(RougeHaut, HIGH);
|
|
|
digitalWrite(RougeBas, HIGH);
|
|
|
digitalWrite(BleuBas, HIGH);
|
|
|
@@ -224,18 +252,23 @@ void loop() {
|
|
|
tmpExtract = 0;
|
|
|
}
|
|
|
|
|
|
- if (digitalRead(interType) == 0 & hum > 70) {
|
|
|
- Serial.println("interType est en croi et plus de 70% d'hum");
|
|
|
+ /*if (digitalRead(interType) == 0 & hum > 75) {
|
|
|
+ Serial.println("interType est en croi et plus de 75% d'hum");
|
|
|
humExtract = 1;
|
|
|
}
|
|
|
- else if ( digitalRead(interType) == 0 & hum > 60) {
|
|
|
+ else if ( digitalRead(interType) == 1 & hum > 60) {
|
|
|
Serial.println("interType est en flo et plus de 60 % d'hum");
|
|
|
humExtract = 1;
|
|
|
}
|
|
|
- else
|
|
|
+ else if ( digitalRead(interType) == 0 & hum < 73) {
|
|
|
humExtract = 0;
|
|
|
+ }
|
|
|
+ else if ( hum < 58) {
|
|
|
+ humExtract = 0;
|
|
|
+ }*/
|
|
|
+
|
|
|
|
|
|
- if (minu == 0 | minu == 1 | tmpExtract | humExtract | digitalRead(interONExt)) {
|
|
|
+ if ((minu == 0 | minu == 1 | tmpExtract | humExtract | digitalRead(interONExt)) & digitalRead(interOFFExt)) {
|
|
|
Serial.println("Extracteur ON");
|
|
|
digitalWrite(Extracteur, LOW);
|
|
|
}
|
|
|
@@ -262,42 +295,43 @@ void loop() {
|
|
|
/***********************************************************************
|
|
|
Gestion de l'arrosage
|
|
|
* *********************************************************************/
|
|
|
+ /* if ((SolBas | SolHaut) & digitalRead(interOFFAro) == 0 & digitalRead(interONAro) == 0) {
|
|
|
+ Serial.println("Arrosage");
|
|
|
+ digitalWrite(Arro1, LOW);
|
|
|
+ digitalWrite(Arro2, LOW);
|
|
|
+ delay(delaySecArro * 1000 );
|
|
|
+ digitalWrite(Arro1, HIGH);
|
|
|
+ digitalWrite(Arro2, HIGH);
|
|
|
+ HeuArrosage = HMin;
|
|
|
+ }
|
|
|
|
|
|
- if ((HumidSolBas | HumidSolHaut) & digitalRead(interOFFAro) == 0 & digitalRead(interONAro) == 0) {
|
|
|
- Serial.println("Arrosage");
|
|
|
- digitalWrite(Arro1, LOW);
|
|
|
- digitalWrite(Arro2, LOW);
|
|
|
- delay(delaySecArro * 1000 );
|
|
|
- digitalWrite(Arro1, HIGH);
|
|
|
- digitalWrite(Arro2, HIGH);
|
|
|
- HeuArrosage = HMin;
|
|
|
- }
|
|
|
-
|
|
|
- if (HeuArrosage + 10 == HMin & digitalRead(interOFFAro) == 0 & digitalRead(interONVid) == 0) {
|
|
|
- Serial.println("Evacuation");
|
|
|
- digitalWrite(Evacuation, LOW);
|
|
|
- delay(delaySecEvacuation * 1000 );
|
|
|
- digitalWrite(Evacuation, HIGH);
|
|
|
- }
|
|
|
+ if (HeuArrosage + 10 == HMin & digitalRead(interOFFAro) == 0 & digitalRead(interONVid) == 0) {
|
|
|
+ Serial.println("Evacuation");
|
|
|
+ digitalWrite(Evacuation, LOW);
|
|
|
+ //delay(delaySecEvacuation * 1000 );
|
|
|
+ digitalWrite(Evacuation, HIGH);
|
|
|
+ }
|
|
|
|
|
|
- if (digitalRead(interONVid)) {
|
|
|
- Serial.println("Evacuation manuel");
|
|
|
- digitalWrite(Evacuation, LOW);
|
|
|
- }
|
|
|
- else
|
|
|
- digitalWrite(Evacuation, HIGH);
|
|
|
+ if (digitalRead(interONVid)) {
|
|
|
+ Serial.println("Evacuation manuel");
|
|
|
+ digitalWrite(Evacuation, LOW);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ digitalWrite(Evacuation, HIGH);
|
|
|
|
|
|
|
|
|
- if (digitalRead(interONAro)) {
|
|
|
- Serial.println("Arrosage manuel");
|
|
|
- digitalWrite(Arro1, LOW);
|
|
|
- digitalWrite(Arro2, LOW);
|
|
|
- }
|
|
|
- else {
|
|
|
- digitalWrite(Arro1, HIGH);
|
|
|
- digitalWrite(Arro2, HIGH);
|
|
|
- }
|
|
|
+ if (digitalRead(interONAro)) {
|
|
|
+ Serial.println("Arrosage manuel");
|
|
|
+ digitalWrite(Arro1, LOW);
|
|
|
+ digitalWrite(Arro2, LOW);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ digitalWrite(Arro1, HIGH);
|
|
|
+ digitalWrite(Arro2, HIGH);
|
|
|
+ }*/
|
|
|
|
|
|
+ Serial.println("");
|
|
|
+ Serial.println("");
|
|
|
|
|
|
delay(500);
|
|
|
|