diff --git a/garage/garage_esp32/garage_esp32.fzz b/garage/garage_esp32/garage_esp32.fzz new file mode 100644 index 0000000..cb94bc4 Binary files /dev/null and b/garage/garage_esp32/garage_esp32.fzz differ diff --git a/garage/garage_esp32/garage_esp32.ino b/garage/garage_esp32/garage_esp32.ino index 8c843d6..630db8b 100644 --- a/garage/garage_esp32/garage_esp32.ino +++ b/garage/garage_esp32/garage_esp32.ino @@ -42,19 +42,19 @@ const char *PUSHOVER_ROOT_CA = "-----BEGIN CERTIFICATE-----\n" "-----END CERTIFICATE-----\n"; -const int PIN_LED = 2; // esp32 dev board integrated LED -const int PIN_GARAGE_BUTTON = 4; // button to open/close the garage door -const int PIN_GATE_BUTTON = 5; // button to open/close the gate -const int PIN_MOWER_ACTIVE = 15; // only contact mower if pin is HIGH -const int PIN_GARAGE = 18; // relais pin for garage door -const int PIN_GATE = 19; // relais pin for gate -const int PIN_DOOR_OPEN = 21; // sensor pin for garage door in position 'open' -const int PIN_DOOR_CLOSED = 22; // sensor pin for garage door in position 'closed' -const int PIN_SENSOR_GATE= 23; // sensor pin for gate (HIGH is open) -const int PIN_SPRINKLER1 = 16; //25 relais pin for sprinkler 1 -const int PIN_SPRINKLER2 = 26; // relais pin for sprinkler 2 -const int PIN_SPRINKLER3 = 27; // relais pin for sprinkler 3 -const int PIN_SPRINKLER4 = 14; // relais pin for sprinkler 4 +const int PIN_LED = 2; // esp32 dev board integrated LED +const int PIN_GARAGE_BUTTON = 4; // button to open/close the garage door +const int PIN_GATE_BUTTON = 16; // button to open/close the gate +const int PIN_MOWER_ACTIVE = 15; // only contact mower if pin is HIGH +const int PIN_GARAGE = 17; // relais pin for garage door +const int PIN_GATE = 5; // relais pin for gate +const int PIN_DOOR_OPEN = 18; // sensor pin for garage door in position 'open' +const int PIN_DOOR_CLOSED = 19; // sensor pin for garage door in position 'closed' +const int PIN_SENSOR_GATE= 21; // sensor pin for gate (HIGH is open) +const int PIN_SPRINKLER1 = 26; // relais pin for sprinkler 1 +const int PIN_SPRINKLER2 = 25; // relais pin for sprinkler 2 +const int PIN_SPRINKLER3 = 33; // relais pin for sprinkler 3 +const int PIN_SPRINKLER4 = 32; // relais pin for sprinkler 4 AsyncWebServer server(80); const char* PARAM_MESSAGE = "message"; @@ -190,10 +190,10 @@ void mowerAuto() { void triggerGarage() { Serial.println("Trigger garage door"); - digitalWrite(PIN_GARAGE, HIGH); + digitalWrite(PIN_GARAGE, LOW); digitalWrite(PIN_LED, HIGH); delay(400); - digitalWrite(PIN_GARAGE, LOW); + digitalWrite(PIN_GARAGE, HIGH); digitalWrite(PIN_LED, LOW); } @@ -205,10 +205,10 @@ void triggerGate() { toSafety = true; } - digitalWrite(PIN_GATE, HIGH); + digitalWrite(PIN_GATE, LOW); digitalWrite(PIN_LED, HIGH); delay(400); - digitalWrite(PIN_GATE, LOW); + digitalWrite(PIN_GATE, HIGH); digitalWrite(PIN_LED, LOW); // DEAKTIVIEREN FÜR WINTERPAUSE: @@ -228,10 +228,10 @@ void triggerGate() { void stopSprinklers() { Serial.println("Stopping sprinklers"); - digitalWrite(PIN_SPRINKLER1, LOW); - digitalWrite(PIN_SPRINKLER2, LOW); - digitalWrite(PIN_SPRINKLER3, LOW); - digitalWrite(PIN_SPRINKLER4, LOW); + digitalWrite(PIN_SPRINKLER1, HIGH); + digitalWrite(PIN_SPRINKLER2, HIGH); + digitalWrite(PIN_SPRINKLER3, HIGH); + digitalWrite(PIN_SPRINKLER4, HIGH); sprinklerDuration = 0; } @@ -256,6 +256,13 @@ void setup() { pinMode(PIN_SPRINKLER3, OUTPUT); pinMode(PIN_SPRINKLER4, OUTPUT); + digitalWrite(PIN_GARAGE, HIGH); + digitalWrite(PIN_GATE, HIGH); + digitalWrite(PIN_SPRINKLER1, HIGH); + digitalWrite(PIN_SPRINKLER2, HIGH); + digitalWrite(PIN_SPRINKLER3, HIGH); + digitalWrite(PIN_SPRINKLER4, HIGH); + WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); @@ -370,8 +377,6 @@ void setup() { } }); - // timer - server.onNotFound(notFound); server.begin(); @@ -381,7 +386,8 @@ void setup() { unsigned long lastDebounceTime = 0; unsigned long debounceDelay = 80; -int lastVal = LOW; +int lastValGarage = LOW; +int lastValGate = LOW; void loop() { @@ -390,30 +396,40 @@ void loop() { } int newVal = digitalRead(PIN_GARAGE_BUTTON); - if (newVal != lastVal) { + if (newVal != lastValGarage) { + Serial.print("Garage Button: "); lastDebounceTime = millis(); - while (((millis() - lastDebounceTime) < debounceDelay) and digitalRead(PIN_GARAGE_BUTTON) != lastVal) { + while (((millis() - lastDebounceTime) < debounceDelay) and digitalRead(PIN_GARAGE_BUTTON) != lastValGarage) { delay(1); } - if (digitalRead(PIN_GARAGE_BUTTON) != lastVal) { - lastVal = newVal; + if (digitalRead(PIN_GARAGE_BUTTON) != lastValGarage) { + Serial.println("REAL"); + lastValGarage = newVal; if (newVal == HIGH) { triggerGarage(); } } + else { + Serial.println("fluke"); + } } newVal = digitalRead(PIN_GATE_BUTTON); - if (newVal != lastVal) { + if (newVal != lastValGate) { + Serial.print("Gate Button: "); lastDebounceTime = millis(); - while (((millis() - lastDebounceTime) < debounceDelay) and digitalRead(PIN_GATE_BUTTON) != lastVal) { + while (((millis() - lastDebounceTime) < debounceDelay) and digitalRead(PIN_GATE_BUTTON) != lastValGate) { delay(1); } - if (digitalRead(PIN_GATE_BUTTON) != lastVal) { - lastVal = newVal; + if (digitalRead(PIN_GATE_BUTTON) != lastValGate) { + Serial.println("REAL"); + lastValGate = newVal; if (newVal == HIGH) { triggerGate(); } } + else { + Serial.println("fluke"); + } } }