This shield transform an Arduino Mega 2560 in a burglar alarm ... with some cool extras.
- Supports NFC and RFIDs activation with authorization control
- Full web interface for managing and configuring the system, supported by smartphones as native WebApp
- Mail and GSM notifications when the system is alarmed
- Domotic integration (it may open/close windows, turn on/off lights, and so on)
- Fully configurable timings and options, stored in the arduino eprom
- Perimetral and Volumetric sensors may be independently enabled/disabled
- Automatically disable open windows sensors, warning you when activated
- Batteries to keep the system running on power fault
- DHT temperature/humidity sensor and communication to emoncms server or similar (read here for further information: http://emoncms.org)
- Good looking installation :)
Components are listed in the proper paragraph below. Basically, the system is made up two parts:
The main circuit (Arduino Mega shield): this shield is connected with all the sensors (at the moment, 6 magnetic sensors and 2 volumetrics), the external siren, the ethernet and the GSM module. It is powered by a small UPS with a 2,2 Ah battery, enough to make it working for some hours if the power fall off. The siren has an independent 2 Ah battery too. The circuit communicates with the remote control panel with i2c. The whole circuit is completely hidden in a in-wall mounted box.
It basically read sensors as "buttons"; magnetic sensors (and tampers, like the siren one) were supplied directly with 5V, while the volumetric sensor output (12V) was converted to 5V with a voltage divider. To avoid arduino heating problems, I supplied energy to the components with independent voltage regulators (ENC28J60 has great consumption). The circuit also supply power to the siren. All power parts are protected with fuse and decoupling capacitors [not shown in the schematics for simplicity].
The remote panel: I tried to build a good looking panel for enabling/disabling/controlling the alarm. So, I use a in-wall mounted box covered with a white plexyglass frame with a small window for LCD. In the box, I put a small circuit, essentially an i2c hub with proper voltage regulators (the whole panel is supplied with 12v) that I use to communicate with all the i2c components: NFC reader, LCD and MPR121 for capacitive buttons/led. I also add a little speaker to give the user sound feedbacks. The panel is connected to the shield with a long 2+4 wire cable. The result is pretty good and it works perfectly. Since the i2c cable that connects to the main circuit is long, more than i2c specification, I planned to add some kind of serial translator. However, it already works perfectly so I didn't need it; the only trick to make it working fine was to add some capacitors to the magnetic sensors pins near the Arduino, since the rolling shutter electric motors randomly introduced some noise that caused i2c errors.
Software was obviously written with Arduino IDE and it may be downloaded from the link on the left.
I used several libraries: UIPEthernet for ethernet (or Ethernet if you want to use W5100 standard chipset), time and timezone for time management, LiquidCrystal_I2C for LCD and many others. For safety purpose, I preferred WSWire library over standard Wire, because it offers non-blocking i2c protocol (so, if i2c fails or has been broken, the system keeps running on). You can download the whole Arduino 1.6.4 IDE with the proper libraries from the link on the left.
The system configuration (sensor number / type, authorized NFC IDs, etc.) has to be hard-coded in the arduino code in some proper sections; system options (siren duration and other timings, domotic control, etc.) may be runtime configurated through the webserver, and will be stored in the Arduino eprom. Date and time are automatically and periodically acquired with NTP.
Basically, the system has three user interfaces:
- Remote Panel: using the capacitive buttons,...Read more »