diff --git a/doorbell/klingel_sender_nano_serial/klingel_sender_nano_serial.fzz b/doorbell/klingel_sender_nano_serial/klingel_sender_nano_serial.fzz new file mode 100644 index 0000000..f31fc64 Binary files /dev/null and b/doorbell/klingel_sender_nano_serial/klingel_sender_nano_serial.fzz differ diff --git a/doorbell/klingel_sender_nano_serial/klingel_sender_nano_serial.ino b/doorbell/klingel_sender_nano_serial/klingel_sender_nano_serial.ino index c5b1f0e..d03c3b5 100644 --- a/doorbell/klingel_sender_nano_serial/klingel_sender_nano_serial.ino +++ b/doorbell/klingel_sender_nano_serial/klingel_sender_nano_serial.ino @@ -1,35 +1,31 @@ /* Klingel-Sensor auf Arduino Nano ATmega168 * * https://www.arduino.cc/en/Tutorial/BuiltInExamples/Button - * https://elektro.turanis.de/html/prj035/index.html - * - * D2 ------------- - * | | - * 10kOhm | - * | | - * +5V ----- | - * Button - * | - * GND ------------- + * https://docs.arduino.cc/tutorials/generic/digital-input-pullup/ */ + const int ledPin = LED_BUILTIN; const int buttonPin = 2; // Button connected to D2 const int flare_threshold = 200; const int ring_delay = 250; + bool active = false; + void setup() { pinMode(ledPin, OUTPUT); - pinMode(buttonPin, INPUT); + pinMode(buttonPin, INPUT_PULLUP); Serial.begin(9600); Serial.println("Doorbell sensor"); } + void loop() { int val = digitalRead(buttonPin); + if (val == LOW) { delay(flare_threshold); // catch flares val = digitalRead(buttonPin); @@ -45,8 +41,10 @@ void loop() { Serial.print(flare_threshold); Serial.println(")"); } - } else { + } + else { digitalWrite(ledPin, LOW); active = false; } } + diff --git a/garage/garage_esp32/garage_esp32.fzz b/garage/garage_esp32/garage_esp32.fzz index 2ea669a..14d22d2 100644 Binary files a/garage/garage_esp32/garage_esp32.fzz 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 4efb36d..b002ca0 100644 --- a/garage/garage_esp32/garage_esp32.ino +++ b/garage/garage_esp32/garage_esp32.ino @@ -2,6 +2,8 @@ Sources: https://randomnerdtutorials.com/esp32-esp8266-web-server-physical-button/ https://randomnerdtutorials.com/esp32-pushover-notifications-arduino/ + + Note: Usage of wifi blocks the ADC2 analog pins. ADC1 pins can be used. See https://github.com/espressif/arduino-esp32/issues/102#issuecomment-295272351 */ #include @@ -55,7 +57,7 @@ const int PIN_SPRINKLER1 = 25; // relais pin for sprinkler 1 const int PIN_SPRINKLER2 = 33; // relais pin for sprinkler 2 const int PIN_SPRINKLER3 = 32; // relais pin for sprinkler 3 const int PIN_SPRINKLER4 = 26; // relais pin for sprinkler 4 -const int PIN_MOISTURE_ANALOG = 14; // moisture sensor analog value // XXX currently blocked by WiFi +const int PIN_MOISTURE_ANALOG = 35; // moisture sensor analog value const int PIN_MOISTURE_DIGITAL = 27; // moisture sensor digital value AsyncWebServer server(80);