Introduction: Hardwired Alarm Zone and Wireless Contact Sensors
I stumbled over the Instructable on how to modify an entry/contact sensor with a wired alarm switch and wanted to try it out. However it didn't work for me. After some research I found some clues as to why and figured out a solution that I would like to share. Those simple wireless sensors are not build to monitor large circuits and cannot handle the amount of voltage that can be induced into a large circuit. At least that is how I understand it.
This is a project just for fun and I publish it solely for informational purposes. When it comes to the security and safety of your house and family you should not mess around with alarm systems. Let only professionals work on your alarm system!
Step 1: Connection of Wires to the Wireless Sensor
I followed this Instructable that explains how to connect to a SimpliSafe sensor. They bypass the reed switch on the sensor: https://www.instructables.com/id/Modify-15-SimpliSafe-entry-sensor-as-a-wired-switc/. Be sure to go through all comments and the replies to the comments, very informative! I have a different brand of sensor but it worked in the exact same way.
Step 2: Set Up the Hardware
I got myself an Arduino Uno, a double relay switch, and a breadboard:
Arduino: https://www.amazon.com/gp/product/B008GRTSV6
Relay: https://www.amazon.com/gp/product/B00E0NTPP4
Breadboard: https://www.amazon.com/gp/product/B01EV640I6
Induced voltage confusing a sensor that is reading an open/closed state of a circuit is a common problem and there is a solution to it. The idea is to "pull up" the pin on the Arduino board to a certain voltage when it is open. At first this seemed counter intuitive to me but check out this video:
https://www.youtube.com/watch?v=wxjerCHCEMg
The cicruit that is being pulled up is the one that runs through the house with all the reed swtiches in it. The Arduino measures it and controls a small relay that is connected to the wireless contact sensor. I chose to connect the wireless sensor to the normally closed terminals on the relay. So when the relay is inactive, the circuit is closed. When the Arduino senses the circuit opening, it activates the relay, which will open the bypass on the wireless sensor.
Here's a link to circuito.io: https://www.circuito.io/static/reply/index.html?solutionId=5ca41b2e0760b3003088a001&solutionPath=storage.circuito.io. The reed switch in that diagram stands for the hardwired circuit in my house. An added benefit of this setup is that when a circuit is open, a red LED on the relay switch board lights up red.
Step 3: Program the Arduino
With an account on https://create.arduino.cc/editor, I programmed this little algorithm into my Arduino:
int frontPerimeterIn = 2; int frontPerimeterOut = 3; int backPerimeterIn = 8; int backPerimeterOut = 9; void setup() { pinMode(led, OUTPUT); pinMode(frontPerimeterIn, INPUT_PULLUP); pinMode(frontPerimeterOut, OUTPUT); pinMode(backPerimeterIn, INPUT_PULLUP); pinMode(backPerimeterOut, OUTPUT); // Serial.begin(9600); } void loop() { int val = digitalRead(frontPerimeterIn); // Serial.print("frontPerimeterIn: "); // Serial.println(val); if (val == 1) { digitalWrite(frontPerimeterOut, LOW); } else { digitalWrite(frontPerimeterOut, HIGH); } val = digitalRead(backPerimeterIn); // Serial.print("backPerimeterIn: "); // Serial.println(val); if (val == 1) { digitalWrite(backPerimeterOut, LOW); } else { digitalWrite(backPerimeterOut, HIGH); } // Serial.println(); delay(100); }
It'll run about 10 times per second and switch the relay according to the state of the hardwired alarm circuit.
Step 4: Voila
And that's it. With the hardware setup and the Arduino programmed I finally got my hardwired alarm circuit to work with my wireless sensor switch!