This project refers to a Security Alarm System implemented with Arduino and various electronics.
Below, are some of the system characteristics:
- A LCD is used for displaying helpful informative, warning and error messages
- A potentiometer is used for adjusting the contrast of the LCD
- The LCD is driven only with 2-wires by using a resistor, a diode and a shift register
- A decoupling capacitor is used with the shift register to prevent gibberish characters in LCD
- A piezo buzzer is used for notifying the users when a possible threat is recognized
- A loud security siren is used which is driven by a relay module
- The system is enabled / disabled with RFID cards
- A RFID reader is used for reading the RFID cards
- The RFID reader is connected in hardware serial
- A switch exists for connecting / disconnecting the hardware serial with the RFID reader
- Appropriate design patterns are used in software to reduce memory usage of global variables
- A PIR sensor is used for detecting possible motion
- A magnetic door switch is used for detecting possible violation
- The system can support also 5 more security zones (for example 5 more magnetic door switches)
- A GSM shield with a SIM card is used for sending SMSs and making missed voice calls
- The GSM shield is driven by using a well-written custom library based on SoftwareSerial
- All messages which are printed in the LCD are stored in flash memory
- A microSD shield is used for storing the RFIDs, the mobile numbers and the SMS text
- The main logic of the system is controlled in the software with a finite state machine
- You can add / remove RFIDs, mobile numbers or change the SMS text without software changes
- The PIR sensor is calibrated at boot time
- All users (mobile numbers) are notified 3 times with a SMS message and a missed voice call
- One line in loop function due to elegant code! 🙂
- The RFIDs in the microSD are encrypted with XOR encryption
- A one-time pad encryption key is provided at runtime with a RFID glass capsule
- U-Shaped wires are used for the connections in breadboard
- A sensor shield is used in order to expose PINs of Arduino board
- The system is powered with an external power supply
Hardware components:
- Arduino UNO
- SparkFun microSD shield
- Arduino GSM shield
- Arduino sensor shield
- 6x – 8-pin Arduino stackable headers (optional)
- 6x – 6-pin Arduino stackable headers (optional)
- U-Shaped jumper wires kit
- 10K potentiometer (optional)
- SparkFun RFID USB reader
- RFID reader ID-12LA
- Piezo buzzer
- SPDT mini power switch
- Flexible stranded core wires
- 1N4148 diode
- Ceramic capacitor 0.1uF
- 1K Resistor
- HD44780 compatible 16×2 LCD
- Magnetic door switch
- 74HC595 shift register 8-bit
- PIR sensor
- Relay module
- Breadboard
- RFID tags
- RFID glass capsule (optional)
- 2x Switching mode power supply MW3K10GS
- USB cable A to B
- SIM card
- 2x Half buckled 3 wire cables
- 512MB microSD card
- Security alarm siren (110db)
Future changes:
- I might use a UPS to support the system even when the input power source fails
- I will extend the wires of magnetic door switches and PIR sensor in order to hide the system
- I will use a metallic security box for embedding the system in it
For more information you can get the project itself:
Below, are some pictures of the project: