Make Arduino Based Home Automation Part-1 Using ARDUINO UNO R3

Hello every one welcome back . In this project tutorial I will show you how to make arduino based home automation , this means you can control all of your home appliences  and devices using a single microcontroller . This Tutorial is divided into two part . In second part of this tutorial I will use RF communication module for  wireless home automation . Let us first upload this program to the circuit above and observe the result . The circuit with code can be download from this link wireless home automation . And description is shown below the code .

Make Arduino Based Home Automation Part-1 Using ARDUINO UNO R3 (Code)

/*created by Prasant Bhatt
you can do whatever you want with this code
#include `
LiquidCrystal lcd(10, 9, 8, 7, 6, 5);
// constants won't change. They're used here to
// set pin numbers:
const int buttonPin1 = 2; // the number of the pushbutton pin
const int buttonPin2 = 3;
const int buttonPin3 = 4;
const int relayPin1 = 13; // the number of the relay pin
const int relayPin2 = 12 ;
const int relayPin3 = 11;
// variables will change:
int buttonState1 = 0; // variable for reading the pushbutton status
int buttonState2 = 0;
int buttonState3 = 0;
void setup() {
// initialize the relay pins as an output:
pinMode(relayPin1, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
lcd.begin (20, 4);
lcd.clear ();
lcd.setCursor (0, 0);
lcd.print ("WWW.ELECTRONIFY.ORG");
void loop(){
// read the state of the pushbutton value:
buttonState1 = digitalRead(buttonPin1);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState1 == HIGH) {
// turn Lamp on:
digitalWrite(relayPin1, HIGH);
lcd.setCursor (0, 1);
lcd.print ("LAMP 1 IS ON ");
else {
// turn Lamp off:
digitalWrite(relayPin1, LOW);
lcd.setCursor (0, 1);
lcd.print ("LAMP 1 IS OFF ");
lcd.setCursor (0, 2);
lcd.print ("FAN IS ON ");
lcd.setCursor (0, 2);
lcd.print ("FAN IS OFF ");
lcd.setCursor (0, 3);
lcd.print ("LAMP 2 IS ON ");
lcd.setCursor (0, 3);
lcd.print ("LAMP2 IS OFF ");

Make Arduino Based Home Automation Part-1 Using ARDUINO UNO R3 (Schematic Diagram)

Make Arduino Based Home Automation Part-1 Using ARDUINO UNO R3 WIRE-LESS-HOME-AUTOMATION-PART-1 schematic diagram


The code is very simple to understand , the step by step algorithm is shown below

  • first include liquidCrystal header file and initialize LCD using
  • after that define pins for buttons and relay
  • initialize button state 0 initially
  • inside the setup define the button pin as input (because we are taking input from buttons ) and relay pins for output
  • display ELECTRONIFY.ORG on first line of liquid crystal display
  • inside infinite loop , determine whether button are pressed or not using digitalRead function
  • if 1st button is pressed then 1st lamp is on and that condition is displayed on liquid crystal display
  • similarly if second button goes high ( ie pressed ) then motor is on and that condition is displayed
  • similar condition for third button and 2nd lamp

that’s it . In second part we will discuss about how to make wireless arduino based home automation , Keep sharing and stay tuned  . If you have any question about this project please comment below .

Make Arduino Based Home Automation Part-2 (wireless) Using ARDUINO UNO R3

About The Author

Scroll to Top
Read previous post:
An almost-GHz active differential oscilloscope probe
An almost-GHz active differential oscilloscope probe

I wanted to probe a PCB at work to see how a ~500MHz differential clock was behaving. My trusty 100MHz...