GSM Based Home Automation using Arduino: I recently upload Home automation projects using computer, IR-based home devices control system and Bluetooth. But we are limited to control devices in a small range. So I thought I should try with GSM module and it works like a charm. Now I can control devices from a large distance I mean very large distance. This project is based on GSM module which in our case SIM900A. The devices switch on and off when the GSM module receives specified messages. you can check a list of home automation projects.
Components Required for GSM Based Home Automation using Arduino
- Arduino Uno: We use Arduino due to its simplicity and it also provides a much digital pin to interface with LCD, GSM module and relay module at the same time.
- GSM SIM900A: If you are familiar with GSM module then you have known how it works if not search it on our website. We use only four pins of GSM RX, TX, Vcc and ground. Other information is defined in that tutorial. Note use an only power supply which can supply up to 1 amp.
- 4 Channel Relay Modules: The module we use in this project is HL-54S. It switches on and off using a 5v logical signal from Arduino. It can bear up to 250VAC and 10A. These modules have 4 channels so we can control 4 AC devices at a time.
- 16×2 LCD: LCD is used to display project name, a list of commands which can be entered then it asks to give any command and show the status of the command which is entered. We use 16×2 LCD because it is easy to interface with Arduino and very cheap in price. 10k potentiometer is used to control the contrast of display
- AC bulbs with holders: AC bulbs are used to represent devices and appliances. Because it is easy to handle and very useful when you are prototyping any AC project.
- AC wire with plug: I advise you to use good quality wire when working with higher voltages. It is always useful to use electrical tape to protect connections.
- External 5 Volt Supply: 5-volt dc supply is required to switch a relay on and off. Otherwise, it did not work. Also, do not supply 5v from Arduino.
- GSM Rx to Arduino Tx.
- GSM Tx to Arduino Rx.
- 5v to external 5v supply which can deliver up to 1 amp.
- Ground to ground.
- VSS to ground.
- VDD to supply voltage.
- VO to adjust pin of 10k potentiometer.
- RS to Pin 8.
- RW to a ground.
- Enable to Pin 9.
- LCD D4 to Pin 10.
- LCD D5 to Pin 11.
- LCD D6 to Pin 12.
- LCD D7 to Pin 13.
- Ground one end of the potentiometer.
- 5v to another end of the potentiometer.
4 Channel Relay modules:
- External 5 volt to JD VCC.
- Ground to ground.
- Ini1 to Pin 3.
- Ini2 to Pin 4.
- Ini3 to Pin5.
- Vcc to Arduino 5v.
- Connect one end of all bulbs to normally open terminal of relays.
- One end of 220VAC to all common terminals of a relay and another end with another terminal of bulbs.
Working with GSM Based Home Automation using Arduino
First of all, we send the specified command to GSM module through messages using any mobile. GSM module receives the messages Arduino fetch the desired instruction from the message and perform the required operation such as on and off devices and display devices status on LCD.
|#A.fan on*||Fan ON|
|#A.fan off*||Fan OFF|
|#A.light on*||Light ON|
|#A.light off*||Light OFF|
|#A.tv on*||TV ON|
|#A.tv off*||TV Off|
|#A.all on*||All ON|
|#A.all off*||All OFF|
Code for GSM based home automation system