GSM Home Security Alarm System with Arduino

Home Forums ARDUINO PROJECTS GSM Home Security Alarm System with Arduino

This topic contains 0 replies, has 1 voice, and was last updated by  Sales 2 years, 6 months ago.

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #2268

    Sales
    Keymaster

    This project deals with the design & development of a theft control system for home, which is being used to prevent/control any theft attempt. The developed system makes use of an embedded system (comprises an open hardware microcontroller and a gsm modem) based on Global System for Mobile communication (GSM) technology.
    The designed & developed system can be installed in the home. An interfacing intrusion-detector unit is also connected to the microcontroller-based security system.
    In case of an intrusion attempt, a warning message is being transmitted by the system (as an sms) to the owner’s mobile phone, or to any pre-configured mobile phone number for further processing.
    The designed & developed system can be installed in the home. An interfacing intrusion-detector unit is also connected to the microcontroller-based security system.
    In case of an intrusion attempt, a warning message is being transmitted by the system (as an sms) to the owner’s mobile phone, or to any pre-configured mobile phone number for further processing.

    The security system comprises of an Arduino Uno microcontroller and a standard SIM900A based GSM/GPRS modem. The whole system can be powered from any 12VDC/2A power supply unit/battery.

    System diagram of the security system is shown here.

    Working of the system is very simple and self-explanatory. When input power is applied to the system, the system goes into standby mode. However, when the terminals of connector J2 is short circuited, the preprogrammed warning message is automatically transmitted to the concerened mobile number. You can connect any intrusion detection unit (such as a light fence or a motion sensor) to the input connector J2. Note that an active-low (L) at pin 1 of connector J2 triggers the security system.

    Further, an optional “call – alert” facility is added to the security system, which will initiate a telephone call when push button switch S2 is activated by the user (or by another electronic module). After the “call” key (S2) operation, the call can be aborted by depressing the second push button switch S3 – the “end” key. This option can be used to make a “missed call” alert, incase of an intrusion attempt.

    The circuit is highly-flexible so that you can use any SIM900A modem (and ofcourse any Arduino Uno board) of your choice. Carefully read the modem documentation before construction to make the task sweet and simple.

    Arduino Sketch:

    /*
    * Arduino Home Security GSM Alarm
    * An Arduino + SIM900A Project
    * T.K.Hareendran
    * Tested at TechNode PROTOLABZ
    * 21 August 2014
    * http:// www.electroschematics.com
    */
    //Connect the Tx pin of the GSM modem to D3
    //Connect the Rx pin of the GSM modem to D4
    //SMS Trigger Key/Input connected to D7 (Active LOW)
    //CALL Trigger Key connected to D8 (Active LOW)
    //END Key Connected to D9 (Active LOW)
    #include <NewSoftSerial.h>
    NewSoftSerial mySerial(3,4); // RX and TX pins to communicate with GSM module
    #define msg_key 7
    #define call_key 8
    #define end_key 9
    String number ="0000000000"; // Add the 10-Digit Mobile Number to which message / call is to be made,by replacing the 0's
    void setup()
    {
       Serial.begin(9600);
       mySerial.begin(9600);
       pinMode(msg_key,INPUT);
       pinMode(call_key,INPUT);
       pinMode(end_key,INPUT);
       digitalWrite(msg_key,HIGH);
       digitalWrite(call_key,HIGH);
       digitalWrite(end_key,HIGH);
    }
    void loop()
    {
       //Sends an sms everytime msg_key is pressed
       if (digitalRead(msg_key)==LOW) // Check if the sms key is being pressed
       {
          mySerial.println("AT+CMGF=1"); // Set the Mode as Text Mode
          delay(150);
          mySerial.println("AT+CMGS=\"+00"+number+"\""); // Specify the Destination number in international format by             replacing the 0's
          delay(150);
          mySerial.print("Warning! Intruder Alert!"); // Enter the message 
          delay(150);
          mySerial.write((byte)0x1A); // End of message character 0x1A : Equivalent to Ctrl+z
          delay(50);
          mySerial.println();
       }
       //Makes a call when call_key is pressed
       else if (digitalRead(call_key)==LOW) // Check if the call key is being pressed
       {
          mySerial.println("ATD+91"+number+";"); //Specify the number to call
          while(digitalRead(call_key)==LOW);
          delay(50);
       }
       //Hang the call
       else if (digitalRead(end_key)==LOW) // Check if the hang up key is being pressed
       {
          mySerial.println("ATH");
          while(digitalRead(end_key)==LOW);
          delay(50);
       }
    } 
Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.