From a5d9cb72b5ff351c239bb20c4a091fe42b892239 Mon Sep 17 00:00:00 2001 From: Elena ``of Valhalla'' Grandi Date: Mon, 1 May 2023 16:22:52 +0200 Subject: ESP32 rewrite: ring an alarm until a button is pressed. --- arduino_sketch/fuzzy_alarm_clock_esp32/config.h | 14 ++++ .../fuzzy_alarm_clock_esp32.ino | 82 +++++++++++++++++++--- 2 files changed, 87 insertions(+), 9 deletions(-) diff --git a/arduino_sketch/fuzzy_alarm_clock_esp32/config.h b/arduino_sketch/fuzzy_alarm_clock_esp32/config.h index 1e505b2..ae8ca57 100644 --- a/arduino_sketch/fuzzy_alarm_clock_esp32/config.h +++ b/arduino_sketch/fuzzy_alarm_clock_esp32/config.h @@ -10,6 +10,20 @@ // See https://github.com/esp8266/Arduino/blob/master/cores/esp8266/TZ.h #define TZ "CET-1CEST,M3.5.0,M10.5.0/3" +// Alarms +#define ALARM_PIN 1 +// Sound of the alarm: frequencies, and NFREQ should be the length of freq +#define NFREQ 9 +int freq[] = { 255, 192, 128, 96, 64, 96, 128, 192, 255 }; + +// Button +#define BTN_PIN 2 + +// RGB LED +#define LED_R_PIN 7 +#define LED_G_PIN 8 +#define LED_B_PIN 10 + // Create the file local_config.h in this directory and override all of the // #defines you need #include "local_config.h" diff --git a/arduino_sketch/fuzzy_alarm_clock_esp32/fuzzy_alarm_clock_esp32.ino b/arduino_sketch/fuzzy_alarm_clock_esp32/fuzzy_alarm_clock_esp32.ino index 297b938..b5d725a 100644 --- a/arduino_sketch/fuzzy_alarm_clock_esp32/fuzzy_alarm_clock_esp32.ino +++ b/arduino_sketch/fuzzy_alarm_clock_esp32/fuzzy_alarm_clock_esp32.ino @@ -7,8 +7,17 @@ #include "time.h" #include "sntp.h" +#include + WiFiClient wifiClient; +Colours colours(LED_R_PIN, LED_G_PIN, LED_B_PIN); + +bool ringing = false; // the alarm should be ringing +bool pressed = false; // the button has been pressed + +hw_timer_t * timer = NULL; + void connect_wifi() { WiFi.begin(WIFI_SSID, WIFI_PASS); Serial.print("WiFi "); @@ -26,27 +35,82 @@ void connect_wifi() { } } Serial.println(" connected"); + colours.writeHSV(180, 255, 8); +} + +void ring_alarm() { + for (int i=0; i