arduino-sketches/esp32/esp32.ino

82 lines
1.5 KiB
Arduino
Raw Normal View History

#include <Arduino.h>
#include "alarm.h"
2025-04-13 22:53:18 -03:00
#include "DoorSensor.h"
#include "LedController.h"
2025-04-13 22:53:18 -03:00
#include "Siren.h"
// #include <WiFi.h>
2025-04-10 21:10:23 -03:00
2025-04-13 22:53:18 -03:00
AlarmStatus s;
DoorSensor doorSensor(&s);
LedController led(&s);
2025-04-13 22:53:18 -03:00
Siren siren(&s);
2025-04-14 11:19:55 -03:00
void printStatus()
{
String msg = String("Door: ") + String(doorSensor.IsDoorOpen() ? "Open" : "Closed");
2025-04-14 11:19:55 -03:00
msg = msg + " | Alarm: " + String(s.isArmed ? "Armed" : "Disarmed");
msg = msg + " | Is Fired: " + String(s.isFired ? "Fired" : "Not Fired");
msg = msg + " | Led: " + String(s.ledOn ? "On" : "Off");
msg = msg + " | Silent: " + String(s.silent ? "Silent" : "Loud");
msg = msg + " | Muted: " + String(s.muted ? "Muted" : "Not Muted");
Serial.println(msg);
}
2025-04-14 11:19:55 -03:00
void setup()
{
2025-04-10 21:10:23 -03:00
Serial.begin(115200);
doorSensor.Init();
led.Init();
2025-04-13 22:53:18 -03:00
siren.Init();
2025-04-14 11:19:55 -03:00
s.silent = true;
s.isArmed = doorSensor.IsDoorClosed();
2025-04-14 11:19:55 -03:00
// WiFi.mode(WIFI_STA);
// WiFi.disconnect();
// delay(100);
2025-04-10 21:10:23 -03:00
2025-04-13 22:53:18 -03:00
printStatus();
2025-04-10 21:10:23 -03:00
}
2025-04-14 11:19:55 -03:00
void loop()
{
doorSensor.HandleDoor();
2025-04-14 11:19:55 -03:00
if (s.doorChanged)
{
DoorEvent();
}
2025-04-14 11:19:55 -03:00
s.doorChanged = false;
2025-04-14 11:19:55 -03:00
if (s.isFired)
{
2025-04-13 22:53:18 -03:00
siren.SoundSiren();
}
led.Update();
2025-04-13 22:53:18 -03:00
// delay(1000);
}
2025-04-10 21:10:23 -03:00
2025-04-14 11:19:55 -03:00
void DoorEvent()
{
if (doorSensor.IsDoorOpen())
{
Serial.println("The door-opening");
2025-04-14 11:19:55 -03:00
if (!s.isArmed)
{
Serial.println("Alarm is dissarmed, not fireing");
return;
}
Serial.println("Alarm is armed, firing");
2025-04-14 11:19:55 -03:00
s.isFired = true;
}
else
{
2025-04-13 22:53:18 -03:00
// delay(500);
Serial.println("The door-closing");
2025-04-14 11:19:55 -03:00
s.isArmed = true;
}
2025-04-10 21:10:23 -03:00
}