/IOT-based-Home-Automation-System

The main objective of this project is to develop a home automation system using an Arduino board with Bluetooth being remotely controlled by an app. As technology is advancing so houses are also getting smarter. Modern houses are gradually shifting from conventional switches to centralized control systems, involving remote controlled switches.

Primary LanguageC++

Abstract

The main objective of this project is to develop a home automation system using an Arduino board with Bluetooth being remotely controlled by an app. As technology is advancing so houses are also getting smarter. Modern houses are gradually shifting from conventional switches to centralized control systems, involving remote controlled switches. Presently, conventional wall switches located in different parts of the house make it difficult for the user to go near them to operate. Even more it becomes more difficult for the elderly or physically handicapped people to do so. Remote controlled home automation systems provide the most modern solution with smart phones. To achieve this, a Bluetooth module is interfaced to the Arduino board at the receiver end while on the transmitter end, a GUI application sends ON/OFF commands to the receiver where loads are connected. By touching the specified location on the GUI, the loads can be turned ON/OFF remotely through this technology. The loads are operated by Arduino board.

Components Description

Jumper wires come in three versions:

• Male-to-male jumper

• Male-to-female jumper

• Female-to-female jumper

image image image

Bluetooth Module HC-05 Pin Description:

• Enable - This pin is used to set the Data Mode or and AT command mode (set high).

• VCC - This is connected to +5V power supply.

• Ground - Connected to ground of powering system.

• Tx (Transmitter) - This pin transmits the received data Serially.

• Rx (Receiver) - Used for broadcasting data serially over Bluetooth.

• State -Used to check if Bluetooth is working properly.

image

4 Channel Relay Module Specifications:

• Digital output controllable

• Compatible with any 5V microcontroller such as Arduino.

• Rated through-current: 10A (NO) 5A (NC)

• Control signal: TTL level

• Max. switching voltage 250VAC/30VDC

• Max. switching current 10A

• Size: 76mm x 56mm x 17mm

image

Aurdino UNO General pin functions:

• LED: There is a built-in LED driven by digital pin 13. When the pin is high value, the LED is on, when the pin is low, it is off.

• VIN: The input voltage to the Arduino/Genuino board when it is using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.

• 5V: This pin outputs a regulated 5V from the regulator on the board. The board can be supplied with power either from the DC power jack (7 - 20V), the USB connector (5V), or the VIN pin of the board (7-20V). Supplying voltage via the 5V or 3.3V pins bypasses the regulator and can damage the board.

• 3V3: A 3.3-volt supply generated by the on-board regulator. Maximum current draw is 50 mA.

• GND: Ground pins.

• IOREF: This pin on the Arduino/Genuino board provides the voltage reference with which the microcontroller operates. A properly configured shield can read the IOREF pin voltage and select the appropriate power source or enable voltage translators on the outputs to work with the 5V or 3.3V.

• Reset: Typically used to add a reset button to shields that block the one on the board.

image

Software Implementation (CAD Software)

Schemantic View

image

Breadboard View

image

Connections

• Digital pins 8,9,10,11 of the Arduino board and connected to input 1,2,3,4 of the relay.

• Now for the power supply of the relay, 5V and GND pins of the Arduino are connected to VCC and GND of the relay respectively.

• EN and GND of the Bluetooth module are connected to 3.3V and GND of the Arduino for its power supply.

• Now, the Arduino is connected to the PC and the code is uploaded. Once it has been uploaded, the Arduino starts blinking.

• After this, the Bluetooth RX is connected to the TX of the Arduino and the Bluetooth TX is connected to the RX of the Arduino. The Bluetooth module starts blinking.

• The Bluetooth module is paired with the phone’s Bluetooth and the Bluetooth Automation app is started.

• Connection is established and various ON/OFF buttons are made visible.

Functions

  1. Serial.begin(9600): passes the value 9600 to the speed parameter. This tells Arduino to get ready to exchange messages with the ‘Serial Monitor at a data rate of 9600 bits per second. That’s 9600 binary ones or zeros per second and is commonly called a baud rate.

  2. pinMode: configures the specified pin to behave as an output or input.

  3. if (Serial.available() > 0): It will only send data when the received data is greater than 0'

  4. Serial.read(): reads the data in bytes

  5. digitalWrite: If the pin has been configured as an OUTPUT with pinMode(), its voltage will be set to the corresponding value: 5V (or 3.3V on 3.3V boards) for HIGH, 0V (ground) for LOW

Hardware Implementation

image image

Working

• Initially the variable for storing data is set to 0 for storing incoming data.

• Next the data rate for serial transmission is set using Serial.begin function.

• Then 8,9,10,11 pins of Arduino which are connected to relay module are set as output pins, they act as switches.

• The Serial.available checks if any serial data or input is received, if yes, then the data is read using Serial.read function.

• If the data is ‘A’ i.e. ON for pin 8, then the LED is connected to the pin and will be turned on using the digitalWrite function, else if it is ‘a’ i.e. OFF, then the LED will not light up.

• Similar is the case for all other pins 9,10 and 11

• Similarly, if the data read is ‘@’ it means all the pins are ON, which will make all the LEDs light up and ‘#’ implies all are off.

App used for Bluetooth Connection

Bluetooth Automation HC – 05. It is available on the Google Play Store and helps in remotely controlling the 8-channel Relay Module via Bluetooth.

image image image

Conclusion

Houses are becoming smarter as technology advances. The traditional switches in modern homes are rapidly giving way to centralized control systems with remotecontrolled switches. It is challenging for the user to approach the traditional wall switches, which are scattered throughout the home, in order to use them. The most cutting-edge solution with smartphones is remote controlled home automation. Using home automation might result in more innovative and effective energy-saving methods. In this project, we implemented a home automation system using Arduino and Bluetooth. Through this project, the user can simply turn devices like lights, fans, AC, TV, etc. on using an app which is connected to the Arduino circuit using Bluetooth.