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