Professional Documents
Culture Documents
1.1 Introduction:
For the last few years the wireless world has been bombarded daily with information
about a new generation of radio frequency(RF) technologies that would profoundly impact ,if
not revolutionize,the way we live and contact our businesses.
This project work explains how to control the electrical appliances using an Android
device. Operating conventional wall switches is difficult for physically handicapped or elder
people. This project provides the solution to this problem by integrating all the electrical
appliances to a control unit that can be operated by an Android application device (Android
smart phone or Tablet). Proposed system controls the electrical loads based on the data
transmitted by the Android device. An android application should be installed in users
mobile or tablet to control the electrical loads. Using this android application user can send
the commands to the Bluetooth module to control the electrical loads. Wireless technology
used in this project is Bluetooth. It can also be called as Android based Home Automation
System or Remote Password Operated Electronic Home Appliances Control System.
1
reasons for this situation. It is not possible to make change Bangladesh over night. But
if we can take and do some pragmatic job step by step then it will be possible to
transform Bangladesh into a progressive country. As a Bangladeshi civilian we should
do it.
There is no statistics of buildings which have facilities and structures for the
conveniences of the elderly and people with moving disabilities. So we have tried a
little bit to facilitate their way of life using technology which really makes them feel
independent and relax. It actually eases their life style with a single touch on the
screen of a smart phone.
Lets have a look on the aim of this project from technological point of view. If we
think how cool it would be if we are able to control our AC appliances just with a
touch of our Android smart phone. All we need to tap on our phone and we can easily
switch ON/OFF our lights, fans and other home appliances. AVR micro-controllers
provide a great platform to build such interesting projects and we have used
ATMEGA32 micro-controller which is based on AVR.
Another joking reason of making such a project would be simple because some of us
are way too lazy and want to control things sitting at one place. Don't want always to
get up to the switch boards just to switch things ON and OFF.
Chapter 2
In chapter 3 detail descriptions of each and every component are discussed with
necessary working principle, circuitry, block diagrams and pin diagrams.
Chapter 4 introduces the simulation software required for the project. This chapter
also explains the software features and uses in the project with associated sample
circuit.
In chapter 5 ,the coding of the circuit and simulation of the main control circuit is
introduced. Here it is also showed with screenshots that coding is successfully
compiled or not on software.
Basides limitations there are many advantages of the project and the last chapter 7 of
this paper contains the applications, advantages and related works of the project. It
also attaches the references from where we have collected some ideas and outlines of
this projects.
Block Diagram:
3
Real life Functional block diagram
So from the above description and two block diagrams its very clear that which
components are required for hardware implementation of this project.
4
2.4 Required Equipments:
Atmega32 microcontroller
Bluetooth Module HC05
Relay(5V DC SPDT Relay)
Bulb
Holder
Wire
BC 547 transistor
Android phone
Bluetooth controller app Android app
1k resistor
7805 Power Supply circuit
This chapter briefly describes the fundamental components with associated images,
pin diagrams and also explains internal configurations. It also explains the main
functioning of these equipments.
Chapter 3
3.1 Microcontroller
5
Before describing the components of the project a question arises on our mind that
what is Microcontroller? So lets start answering this question.
A device which includes a central processing unit (CPU), memory, and (generally)
an assortment of I/O peripherals (UART, ADC, DAC, general-purpose I/O, I2C, etc.)
in a tightly-coupled standalone package.
ATmega32 microcontroller
The ATmega32 is a low-power CMOS 8-bit microcontroller based on the AVR
enhanced RISC architecture. By executing powerful instructions in a single clock
cycle. The ATmega32 achieves throughputs approaching 1 MIPS per MHz allowing the
system designer to optimize power consumption versus processing speed.
3.1.1 Features :
6
Peripheral Features
Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes
One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture
Mode
Real Time Counter with Separate Oscillator
Four PWM Channels
8-channel, 10-bit ADC
8 Single-ended Channels
7 Differential Channels in TQFP Package Only
2 Differential Channels with Programmable Gain at 1x, 10x, or 200x
Byte-oriented Two-wire Serial Interface
Programmable Serial USART
Master/Slave SPI Serial Interface
Programmable Watchdog Timer with Separate On-chip Oscillator
On-chip Analog Comparator
Operating Voltages
2.7 - 5.5V for ATmega32L
4.5 - 5.5V for ATmega32
Speed Grades
0 - 8 MHz for ATmega32L
0 - 16 MHz for ATmega32
7
Fig.3.1.1 Atmega32 Microcontroller IC
8
GND Ground
Port B is an 8-bit bi-directional I/O port with internal pull-up resistors (selected
for each
bit).
The Port B output buffers have symmetrical drive characteristics with both high
sink
and source capability.
As inputs, Port B pins that are externally pulled low will source
current if the pull-up resistors are activated.
The Port B pins are tri-stated when a reset
condition becomes active, even if the clock is not running.
Port C (PC7..PC0) :
9
Port C is an 8-bit bi-directional I/O port with internal pull-up resistors
(selected for each
bit).
The Port C output buffers have symmetrical drive characteristics with both
high sink
and source capability.
As inputs, Port C pins that are externally pulled low will source
current if the pull-up resistors are activated. The Port C pins are tri-stated when
a reset
condition becomes active, even if the clock is not running.
If the JTAG interface is enabled, the pull-up resistors on pins PC5(TDI),
PC3(TMS) and PC2(TCK) will be activated even if a reset occurs.
The TD0 pin is tri-stated unless TAP states that shift out data are entered.
Port D (PD7..PD0) :
RESET :
Reset Input. A low level on this pin for longer than the minimum pulse length
will generate a reset, even if the clock is not running.
Shorter pulses are not guaranteed to generate a reset.
XTAL1 :
Input to the inverting Oscillator amplifier and input to the internal clock
operating circuit.
XTAL2 :
Output from the inverting Oscillator amplifier.
AVCC :
10
AVCC is the supply voltage pin for Port A and the A/D Converter. It should be
externally connected to VCC, even if the ADC is not used. If the ADC is used, it
should be connected to VCC through a low-pass filter.
AREF :
AREF is the analog reference pin for the A/D Converter.
Why we have chosen Atmel AVR based microcontroller over others microcontroller?
There are many others Family of Microcontrollers but we have used AVR based
microcontroller for the above reasons.
The AVR family has a lot of good, inexpensive, hobbyist-friendly devices with
nice peripherals, low power consumption, and good cross-platform support.
Good: They work well. Easy to program in C for most basic functions. Adequate
documentation.
Inexpensive: Lots of $3-$5 parts, available from major distributors in small
quantity.
Hobbyist friendly: Parts in through-hole packages-- a big contrast to many of
the chip families out there today. Newer AVR (e.g., xmega) devices are less so.
Nice peripherals: Built-in oscillator, flash memory, on-board RAM, serial ports,
ADC, EEPROM, and the other goodies that make it possible to run a single
MCU on a protoboard to do basic stuff, without too much hassle.
Low power consumption. AVR's major pitch point these days. Suckers can run
on a battery almost forever if you know what you're doing.
Good cross-platform support: The AVR was designed with C support in mind--
not as an afterthought. GCC support came early, and a big open source
community developed around that. It's still one of the best MCUs that you can
develop from any platform with free tools. This is a big one with respect to the
other families, many of which use proprietary compilers or have lackluster gcc
support. Even PIC was pretty late to the game with good free C compilers.
11
3.2 Bluetooth Module HC -05
The Bluetooth module used in this project is HC-05 V1.02 .HC-05 module is an easy to
use Bluetooth SPP (Serial Port Protocol) module, designed for transparent wireless
serial connection setup.
Serial port Bluetooth module is fully qualified Bluetooth V2.0+EDR (Enhanced Data
Rate) 3Mbps Modulation with complete 2.4GHz radio transceiver and baseband. It
uses CSR Bluecore 04-External single chip Bluetooth system with CMOS technology
and with AFH(Adaptive Frequency Hopping Feature). It has the footprint as small as
12.7mmx27mm. Hope it will simplify your overall design/development cycle.
12
Fig.3.2.2 PCB connection of HC-05 module IC
Default Baud rate: 38400, Data bits:8, Stop bit: 1,Parity:No parity.
Supported baud rate: 9600,19200,38400,57600,115200,230400,460800.
Given a rising pulse in PIO0, device will be disconnected.
Status instruction port PIO1: low-disconnected, high-connected.
PIO10 and PIO11 can be connected to red and blue led separately. When master
and slave are paired, red and blue led blinks 1time/2s in interval, while
disconnected only blue led blinks 2times/s.
Auto-connect to the last device on power as default.
Permit pairing device to connect as default.
Auto-pairing PINCODE:0000 as default .
Auto-reconnect in 30 min when disconnected as a result of beyond the range of
connection.
3.3 Relay
3.3.1: What are relays ?
Why is that useful? As the name suggests, many sensors are incredibly sensitive
pieces of electronic equipment and produce only small electric currents. But
often we need them to drive bigger pieces of apparatus that use bigger currents.
13
Relays bridge the gap, making it possible for small currents to activate larger
ones. That means relays can work either as switches (turning things on and off)
or as amplifiers (converting small currents into larger ones).
2= Movable contact
14
It is seen that there is coil between
pin 1 & 3.
If the coil is not drawn there, then
another way to understand the coil
connected pins is to put a ohm
meter across pin 1 and 3 and observe
the resistance between these 2 pins.
The resistance is too low in this
point as it is only 2 ends of a coil.
Fig.3.3.3 When the voltmeter is connected Fig.3.3.4 When the voltmeter is connected
across pin 2 & 5 is seen the voltage across it is across pin 2 & 4 is seen the voltage across it is
ZERO.which means they are shorted. ZERO.which means they are OPEN.
So, it is NORMALLY CLOSED So, it is NORMALLY OPEN
15
3.3.4 How relays work
Here are two simple animations illustrating how relays use one circuit to switch on a
second circuit.When power flows through the first circuit (1), it activates the
electromagnet (brown), generating a magnetic field (blue) that attracts a contact (red)
and activates the second circuit (2). When the power is switched off, a spring pulls the
contact back up to its original position, switching the second circuit off again.
Fig.3.3.5 Switching on the second circuit. Fig.3.3.6 Switching off the first circuit.
This is an example of a "normally open" (NO) relay: the contacts in the second circuit
are not connected by default, and switch on only when a current flows through the
magnet. Other relays are "normally closed" (NC; the contacts are connected so a
current flows through them by default) and switch off only when the magnet is
activated, pulling or pushing the contacts apart. Normally open relays are the most
common.
Here's another animation showing how a relay links two circuits together. It's
essentially the same thing drawn in a slightly different way. On the left side, there's an
input circuit powered by a switch or a sensor of some kind. When this circuit is
activated, it feeds current to an electromagnet that pulls a metal switch closed and
16
activates the second, output circuit (on the right side). The relatively small current in
the input circuit thus activates the larger current in the output circuit:
So this is the main working principle of relay which we have discussed elaborately
with associated circuitry. Now the question is that how the relay is driven? Answer
sounds simple .The relay requires a driving circuitry using Transistor. So the next topic
will be on Relay Driving Circuitry.
This post will outline how we can drive a relay using micro-controllers like AVR.
Concepts are same for any other micro-controller too. Working principle of relay have
been already discussed.So now we can come to the point.
Before you connect a relay to a microcontroller, you need to first make a few decisions.
Key ones are listed below:
1. What will be connected to the relay output and how much current is required for
the relay output.
2. How much current is required to energize the relay and what is the voltage rating.
The voltage and current required to energize the relay should be in range (e.g. 5V DC
12 VDC). We should pick the ones that can run on 5V (since we can use the same
power supply as microcontroller). Most relays we have come across are rated 6V, but
work fine on 5V too.
In our project the relay which we have used is rated as 5VDC, 5A. This means, that the
coil needs about 5V to energize can take a load current of upto 5A. One question
remains, how much current is required to energize the relay. Some sellers will write
17
the Coil Rated Current else we have to check the datasheet. The rated coil current
for this model as per the datasheet was about 40mA. Therefore, we need to provide 5V
DC and a flow of about (max.) 40mA should be enough to energize the relay.
This is where, the next item comes is a power transistor. We will use a transistor as a
driver to provide the required current to the relay. Ensure that the ratings of the
transistor, far exceed the coil ratings of the relay (meaning, the CE voltage must be
much larger than 5V DC and the collector current must be much larger than 40mA).
Once such transistor is BC 547. We will use this transistor as a switch. The
microcontroller will provide the on/off signal to the base of this transistor. This
transistor will be driven to saturation and full current will start to flow. The picture
below outlines the circuit.
The transistor collector is connected to the relay coil. The transistor base is driven
by a microcontroller pin. When the microcontroller wants to switch on the relay, it
provides 5V (logic high) at its output pin. The output pin is connected to the base of
the transistor. The transistor goes into saturation and current starts to flow from Vcc
to ground (logically) via the coil and the transistor (CE). This energizes the relay and
point C now switches and connects to point A, completing the LED circuit.
18
If no signal is present, then the transistor is cut-off, no current flows through the
relay coil and thus, point C is in contact with point B, keeping the LED off.
One crucial aspect to note here is what is the value of the resistor R. Consider it
this way, if you are driving the point M in Fig 3 from a microcontroller that works on
5V (as these days, they also work on 3.3 V), then the drop across the resistance is 5V
0.7V = 4.3 V (0.7 V drops across BE of the transistor).
If the hFE of the transistor (typical value) is 9.3 (from the datasheet of our transistor
for this), then it means, that based current is amplified 9 times and that is the current
flows in the collector. Now, for the given relay, we need about 40mA. Therefore, the
base current should be:
Ib = IC/9
Inserting the values we get Ib = 40 mA/9
Or Ib = 4.3 mA
Now, you need 4.3 mA across 4.3 V, which translates to a resistance of about 1k
Final point 0.2 mA is what is needed at the base and that should be sourced from the
microcontroller. Any microcontroller will be able to deliver this !
BC547 is mainly used for amplification and switching purposes. It has a maximum
current gain of 800. Its equivalent transistors are BC548 and BC549.
The transistor terminals require a fixed DC voltage to operate in the desired region of
its characteristic curves. This is known as the biasing. For amplification applications,
the transistor is biased such that it is partly on for all input conditions. The input
signal at base is amplified and taken at the emitter. BC547 is used in common emitter
configuration for amplifiers. The voltage divider is the commonly used biasing mode.
19
For switching applications, transistor is biased so that it remains fully on if there is a
signal at its base. In the absence of base signal, it gets completely off.
20
Now we can come to the point that how an Android App can be developed. The next
topic will elaborately describe the procedure of developing an android app with proper
diagram.
Step 1:
21
Step 2 :
Step :3
22
3.7 BULB
A 60W bulb has been used as a test light in our project to observe wheather the circuit
works or not .
3.8 HOlDER
To hold the bulb a holder made of plastic on the outside has been used in the circuit.
Fig.3.8.1 Holder
23
3.9 Resistor
In this project resistors has been used mainly for limiting the base current thus biasing
the transistor BC547.
24
Chapter 4
To successfully complete the task of Hardware implementation ,Software simulation
is required greatly.
What actually Software simulation facilitates? Now we can come to the point.
Simulation software is based on the process of modeling a real phenomenon with a set
of mathematical formulas. It is, essentially, a program that allows the user to observe
an operation through simulation without actually performing that operation.
If we think professionally that using software simulations, one can show their
customer how everything works in his/her program. Also he/she can make it
interactive, clients will be able to take a closer look at the features that interest them
most.
In our project we have mainly used Proteus version 8 as Simulation Software. Other
associated required software along with it are stated below.
Proteus ISIS is the best simulation software in the world for various designs with
electronics & microcontroller. It is mainly popular because of availability of almost all
microcontrollers in it. So it is a handy tool to test programs and embedded designs for
electronics hobbyist & expert. We can simulate our programming of microcontroller
in Proteus 8 Simulation Software. After simulating our circuit using Proteus Software
we can directly make PCB design with it so it could be an all in one package for
students and hobbyists.
Example:
25
Led Brightness Control using Microcontroller
Additionally, Atmel Studio includes Atmel Gallery, an online apps store that allows
you to extend your development environment with plug-ins developed by Atmel as
well as by third-party tool and embedded software vendors. Atmel Studio 7 can also
able seamlessly import our Atmega32 sketches as C++ projects, providing a simple
transition path from Maker space to Marketplace.
26
Key Features
Support for 300+ Atmel AVR and Atmel SMART ARM-based devices
Vast source code library, including drivers, communication stacks, 1,600+
project examples with source code, graphic services and touch functionality
through Atmel Software Framework (ASF)
IDE extensions through Atmel Gallery, the online apps store, for development
tools and embedded software from Atmel and third parties
Tune capacitive touch designs, validate system performance, monitor power
consumption, and real-time data and trace graphing with Atmel QTouch
Composer
Configure and test the performance of wireless designs with the Wireless
Composer running on the target
Write and debug C/C++ and assembly code with the integrated compiler
Advanced debugging features include complex data breakpoints, nonintrusive
trace support (SAM3 and SAM4 devices), statistical code profiling, interrupt
trace/monitoring, polled data tracing (Cortex-M0+ devices), real-time variable
tracking with optional times tamping, and integration of Percepio Tracealyzer
for leading-edge debug data visualization and RTOS awareness
Integrated editor with visual assist
New project wizard allowing projects created from scratch or from a large
library of design examples
In-system programming and debugging provides interface to all Atmel in-
circuit programmers and debuggers
Create transparent debug views into CPU and peripherals for easy code
development and debugging
Full chip simulation for an accurate model of CPU, interrupts, peripherals, and
external stimuli
27
Chapter 5
From the previous chapter we have already come to know the details of each hardware
components regarding in this project. We have also observed the procedure of
executing software simulators too. So now we have a rough idea about the project .
Lets focus on the detail view.
28
5.3 Proposed Circuit of Android Based Home Automation Project
This project consists of a microcontroller, three 5V relays, two lamps, a DC motor and
Bluetooth module. Here Atmega32 microcontroller is used. It is an 8 bit
microcontroller and it requires supply voltage of 5V DC. Use 7805 power supply circuit
to provide 5V DC to the microcontroller showed in Fig.3.11.1. We can use 9V DC
battery or 12V, 1A adapter to provide the supply to the circuit. For the above circuit
additionally it needs to connect reset circuit and crystal circuit to the controller to
work properly.
Bluetooth module TX and RX pins are connected to the RXD and TXD pins of
controller. Vcc pin is connected to the 5V and GND pin is connected to ground.
Controller communicates with Bluetooth module using serial communication (UART
protocol). Use a baud rate of 9600 to communicate with Bluetooth. If anyone wants to
change the Bluetooth name and password then he/she needs to use Bluetooth AT
commands.
29
Below are the few Bluetooth AT commands:
Electrical loads (Lamp and DC motor) are connected to the P2.1 and P2.0 through the
relays. Here relays are used to switch AC loads using small DC voltages. NPN
transistors are used to drive the relays.
Very simple Algorithm! But still now a lot of works have to be done before
implementation of hardware or real life control circuit.
30
5.5.1 Program Code on Atmel Studio 7
#include <avr/io.h>
#include "UART.h"
#include "Servo_16_BitPWM.h"
#include <util/delay.h>
int main(void)
// To use these four pins for general I/O operations, JTAG must be disabled.
DDRC=0xff;
DDRA |=0xff;
DDRD |=1<<PD6;
while(1)
PORTA |=1<<PA7;
31
{
byte_received=uart_recieve();
switch (byte_received)
case 1 :
PORTA |= 1<<PA0;
break;
case 2 :
PORTA &=~(1<<PA0);
break;
case 3 :
PORTA |= 1<<PA1;
break;
case 4 :
32
{
PORTA &=~(1<<PA1);
break;
case 5 :
PORTA |= 1<<PA2;
break;
case 6 :
PORTA &=~(1<<PA2);
break;
case 7 :
PORTA |= 1<<PA3;
33
break;
case 8 :
PORTA &=~(1<<PA3);
break;
case 9 :
PORTA |= 1<<PA4;
break;
case 10 :
PORTA &=~(1<<PA4);
break;
case 11 :
PORTA |= 1<<PA5;
break;
case 12 :
PORTA &=~(1<<PA5);
34
}
break;
/*
if (received_byte==1)
PORTC |=1<<PC1;
PORTC |=1<<PC0;
PORTC |=1<<PC3;
else if(received_byte==2)
PORTC &=~(1<<PC1);
PORTC &=~(1<<PC0);
PORTC &=~(1<<PC3);
*/
}//end of switch
}//end of if
35
}//end of while
return 0;
36
Fig 5.5.3: Program successfully compiled
Its now just time to check the circuit design using a simulation software.As our
program is successfully compiled now we can create a hex file which is the prerequisite
for both simulation and hardware implementation.
37
We have already come to the end. The next topic will be on the Experiment and
Result of the project circuit illustrated on the following chapter.
38
Chapter 6:
We have finally reached our goal. we have to implement the hardware as all
equipments are at our hand. So in a nutshell the whole procedure is as follows :
1. Write the program to the Atmel Studio 7 software and create .hex file.
2. Burn program to the controller with help of flash magic.
3. Now give the connections as per the circuit diagram.
4. While making the connections, ensure that there is no any common connection
between DC and AC supplies.
5. Use 7805 power supply circuit to provide regulated 5V DC to the
microcontroller.
6. Switch on the both AC and DC supplies.
7. Now relay output pins gets 220V so do not touch the load connected pins.
8. Install Bluetooth apk file in android device.
9. Now pair android device with Bluetooth module.
10. Send data to switch on the electrical loads.
Experiment : Steps are stated below with associated screenshots .Step 1 and 2 are
already explained in the previous chapter.
39
Step 4: Bluetooth Connection
Connection established
40
Controlling 60W bulb (Light1)
41
6.2 Results
Finally we have successfully implemented the circuit. Now it has to be
synchronized to the main control circuit board at our home. 32 different types of
loads can controlled using this device.
42
Chapter 7
We have already observed the experiments and discussed about the results of the
project circuit. Limitations of the circuit have also explained too. Nevertheless this
circuit has also some advantages, future scope of improvement and now we are going
to focus on it.
Home automation - This project can be used to control various devices in the
Home
Can also be used for security purpose after modification (we can control gate
system or we can interface wireless camera and can control it using our mobile)
Can control device from a long distance, thus it gives ease of access.
Faster operation and efficient.
No need to carry separate remote or any other controlling unit.
Using this project we can control all the loads using a single touch on a
Android based handset.
Ya, answer is here. Our next plan is The development of Global System for Mobile
Communication(GSM)-based home appliance control for smart home system. The
main aim of the prototype development will be to reduce electricity wastage. GSM
module is used for receiving short message service (SMS) from users mobile phone
that automatically enable the controller to take any further action such as to switch
ON and OFF the home appliances such as light, air-conditioner etc. The system will be
integrated with microcontroller and GSM network interface using embedded C
language. MicroC software can be utilized to accomplish the integration. The system
will be activated when user sends the SMS to controller at home. Upon receiving the
43
SMS command, the microcontroller unit then automaticallyll control the electrical
home appliances by switching ON or OFF the device according to the user direction.
In other words, itll read message from the mobile phone and respond to control the
devices according to the received message. The prototype can be successfully
developed and implemented as it seems as like as the recent one. It can provide an
effective mechanism in utilizing the energy source efficiently.
Conclusion
In conclusion, this low cost system is designed to improve the standard living in home.
The remote control function by smart phone provides help and assistance especially to
disabled and elderly. In order to provide safety protection to the user, a low voltage
activating switches is replaced current electrical switches. Moreover, implementation
of wireless Bluetooth connection in control board allows the system install in more
simple way. The control board is directly installed beside the electrical switches
whereby the switching connection is controlled by relay. Furthermore, flexible types of
connections can be designed as backup connections to the system. The connected
GUIs(Graphical User Interface) are synchronized to the control board. They indicate
the real-time switches status. The system is designed in user-friendly interface. The
easy to use interface on Window and Android GUI provides simple control by the
elderly and disabled people. For future work, GSM technology based Home
Automation can be developed which has been already discussed in the previous
section. All the future work is expected without spending extra cost, makes sure of
safety and security too.
Related Works :
There are many related works . we can enlist them as follows :
44
References
[1] J. Mander, and D. Picopoulos, Bluetooth Piconet Applications.
[2] R. Piyare, and M. Tazil, Bluetooth Based Home Automation System using Cell
Phone, in Consumer Electronics, pp. 192-195, 2011.
[3] Kailash Pati Dutta, Pankaj Rai, and Vineet Shekher, Microcontroller Based Voice
Activated Wireless Automation System in Proc. VSRD-IJEE,
[4] https://developer.android.com/guide/topics/connectivity/bluetooth.html
[5]http://www.instructables.com/id/Home-Automation-using-Bluetooth/
[3] http://circuitdigest.com/microcontroller-projects/bluetooth-controlled-home-
automation-using-8051
[6] http://www.electronicshub.org/bluetooth-controlled-electronic-home-appliances/
[7] http://www.projectsof8051.com/home-appliances-controlling-using-android-
mobile-viabluetooth/
[8] http://www.datasheetcatalog.com/datasheets_pdf/A/T/M/E/ATMEGA32.shtml
[9]http://www.explainthatstuff.com/howrelayswork.html
[10] https://vsblogs.wordpress.com/2014/03/02/how-to-drive-a-relay-using-
microcontrollers/
[12]http://www.engineersgarage.com/electronic-components/transistor-bc547-
datasheet
[13] http://www.electronicshub.org/mobile-controlled-home-appliances-without-
microcontroller/
[14] http://www.circuitsgallery.com/2015/04/bluetooth-android-home-
automation.html
45
46