SMS Based Home Automation Using GSM and Arduino

Hello friends, This is Anto...Mobile phone is a revolutionary invention of the century. It was primarily designed for making and receiving calls & text messages, but it has become the whole world after the Smart phone comes into the picture. In this project we are building a home automation system, where one can control the home appliances, using the simple GSM based phone, just by sending SMS through his phone. In this project, no Smart phone is needed, just the old GSM phone will work to switch ON and OFF any home electronic appliances, from anywhere. You can also check some more Wireless Home Automation projects here: IR Remote Controlled Home Automation using Arduino, Bluetooth Controlled Home Automation along with DTMF Based Home Automation, PC Controlled Home Automation using Arduino.

Supplies:

I strongly suggest you to buy the components from UTSource.net. because in my experience, the quality of the products are good. and also ON TIME Delivery. If you need quality PCB, they will afford at low cost from double side to multilayer. No minimum requirement.

Materials REquired:-

  • Arduino UNO
  • GSM Module
  • ULN2003
  • Relay 5 volt
  • Bulb with holder
  • Connecting wires
  • Bread board
  • 16x2 LCD
  • Power supply
  • Cell phone

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Gather the Required Components

You can use any kind of arduino uno, nano, promini, leanordo board to make this project.

In this project, Arduino is used for controlling whole the process. Here we have used GSM wireless communication for controlling home appliances. We send some commands like “#light on*”, “#light off*” and so on for controlling AC home appliances. After receiving given commands by Arduino through GSM, Arduino send signal to relays, to switch ON or OFF the home appliances using a relay driver.

Step 2: Block Diagram

Here we have used a prefix in command string that is “#”. This prefix is used to identify that the main command is coming next to it and "*" at the end of string indicates that message has been ended.
When we send SMS to GSM module by Mobile, then GSM receives that SMS and sends it to Arduino. Now Arduino reads this SMS and extract main command from the received string and stores in a variable. After this, Arduino compare this string with predefined string. If match occurred then Arduino sends signal to relay via relay driver for turning ON and OFF the home appliances. And relative result also prints on 16x2 LCD by using appropriate commands.

Step 3: Circuit Diagram

Connections of this GSM based home automation circuit are quite simple, here a liquid crystal display is used for displaying status of home appliances which is directly connected to arduino in 4-bit mode. Data pins of LCD namely RS, EN, D4, D5, D6, D7 are connected to arduino digital pin number 13,12,11,10,9,8. And Rx and Tx pin of GSM module is directly connected at Tx and Rx pin of Arduino respectively. And GSM module is powered by using a 12 volt adaptor. 5 volt SPDT 3 relays are used for controlling LIGHT, FAN and TV. And relays are connected to arduino pin number A0, A1 and A2 through relay driver ULN2003 or transistor for controlling LIGHT, FAN and TV respectively.

Step 4: Download the Code in the Arduino Uno Board

I have attached the code. download the code and make suitable edit and upload the code inside the arduino uno.

Serial.println("AT+CNMI=2,2,0,0,0");

The most important line of the code to read the sms. so don't edit this command.

void delete_sms()
{ boolean mg_flag=1; while(mg_flag) { Serial.println("AT+CMGD=1"); delay(1); while(Serial.available()>0) { if(Serial.find("OK")) mg_flag=0; } delay(1000); } }

This is the code for delete the previous sms. This line to more important

Step 5: Result

Now send the sms as shown in the picture to the sim inserted on the gsm module. now observe that the gms module gets proper network through the network led indication. you can also check the status of the load on the LCD display.

for more queries.. comment me... this definitely works as i worked.. see you on another article

Be the First to Share

    Recommendations

    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    Discussions