add led support and muted

This commit is contained in:
Guillermo Marcel 2025-04-10 21:09:36 -03:00
parent ba0d786022
commit 166cf42120

View File

@ -19,7 +19,8 @@ const int DOOR_SENSOR_PIN = 13;
int currentDoorState; // current state of door sensor int currentDoorState; // current state of door sensor
int lastDoorState; // previous state of door sensor int lastDoorState; // previous state of door sensor
bool isArmed = true; bool isArmed = true;
bool muted = true; bool muted = false;
bool ledOn = true;
void setup() void setup()
{ {
@ -46,9 +47,19 @@ unsigned long lastTime;
void showAlarm(bool fired) void showAlarm(bool fired)
{ {
if(!ledOn)
{
offLed();
return;
}
if(fired) if(fired)
{
if(isArmed)
{ {
showRed(); showRed();
}else{
showYellow();
}
return; return;
} }
if(isArmed) if(isArmed)
@ -83,6 +94,11 @@ void handleIR(){
Serial.println("Alarm is " + String(isArmed ? "Armed" : "Disarmed")); Serial.println("Alarm is " + String(isArmed ? "Armed" : "Disarmed"));
// playTone(); // playTone();
break; break;
case 70:
Serial.println("Led on/off");
ledOn=!ledOn;
showAlarm(false);
break;
default: default:
Serial.print("unk: "); Serial.print("unk: ");
Serial.println(IrReceiver.decodedIRData.command); Serial.println(IrReceiver.decodedIRData.command);
@ -107,6 +123,8 @@ void handleDoor(){
if(!isArmed) if(!isArmed)
{ {
Serial.println("Alarm is dissarmed, not fireing"); Serial.println("Alarm is dissarmed, not fireing");
delay(500);
showAlarm(true);
return; return;
} }
Serial.println("Alarm is armed, firing"); Serial.println("Alarm is armed, firing");
@ -116,6 +134,7 @@ void handleDoor(){
} }
else else
if (lastDoorState == HIGH && currentDoorState == LOW) { // state change: HIGH -> LOW if (lastDoorState == HIGH && currentDoorState == LOW) { // state change: HIGH -> LOW
delay(500);
Serial.println("The door-closing event is detected"); Serial.println("The door-closing event is detected");
isArmed=true; isArmed=true;
showAlarm(false); showAlarm(false);