home documentation

Upload: tejaswi-mantena

Post on 05-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Home Documentation

    1/46

    GSM BASED HOME AUTOMATION 1

    CHAPTER 1

    INTRODUCTION

    1.0 EMBEDEDD SYSTEMS

    An embedded system is an application that contains at least one programmable

    computer (typically in the form of a microcontroller, a microprocessor or digital signal

    processor chip) and which is used by individuals who are, in the main, unaware that the

    system is computer-based.

    Typical examples of embedded applications that are constructed using the techniques

    discussed in this book include:

    Mobile phone systems (including both customer handsets and base stations).

    Automotive applications (including braking systems, traction control, airbag

    release systems, engine-management units, steer-by-wire systems and cruise

    control applications).

    Domestic appliances (including dishwashers, televisions, washing machines,

    microwave ovens, video recorders, security systems, garage door controllers).

    Aerospace applications (including flight control systems, engine controllers,

    autopilots and passenger in-flight entertainment systems).

    Medical equipment (including anesthesia monitoring systems, ECG monitors,

    drug delivery systems and MRI scanners).

    Defence systems (including radar systems, fighter aircraft flight control systems,

    radio systems and missile guidance systems).

  • 8/2/2019 Home Documentation

    2/46

    GSM BASED HOME AUTOMATION 2

    1.1 What is meant by Home Automation?

    Automation means the act of implementing the control of equipment

    with advanced technology; usually involving electronic hardware . Home Automation

    means controlling of home appliances remotely when the user is away from the place and

    to operate devices while we are not able to access them physically. Here we used GSM

    technology so the controlling of home appliances is done through SMS. An automated

    home is sometimes called a smart home. The motivation is to facilitate the users to

    automate their homes having ubiquitous access. The use of home automation technology

    is to become as common place as owning a DVD player is today. The capabilities of

    home automation are endless. Audio, video, home theater, lighting, blinds, air-

    conditioning, to name a few can be integrated and operated remotely.

    1.2Need of Home Automation?

    The main need is forgetting to switch of the devices when we live home.

    Activating our air-conditioning from work, so our home is comfortable when we step

    through the door on your arrival home. Operating our lights and sound remotely to give

    the appearance that our home is occupied when we are away. Home automation is very

    popular these days and it is common to read in magazines about its marvels. With state

    of the art technology it is possible to achieve home automation with remote control and

    monitoring via GSM phones. This is enough to irrigate plants, to monitor old persons, to

    switch ON or OFF lights, to open an electric gate, to interface a burglar alarm in order to

    send SMS messages in case of intrusion. You can send an SMS and set the temperature at

    the correct value 1 hour before going home. Another important feature is the AC power

    monitor. Therefore this paper proposes a system that allows user to be control home

    appliances via SMS using GSM technology so that we can operate from anywhere.

  • 8/2/2019 Home Documentation

    3/46

    GSM BASED HOME AUTOMATION 3

    1.3 PROJECT OVERVIEW

    Working:

    Fig.1 Basic working of the system

    The Basic working of the system follow below steps:

    1. User sends commands via SMS

    2. Mobile at the system transfers it to Micro controller

    3. The Microcontroller operates the Devices according to the command received.

    The working model is explained as:-

    GSM Modem: GSM modem is a plug and play device and is attached to the

    microcontroller which communicates via RS232 port. GSM modem is a bridge

    responsible for enabling/ disabling of SMS capability.

    Cell Phone: Mobile device communicates with the GSM Modem via radio waves.

    The mode of communication is wireless and mechanism works on the GSM

    technology. Cell phone has a SIM card and a GSM subscription. This cell phone

    number is configured on the system. User transmits instructions via SMS and the

    system takes action against those instructions.

  • 8/2/2019 Home Documentation

    4/46

    GSM BASED HOME AUTOMATION 4

    1.4 ADVANTAGES

    The main advantages of Home automation are

    Global Range

    Low Cost

    Low Power Requirement

    This can be explained in below:

    Our mini project has many advantages such as remote controlling of home

    appliances, availability and ease of users. The user can get alerts anywhere through the

    GSM technology thus making the system location independent. The system contains low

    cost components easily available which cuts down the overall system cost.

    Moreover system alerts user about breach via SMS providing home security also it

    allows secure access due to pre-configured number. The ease of deployment is due to

    wireless mode of communication.

    GSM technology provides the benefit that the system is accessible in remote areas

    as well. The system reliability increases due to the useful features such as battery level

    checking, charging status and signal strength indicating the system about threats. The

    system integration is simple and is also scalable and extensible. The auto-configuration

    capability allows the system auto enabling/disabling of certain features. As we are using

    gsm technology we can operate our home from any where .

    1.5 APPLICATIONS

    Home automation

    Office automation.

  • 8/2/2019 Home Documentation

    5/46

    GSM BASED HOME AUTOMATION 5

    CHAPTER 2

    SYSTEM MODEL

    2.1 BASIC MODEL OF A SYSTEM

    load

    GSMMobile

    8051

    MICROCONTROLLER

    GSM

    MODEM

    LCD

    RELAY

    GSM

    MODEM

    POWER

    SUPPLY

  • 8/2/2019 Home Documentation

    6/46

    GSM BASED HOME AUTOMATION 6

    2.2 CIRCUIT DIAGRAM

  • 8/2/2019 Home Documentation

    7/46

    GSM BASED HOME AUTOMATION 7

    2.3 REQUIREMENTS & IMPLEMENTATION

    The Different Modules required for implementing GSM Based Home

    Automation are

    1. 8051 Microcontroller

    2. GSM Module

    3. MAX 232 IC

    4. LCD Display

    5. Relay

    6. Load (electrical lights or any other)

    Implementation Devices are connected to an embedded system.

    The embedded system is programmed to control the devices according to

    commands from a remote.

    2.3.1 GSM RANGES

    GSM, the Global System for Mobile communications, is a digital cellular

    communications system, which has rapidly gained acceptance and market share

    worldwide, although it was initially developed in a European context. In addition to digital

    transmission, GSM incorporates many advanced services and features, including ISDN

    compatibility and worldwide roaming in other GSM networks. The advanced services and

    architecture of GSM have made it a model for future third-generation cellular systems,

    such as UMTS. This paper will give an overview of the services offered by GSM, the

    system architecture, the radio transmission structure, and the signaling functional

    architecture

  • 8/2/2019 Home Documentation

    8/46

    GSM BASED HOME AUTOMATION 8

    GSM carrier frequencies

    GSM networks operate in a number of different carrier frequency ranges

    (separated into GSM frequency ranges for 2G and UMTS frequency bands for 3G), with

    most 2G GSM networks operating in the 900 MHz or 1800 MHz bands. Where these

    bands were already allocated, the 850 MHz and 1900 MHz bands were used instead (for

    example in Canada and the United States). In rare cases the 400 and 450 MHz frequency

    bands are assigned in some countries because they were previously used for first-

    generation systems.Most 3G networks in Europe operate in the 2100 MHz frequency

    band. Regardless of the frequency selected by an operator, it is divided into timeslots for

    individual phones to use. This allows eight full-rate or sixteen half-rate speech channels

    per radio frequency. These eight radio timeslots (or eight burst periods) are grouped into

    a TDMA frame. Half rate channels use alternate frames in the same timeslot. The channel

    data rate for all 8 channels is 270.833 kbit/s, and the frame duration is 4.615 ms.

    The transmission power in the handset is limited to a maximum of 2 watts in

    GSM850/900 and 1 watt in GSM1800/1900.

    2.3.2 RS232

    In order to connect micro controller or a PC to GSM or ZIGBEE

    modem a serial port is used. Serial, is a very common protocol for device communication

    that is standard on almost every PC. Most computers include RS-232 based serial ports.

    Serial is also a common communication protocol that is used by many devices for

    instrumentation. In serial communication, the data is sent one bit at a time where as in

    parallel communication; the data is sent a byte or more at time. Serial communication uses

    a single data line where as the parallel communication uses 8 bit data line, this makes

    serial communication not only inexpensive but also makes it possible for two computers

    located in two different cities to communicate over the telephone.

    http://en.wikipedia.org/wiki/GSM_frequency_rangeshttp://en.wikipedia.org/wiki/UMTS_frequency_bandshttp://en.wikipedia.org/wiki/2Ghttp://en.wikipedia.org/wiki/Canadahttp://en.wikipedia.org/wiki/United_Stateshttp://en.wikipedia.org/wiki/3Ghttp://en.wikipedia.org/wiki/Time_division_multiplexinghttp://en.wikipedia.org/wiki/Radio_frequencyhttp://en.wikipedia.org/wiki/Burst_transmissionhttp://en.wikipedia.org/wiki/Time_division_multiple_accesshttp://en.wikipedia.org/wiki/Time_division_multiple_accesshttp://en.wikipedia.org/wiki/Burst_transmissionhttp://en.wikipedia.org/wiki/Radio_frequencyhttp://en.wikipedia.org/wiki/Time_division_multiplexinghttp://en.wikipedia.org/wiki/3Ghttp://en.wikipedia.org/wiki/United_Stateshttp://en.wikipedia.org/wiki/Canadahttp://en.wikipedia.org/wiki/2Ghttp://en.wikipedia.org/wiki/UMTS_frequency_bandshttp://en.wikipedia.org/wiki/GSM_frequency_ranges
  • 8/2/2019 Home Documentation

    9/46

    GSM BASED HOME AUTOMATION 9

    RS-232 WAVEFORM

    TTL/CMOS Serial Logic Waveform

    The diagram above shows the expected waveform from the UART when using the

    common 8N1 format. 8N1 signifies 8 Data bits, No Parity and 1 Stop Bit. The RS-232

    line, when idle is in the Mark State (Logic 1). A transmission starts with a start bit which

    is (Logic 0). Then each bit is sent down the line, one at a time. The LSB (Least

    Significant Bit) is sent first. A Stop Bit (Logic 1) is then appended to the signal to make

    up the transmission.

    The data sent using this method, is said to be framed. That is the data is framed between

    a Start and Stop Bit.

    RS-232 Voltage levels

    1. +3 to +25 volts to signify a "Space" (Logic 0).

    2. -3 to -25 volts for a "Mark" (logic 1).

    3. Any voltage in between these regions (i.e. between +3 and -3 Volts) is undefined.

    The data byte is always transmitted least-significant-bit first.

    The bits are transmitted at specific time intervals determined by the baud rate of the

    serial signal. This is the signal present on the RS-232 Port of your computer, shown

    below.

    RS-232 Logic Waveform

    RS-232 LEVEL CONVERTER

    Standard serial interfacing of microcontroller (TTL) with PC or any RS232C

    Standard device , requires TTL to RS232 Level converter . A MAX232 is used for this

    purpose. It provides 2-channel RS232C port and requires external 10uF capacitors.

    http://www.arcelect.com/rs232.htmhttp://www.bsc.nodak.edu/electron/rs232.htmhttp://www.bsc.nodak.edu/electron/rs232.htmhttp://www.arcelect.com/rs232.htm
  • 8/2/2019 Home Documentation

    10/46

    GSM BASED HOME AUTOMATION 10

    The driver requires a single supply of +5V .

    MICROCONTROLLER INTERFACING WITH RS-232 STANDARDDEVICES

  • 8/2/2019 Home Documentation

    11/46

    GSM BASED HOME AUTOMATION 11

    CHAPTER 3

    HARDWARE DESCRIPTION

    3.1Introduction To Microcontroller:

    Micro controller is the heart of total system. The micro controller controls all

    the devices connected in the diagram. Micro controller sends pulses to all the devices,

    which are connected to it.We can program it in any language i.e., in assembly or C or

    C++, depending upon the user. In this flash memory is more compatible with others. In

    our design, this controller is compatible and also reliable one.

    Micro Controller 8051:

    In 1981, Intel Corporation introduced an 8-bit microcontroller called

    the 8051. This microcontroller had 128 bytes of RAM, 4K bytes of on-chip ROM, two

    timers, one serial port, and four ports (each 8-bits wide) all on a single chip. The 8051 is

    an 8-bit processor, meaning that the CPU can work on only 8 bits of data at a time. Data

    larger than 8 bits has to broken into 8-bit pieces to be processed by the CPU. The 8051has a total of four I/O ports, each 8 bits wide. Although the 8051 can have a maximum of

    64K bytes of on chip ROM, many manufacturers have put only 4K bytes on the chip.

    There are different flavors of the 8051 in terms of speed and amount of on-chip ROM, but

    they are all compatible with the original 8051 as far as the instructions are concerned.

    Features :The basic architecture consists of the following features:

    an eight bit ALU

    32 discrete I/O pins (4 groups of 8) which can be individually accessed

    two 16 bit timer/counters

    full duplex UART

    6 interrupt sources with 2 priority levels

    128 bytes of on board RAM

    separate 64K byte address spaces for DATA and CODE memory

  • 8/2/2019 Home Documentation

    12/46

    GSM BASED HOME AUTOMATION 12

    Pin diagram:

    Pin Description:

    VCC: Supply voltage.

    GND: Ground.

    Port 0: Port 0 is an 8-bit open drain bidirectional I/O port. As an output port, each pin

    can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as

    high-impedance inputs. Port 0 can also be configured to be the multiplexed low-order

    address/data bus during accesses to external program and data memory. In this mode,

    P0 has internal pull-ups.Port 0 also receives the code bytes during Flash programming

    and outputs the code bytes during program verification. External pull-ups are required

    during program verification.

    Port 1: Port 1 is an 8-bit bidirectional I/O port with internal pull-ups. The Port 1output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins,

  • 8/2/2019 Home Documentation

    13/46

    GSM BASED HOME AUTOMATION 13

    they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port

    1 pins that are externally being pulled low will source current (IIL ) because of the

    internal pull-ups. In addition, P1.0 and P1.1 can be configured to be the timer/counter

    2 external count input (P1.0/T2) and the timer/counter 2 trigger input (P1.1/T2EX),

    respectively, as shown in the following table. Port 1 also receives the low-order

    address bytes during Flash programming and verification

    Port pin Alternate functions

    P1.0 T2(EXTERNAL COUNT INPUT TO TIMER/COUNTER 2), CLOCK-OUT

    P1.1 T2EX(TIMER/COUNTER 2 CAPTURE/RELOAD TRIGGER AND DIRECTION CONTROL)

    P1.5 MOSI(USED FOR IN-SYSTEM PROGRAMMING)

    P1.6 MISO(USED FOR IN-SYSTEM PROGRAMMING)

    P1.7 SCK(USED FOR IN-SYSTEM PROGRAMMING)

    Port 2: Port 2 is an 8-bit bidirectional I/O port with internal pull-ups. The Port 2 output

    buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins, they are

    pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 2 pins that

    are externally being pulled low will source current (IIL) because of the internal pull-ups.

    Port 2 emits the high-order address byte during fetches from external program memory

    and during accesses to external data memory that use 16-bit addresses (MOVX @

    DPTR). In this application, Port 2 uses strong internal pull-ups when emitting 1s. During

    accesses to external data memory that use 8-bit addresses (MOVX @ RI), Port 2 emits

    the contents of the P2 Special Function Register.Port 2 also receives the high-order

    address bits and some control signals during Flash programming and verification.

    Port 3: Port 3 is an 8-bit bidirectional I/O port with internal pull-ups. The Port 3 output

    buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins, they are

    pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 3 pins that

    are externally being pulled low will source current (IIL) because of the pull-ups.Port 3

    receives some control signals for Flash programming and verification.Port 3 also serves

    the functions of various special features of the AT89S52, as shown in the following table.

    Port pin Alternate functions

    P3.0 RXD (serial input port)

  • 8/2/2019 Home Documentation

    14/46

    GSM BASED HOME AUTOMATION 14

    P3.1 TXD (serial output port)

    P3.2 INT0 (external interrupt 0)

    P3.3 INT1 (external interrupt 1)

    P3.4 T0 (timer 0 external input)

    P3.5 T1 (timer 1 external input)

    P3.6 WR (external data memory write strobe)

    P3.7 RD (external data memory read strobe)

    RST: Reset input. A high on this pin for two machine cycles while the oscillator is

    running resets the device. This pin drives high for 98 oscillator periods after the

    Watchdog times out. The DISRTO bit in SFR AUXR (address 8EH) can be used to

    disable this feature. In the default state of bit DISRTO, the RESET HIGH out feature is

    enabled.

    ALE/PROG: Address Latch Enable (ALE) is an output pulse for latching the low byte of

    the address during accesses to external memory. This pin is also the program pulse input

    (PROG) during Flash programming. In normal operation, ALE is emitted at a constant

    rate of 1/6 the oscillator frequency and may be used for external timing or clocking

    purposes. Note, however, that one ALE pulse is skipped during each access to external

    data memory.

    If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the

    bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the pin is

    weakly pulled high. Setting the ALE-disable bit has no effect if the microcontroller is in

    external execution mode.

    PSEN: Program Store Enable (PSEN) is the read strobe to external program memory.

    When the AT89S52 is executing code from external program memory, PSEN is activated

    twice each machine cycle, except that two PSEN activations are skipped during each

    access to external data memory.

    EA/VPP: External Access Enable. EA must be strapped to GND in order to enable the

    device to fetch code from external program memory locations starting at 0000H up to

  • 8/2/2019 Home Documentation

    15/46

    GSM BASED HOME AUTOMATION 15

    FFFFH. Note, however, that if lock bit 1 is programmed, EA will be internally latched on

    reset. EA should be strapped to VCCfor internal program executions.This pin also

    receives the 12-volt programming enable voltage (VPP) during Flash programming.

    XTAL1: Input to the inverting oscillator amplifier and input to the internal clock

    operating circuit.

    XTAL2: Output from the inverting oscillator amplifier

    Pin DescriptionPin Number Description

    18 P1.0 - P1.7 - Port 1

    9 RST - Reset

    1017 P3.0 - P3.7 - Port 3

    18 XTAL2 - Crystal

    19 XTAL1 - Crystal

    20 GND - Ground

    2128 P2.0 - P2.7 - Port 2

    29 PSEN - Program Store Enable30 ALE - Address Latch Enable

    31 EA - External Access Enable

    3239 P0.7 - P0.1 - Port 0

    40 Vcc - Positive Power Supply

  • 8/2/2019 Home Documentation

    16/46

    GSM BASED HOME AUTOMATION 16

    3.2 GSM MODEM

    Global system for mobile communication (GSM) is a globally accepted

    standard for digital cellular communication. GSM is the name of a standardization group

    established in 1982 to create a common European mobile telephone standard that would

    formulate specifications for a pan-European mobile cellular radio system operating at 900

    MHz. It is estimated that many countries outside of Europe will join the GSM partnership.

    3.2.1Description:

    A GSM modem can be an external modem device, such as the Wavecom

    FASTRACK Modem. Insert a GSM SIM card into this modem, and connect the modem

    to an available serial port on your computer. A GSM modem can be a PC Card installed

    in a notebook computer, such as the Nokia Card Phone. A GSM modem could also be a

    standard GSM mobile phone with the appropriate cable and software driver to connect to a

    serial port on your computer. Phones such as the Nokia 7110 with a DLR-3 cable, or

    various Ericsson phones, are often used for this purpose.

    A dedicated GSM modem (external or PC Card) is usually preferable to a GSM

    mobile phone. This is because of some compatibility issues that can exist with mobile

    phones. For example, if you wish to be able to receive inbound MMS messages with your

    gateway, and you are using a mobile phone as your modem, you must utilize a mobile

    phone that does not support WAP push or MMS. This is because the mobile phone

    automatically processes these messages, without forwarding them via the modem

    interface. Similarly some mobile phones will not allow you to correctly receive SMS text

    messages longer than 160 bytes (known as concatenated SMS or long SMS). This is

    because these long messages are actually sent as separate SMS messages, and the phone

    attempts to reassemble the message before forwarding via the modem interface

    When you install your GSM modem, or connect your GSM mobile phone to the

    computer, be sure to install the appropriate Windows modem driver from the device

    manufacturer. To simplify configuration, the Now SMS/MMS Gateway will communicate

    with the device via this driver. An additional benefit of utilizing this driver is that you can

    use Windows diagnostics to ensure that the modem is communicating properly with the

    computer

  • 8/2/2019 Home Documentation

    17/46

    GSM BASED HOME AUTOMATION 17

    Figure: GSM modem

    Now SMS/MMS gateway can simultaneously support multiple modems, provided

    that your computer hardware has the available communications port resources

    Global System for Mobile Communications (GSM) modems are specialized types of

    modems that operate over subscription based wireless networks, similar to a mobile

    phone. A GSMmodemaccepts a Subscriber Identity Module (SIM) card, and basically

    acts like a mobile phone for acomputer. Such a modem can even be a dedicated

    mobile phone that the computer uses for GSM network capabilities. A GSM modem is

    a wireless modem that works with a GSM wireless network. A wireless modem

    behaves like a dial-up modem. The GSM modem can be an external device or a PC

    Card / PCMCIA Card. Typically, an external GSM modem is connected to a computer

    through a serial cable or a USB cable. It is a

    Most Popular Mobile TechnologyLaunch -1991by Radio linja in Finland

    Frequencies -900/1800MHz

    RangeGlobal

    InterfaceSubscriber Identity Module

    ServicesSMS, MMS, GPRS, EDGE

    http://www.wisegeek.com/what-is-gsm.htmhttp://www.wisegeek.com/what-is-gsm.htmhttp://www.wisegeek.com/what-is-gsm.htmhttp://www.wisegeek.com/what-is-a-modem.htmhttp://www.wisegeek.com/what-is-a-modem.htmhttp://www.wisegeek.com/what-is-a-modem.htmhttp://www.wisegeek.com/what-is-a-computer.htmhttp://www.wisegeek.com/what-is-a-computer.htmhttp://www.wisegeek.com/what-is-a-computer.htmhttp://www.wisegeek.com/what-is-a-computer.htmhttp://www.wisegeek.com/what-is-a-modem.htmhttp://www.wisegeek.com/what-is-gsm.htm
  • 8/2/2019 Home Documentation

    18/46

    GSM BASED HOME AUTOMATION 18

    3.2.2 AT Commands :

    In addition to the standard AT commands, GSM modems support an

    extended set of AT commands. These extended AT commands are defined in the GSMstandards. With the extended AT commands, you can do things like:

    * Reading, writing and deleting SMS messages.

    * Sending SMS messages.

    * Reading, writing and searching phone book entries.

    AT commands features:

    Line settings: A serial link handler is set with the following default values. Autobaud,

    8 bits data, 1 stop bit, no parity, flow control.

    Command line: Commands always start with AT (which means attention) and finish

    with a character. .

    Send message +CMGS

    Description :

    The field is the address of the terminal to which the message is sent. To

    send the message, simply type, character (ASCII 26). The text can contain all

    existing characters except and (ASCII 27). This command can be aborted

    using the character when entering text. In PDU mode, only hexadecimal characters

    are used (09,AF).

    Syntax :Command syntax in text mode : AT+CMGS= [ , ]

  • 8/2/2019 Home Documentation

    19/46

    GSM BASED HOME AUTOMATION 19

    The message reference, , which is returned to the application is allocated by

    the product. This number begins with 0 and is incremented by one for each outgoing

    message (successful and failure cases); it is cyclic on one byte (0 follows 255).

    Note: this number is not a storage number - outgoing messages are not stored.

    Delete message +CMGD

    This command is used to delete one or several messages from preferred message

    storage (BM SMS CB RAM storage, SM SMSPP storage SIM storage or SR

    SMS Status-Report storage).

    Syntax : Command syntax :AT+CMGD= [.]

  • 8/2/2019 Home Documentation

    20/46

    GSM BASED HOME AUTOMATION 20

    3.3. LIQUID CRYSTAL DISPLAY(LCD):

    An LCD consists of two glass panels, with the liquid crystal material

    sand witched in between them. The inner surface of the glass plates are coated withtransparent electrodes which define the character, symbols or patterns to be displayed

    polymeric layers are present in between the electrodes and the liquid crystal, which

    makes the liquid crystal molecules to maintain a defined orientation angle. One each

    polarisers are pasted outside the two glass panels. These polarisers would rotate the

    light rays passing through them to a definite angle, in a particular direction

    The LCD is used for the purpose of displaying the words which

    we are given in the program code. This code will be executed on microcontroller chip.

    By following the instructions in code the LCD display the related words.

    Fig. LCD Display

    The LCD display consists of two lines, 20 characters per line that is interfaced with

    the PIC16F73.The display contains two internal byte-wide registers, one for

    commands (RS=0) and the second for characters to be displayed (RS=1). It also

    contains a user-programmed RAM area (the character RAM) that can be

    programmed to generate any desired character that can be formed using a dot

    matrix. To distinguish between these two data areas, the hex command byte 80 will

    be used to signify that the display RAM address 00h will be chosen Port1 is used

    to furnish the command or data type, and ports 3.2 to 3.4 furnish register select and

    read/write levels.

  • 8/2/2019 Home Documentation

    21/46

    GSM BASED HOME AUTOMATION 21

    3.3.1 PIN DIAGRAM

    The Pin diagram for LCD is shown in the following fig and the pin description is also

    explained in Table

    Pins Description

    1 "Vss" - Ground

    2 "Vcc" - +5v power supply

    3 "Vee" - Contrast Voltage

    4 "R/S" - Instruction/Register Select

    5 "R/W" - Read/Write LCD Registers

    6 "E" - Enable

    714 Data I/O Pins

    GN

    +5

    VD

    A K

    1 2 3 15 16

    4 5 6 7 8 9 10 11 12 13 14

    2x16 Liquid Crystal Display

    RS R/w

    EnD0 D2 D3 D5 D7D6D4D1

  • 8/2/2019 Home Documentation

    22/46

    GSM BASED HOME AUTOMATION 22

    3.2.2 INTERFACING LCD TO 8051

    The 44780 standard requires 3 control lines as well as either 4 or 8 I/O lines for

    the data bus. The user may select whether the LCD is to operate with a 4-bit data bus or

    an 8-bit data bus.

    If a 4-bit data bus is used, the LCD will require a total of 7 data lines.

    If an 8-bit data bus is used, the LCD will require a total of 11 data lines.

    The three control lines are EN, RS, and RW.

    Note that the EN line must be raised/lowered before/after each instruction sent to the

    LCD regardless of whether that instruction is read or write, text or instruction. In short,

    you must always manipulate EN when communicating with the LCD. EN is the LCD's

    way of knowing that you are talking to it. If you don't raise/lower EN, the LCD doesn't

    know you're talking to it on the other lines.

  • 8/2/2019 Home Documentation

    23/46

    GSM BASED HOME AUTOMATION 23

    3.4.RELAYS

    A relay is an electromagnetic switch. In other words it is activated when a

    current is applied to it. Normally a relay is used in a circuit as a type of switch (as you

    will see below). There are different types of relays and they operate at different voltages.

    Relays are switching devices, it has two fixed positions i.e., ON and OFF positions.

    Circuit symbol of relay:

    NO -"Normally Open", NC -"Normally Closed".

    COM -common connection for double pole switches

    A relay will switch one or morepoles, each of whose contacts can be thrown by

    energizing the coil in one of three ways:

    Normally-open (NO) contacts connect the circuit when the relay is activated; the

    circuit is disconnected when the relay is inactive. It is also called a Form

    A contact or "make" contact.

    Normally-closed (NC) contacts disconnect the circuit when the relay is activated;

    the circuit is connected when the relay is inactive. It is also called a Form

    B contact or "break" contact.

    Change-over (CO), or double-throw (DT), contacts control two circuits: one

    normally-open contact and one normally-closed contact with a common terminal.

    It is also called a Form Ccontact or "transfer" contact ("break before make"). If

    this type of contact utilizes a "make before break" functionality, then it is called

    a Form D contact.

  • 8/2/2019 Home Documentation

    24/46

    GSM BASED HOME AUTOMATION 24

    Electromagnetic relay:

    Out of different types of relays, Most commonly used relay is

    Electromagnetic Relay.The electromagnetic relay consists of a multi-turn coil, wound onan iron core, to form an electromagnet. When the coil is energized, by passing current

    through it, the core becomes temporarily magnetized.

    The magnetized core attracts the iron armature. The armature is pivoted which causes it to

    operate one or more sets of contacts. When the coil is de-energized the armature and

    contacts are released. The coil can be energized from a low power source such as a

    ransistor while the contacts can switch high powers such as the mains supply. The relay

    can also be situated remotely from the control source.

    Relays can generate a very high voltage across the coil

    when switched off. This can damage other components

    in the circuit. To prevent this a diode is connected

    across the coil. The cathode of the diode is connected to

    the most positive end of the coil.The springsets

    (contacts) can be a mixture of n.o, n.c and c.o. Look at

    the page on switches to see how they can be used in

    circuits. Various coil operating voltages (ac and dc) are

    available.The actual contact points on the springsets are available for high current and

    low current operation. The REED RELAY has a much faster operation than the relays

    described above.

  • 8/2/2019 Home Documentation

    25/46

    GSM BASED HOME AUTOMATION 25

    The following designations are commonly encountered:

    SPST Single Pole Single Throw. These have two terminals which can be

    connected or disconnected. Including two for the coil, such a relay has four

    terminals in total. It is ambiguous whether the pole is normally open or normally

    closed. The terminology "SPNO" and "SPNC" is sometimes used to resolve the

    ambiguity.

    SPDTSingle Pole Double Throw. A common terminal connects to either of two

    others. Including two for the coil, such a relay has five terminals in total.

    DPSTDouble Pole Single Throw. These have two pairs of terminals. Equivalent

    to two SPST switches or relays actuated by a single coil. Including two for the

    coil, such a relay has six terminals in total. The poles

    may be Form A or Form B (or one of each).

    DPDTDouble Pole Double Throw. These have two

    rows of change-over terminals. Equivalent to two

    SPDT switches or relays actuated by a single coil.

    Such a relay has eight terminals, including the coil.

    The "S" or "D" may be replaced with a number, indicating

    multiple switches connected to a single actuator. For example

    4PDT indicates a four pole double throw relay (with 14

    terminals).

    EN 50005 are among applicable standards for relay terminal numbering; a typical EN

    50005-compliant SPDT relay's terminals would be numbered 11, 12, 14, A1 and A2 for

    the

    C, NC, NO, and coil connections, respectively.

    Fig. SPST, PDT, DPST, DPDT diagrams

    Circuit symbols of relays. "C" denotes the common terminal in SPDT and DPDT types

  • 8/2/2019 Home Documentation

    26/46

    GSM BASED HOME AUTOMATION 26

    3.5. POWER SUPPLY:

    The power supply circuits built using filters, rectifiers, and then voltage

    regulators. Starting with an ac voltage, a steady dc voltage is obtained by rectifyingthe ac voltage, then filtering to a dc level, and finally, regulating to obtain a desired

    fixed dc voltage. The regulation is usually obtained from an IC voltage regulator unit,

    which takes a dc voltage and provides a somewhat lower dc voltage, which remains

    the same even if the input dc voltage varies, or the output load connected to the dc

    voltage changes. The block diagram of power supply is shown in fig below.

    AC I/P

    Transformer Rectifier Filter Regulator Load

    Block diagram of power supply

    Transformer

    The potential transformer will step down the power supply voltage (0-230V) to (0-

    6V) level. Then the secondary of the potential transformer will be connected to the

    precision rectifier, which is constructed with the help of opamp. The advantages of

    using precision rectifier are it will give peak voltage output as DC, rest of the circuits

    will give only RMS output.

  • 8/2/2019 Home Documentation

    27/46

    GSM BASED HOME AUTOMATION 27

    Bridge rectifier

    Bridge rectifier is used to maintain the proper DC polarity at the input to the

    circuit, irrespective of telephone line polarity. It comprises of four diodes connectedto form a bridge. It uses the entire AC wave (both positive and negative sections).

    1.4V is used up in the bridge rectifier because each diode uses 0.7V when conducting

    and there are always two diodes conducting, as shown in fig below.

    IN4007 AC I/P

    IN4007

    IN4007 IN4007

    O/P

    Fig: Bridge rectifier

    IC Voltage Regulators:

    Voltage regulators comprise a class of widely used ICs. Regulator IC units contain the

    circuitry for reference source, comparator amplifier, control device, and overload

    protection all in a single IC. Although the internal construction of the IC is somewhat

    different from that described for discrete voltage regulator circuits, the external

    operation is much the same. IC units provide regulation of either a fixed positive

    voltage, a fixed negative voltage, or an adjustably set voltage.

  • 8/2/2019 Home Documentation

    28/46

    GSM BASED HOME AUTOMATION 28

    Three terminal Voltage Regulators:

    Fig shows the basic connection of a three-terminal voltage regulator IC to a load. The

    fixed voltage regulator has an unregulated dc input voltage, V in, applied to one input

    terminal, a regulated output dc voltage, Vout, from a second terminal, with the third

    terminal connected to ground.

    From Transformer Vout

    Secondary Vin

    GND

    Fig.: Fixed Voltage Regulator

    The series 78 regulators provide fixed regulated voltages from 5 to 24 V.

    Unregulated input voltage Vin is filtered by capacitor C1and connected to the ICs IN

    terminal. The ICs OUT terminal provides a regulated + 12V which is filtered by

    capacitor C2. The third IC terminal is connected to ground (GND). The Power

    Section consists of a centre tapped step-down transformer, which is used to step down

    the 230V AC into 12V. This 12V is given to bridge rectifier. The output from the

    diodes is a full-wave rectifier output. Any unwanted ac ripples are filtered out using a

    filter. This is fed to the 7805 voltage regulator that gives anoutput voltage of +5v.

    .

    Fig.:Circuit Diagram of Power Supply

    IN OUT

    7805

    GND

  • 8/2/2019 Home Documentation

    29/46

    GSM BASED HOME AUTOMATION 29

    CHAPTER 4

    PROJECT DEVELOPMENT

    4.1.INTRODUCTION TO KEIL

    This technical note describes the use of the Keil uVision Integrated Development

    Environment in the development of a C based, MicroController application.

    The Keil 8052 compiler package includes uVision2 which is an Integrated Development

    Environment (IDE) along with all the utilities you may need to create embedded

    application programs for the MicroController family.

    CREATING A PROJECT

    Before writing any C-code, a project associated with our code needs to be created. This is

    done by first creating a new folder in the Keil directory in which your project will be

    saved. Next the Keil uV2 application can be launched and a new project is created. This is

    achieved by completing the following steps.

    Create a new project. From the main window, choose the Project menu and select New

    project. A new window appears as shown below in Figure 1.

  • 8/2/2019 Home Documentation

    30/46

    GSM BASED HOME AUTOMATION 30

    A new window appears as shown in figure 2 below and you are now required to configure

    your setup to target the specific MicroController device you wish to use (in this example

    we will be using the ADuC834) and the output file format generated after the compilation

    stage. This is achieved by completing the following steps.

    Next, you need to configure your target output options. This is done by clicking on the

    options for target item located inthe project pull-down menu. Alternatively you can

    select this option by clicking on the icon from the compile toolbarsituated at the top of

    the screen and shown in figure 3 below.

    A new window appears as shown in figure 4. Enable the option to Create Hex File by

    ticking the check-box and pressing OK as shown circled in figure 4 below.

  • 8/2/2019 Home Documentation

    31/46

    GSM BASED HOME AUTOMATION 31

    Now you can begin writing your C program. In the main window, choose the File pull-

    down menu and select New. A new window named will appear on the screen.

    Type the C source code that is included in Appendix A of this tech note into the window. Once you've typed all the code, again choose the File pull-down menu and

    select Save.

  • 8/2/2019 Home Documentation

    32/46

    GSM BASED HOME AUTOMATION 32

    COMPILING A C PROGRAM

    Our C code is compiled by selecting Build Target from the Project pull-down menu on

    the main tool-bar. The compile option can also be initiated by selecting the F7 special

    function key or by clicking on the Build Target icon in the compile toolbar as shown in

    figure 6 below.

    If the compilation completes successfully a message indicating that the compile job has

    completed with 0 errors will appear in the build dialog screen. Sometimes warnings may

    be generated for information purposes to indicate multiple function calls etc.

    If the resultant compilation message indicates that there were 1 or more errors, then the

    output files will not be created. In this case, the file has been entered incorrectly and

    clicking directly on any error message forces uVision to highlight where in the code the

    error has occurred.

    4.2.SIMULATING C-SOURCE CODE

    Another powerful feature of the uVision2 IDE is that it allows you to run your code in a

    MicroController specific simulation environment. To start a simulation session you

    simply click on the on Start/Stop Debug Session option available from the Debug pull-

    down menu. Alternatively you can press or the Debug icon available in the

    File toolbar as shown in figure 7.

  • 8/2/2019 Home Documentation

    33/46

    GSM BASED HOME AUTOMATION 33

    CREATING THE SIMULATION ENVIRONMENT

    The following steps will allow you to create a generic simulation environment that you

    may want to further customize to your own requirements. From the top Debug toolbar,

    click on the icon buttons that are shown in figure 8 below which open a Serial I/O

    peripheral window as well as a code Performance Analyzer window.

    Note: If the Debug toolbar does not appear at the top of the screen, simply select the

    Debug Toolbar option availablefrom the View pull-down menu.

  • 8/2/2019 Home Documentation

    34/46

    GSM BASED HOME AUTOMATION 34

    4.3SOURCE CODE

    Program :

    #include

    void transmit(unsigned char *);

    void serial_init();

    sbit led=P1^3;

    unsigned char *tx_dat;

    unsigned char a[70],y[5];

    unsigned char b[3],c[3]={"Son"},c1[3]={"Sof"};

    int i=0,j=0,k=0,x=0,l=0,Z=0;

    void main()

    {

    LCD_Init();

    lprintf("Gsm-recv",1,1);

    Delay(100);

    LCD_Cmd(0x01);

    led=0; //led off

    serial_init();

    ///////////////// AT ///////////////////////

    while(1)

    {

    LCD_Cmd(0x80);

    tx_dat="at";

    transmit(tx_dat); //Transmit AT command

    SBUF=13; //Transmit ENTER

    j=0;

    while(j

  • 8/2/2019 Home Documentation

    35/46

    GSM BASED HOME AUTOMATION 35

    LCD_Data(a[j]); //Display OK

    LCD_Data(a[j+1]);

    Z=1;

    break;

    }

    j++;

    }

    if(Z==1)

    {

    Z=0;

    loop:

    while(1) /////RECEIVE//////

    {

    Delay(50); //delay

    LCD_Cmd(0x01);

    lprintf("send read command",1,1);

    tx_dat="at+cmgr=1";

    transmit(tx_dat); //Transmit READ command

    SBUF=13; //Transmit ENTER

    Delay(50);

    j=0;

    lprintf("wait for error",2,0);

    while(j

  • 8/2/2019 Home Documentation

    36/46

    GSM BASED HOME AUTOMATION 36

    j=0;

    Delay(50);

    LCD_Cmd(0x01);

    lprintf("reading message",1,1);

    while(j

  • 8/2/2019 Home Documentation

    37/46

    GSM BASED HOME AUTOMATION 37

    lprintf("led off",1,1);

    led=0; //led of

    Delay(60);

    }

    b[0]='\0';

    b[1]='\0';

    b[2]='\0';

    Delay(50);

    LCD_Cmd(0x01);

    lprintf("send delet command",1,1);

    tx_dat="at+cmgd=1"; /////delete//////

    transmit(tx_dat); //Trasmit delete command

    SBUF=13; //Trasmit ENTER

    j=0;

    while(j

  • 8/2/2019 Home Documentation

    38/46

    GSM BASED HOME AUTOMATION 38

    int i;

    while(x-->0)

    {

    for(i=0;i

  • 8/2/2019 Home Documentation

    39/46

    GSM BASED HOME AUTOMATION 39

    }

    void transmit(unsigned char *tx)

    {

    while(*tx)

    {

    SBUF=*tx++;

    Delay(15);

    }

    SBUF=13;

    Delay(2);

    TI=0;

    i=0;

    }

    C51.h program:

    #include

    #include

    // Device Mapping

    #define LCD_Port P2

    sbit LCD_RS=P1^0;

    sbit LCD_RW=P1^1;

    sbit LCD_EN=P1^2;

    sbit LCD_BP=P0^7; // LCD Busy Pin

    // Global variables

    unsigned char bc=0,pflag=0,fstore=0;unsigned char xdata RData[100];

    unsigned char xdata Msg[20];

    // Functions Prototype Declaration

    void lprintf(unsigned char *,unsigned char,unsigned char);

    void LCD_Init();

    void LCD_Cmd(unsigned char);

    void LCD_Data(unsigned char);

    void Delay_10ms();void Delay(int);

  • 8/2/2019 Home Documentation

    40/46

    GSM BASED HOME AUTOMATION 40

    void LCD_Busy();

    void ClrLCD();

    void SConfig(void);

    void Send_Char(unsigned char);

    void Send(unsigned char *);

    /*----------------------------------------------*/

    // To Clear LCD

    /*----------------------------------------------*/

    void ClrLCD()

    {

    LCD_Cmd(0x01);

    }

    /*----------------------------------------------*/

    // Displaying String

    /*----------------------------------------------*/

    // Displaying String

    void lprintf(char *str,unsigned char ln,unsigned char col)

    {

    static int li;

    unsigned char line;

    if(li==0)

    {li=1;

    LCD_Init();

    }

    switch(ln)

    {

    case 1:

    line = 0x80;

    break;

    case 2:

    line = 0xc0;break;

    case 3:

    line = 0x94;

    break;

    case 4:

    line = 0xD4;

    break;

    }

    LCD_Cmd(line+col-1);

  • 8/2/2019 Home Documentation

    41/46

    GSM BASED HOME AUTOMATION 41

    while(*str)

    {

    LCD_Data(*str);

    str++;

    }

    }

    /*----------------------------------------------*/

    //LCD Initilization

    void LCD_Init()

    {

    LCD_Cmd(0x30);

    LCD_Cmd(0x30);

    LCD_Cmd(0x30);LCD_Cmd(0x38);

    LCD_Cmd(0x06);

    LCD_Cmd(0x01);

    LCD_Cmd(0x0c);

    }

    /*----------------------------------------------*/

    // LCD Command Run

    void LCD_Cmd(unsigned char cmd)

    {

    LCD_Busy();

    LCD_Port=cmd;LCD_BP=0;

    _nop_();

    LCD_BP=1;

    LCD_RS=0;

    LCD_RW=0;

    LCD_EN=1;

    _nop_();

    _nop_();

    LCD_EN=0;

    }

    /*----------------------------------------------*///LCD Data Out Function

    void LCD_Data(unsigned char dt)

    {

    LCD_Busy();

    LCD_Port=dt;

    LCD_BP=0;

    _nop_();

    LCD_BP=1;

    LCD_RS=1;

    LCD_RW=0;

    LCD_EN=1;

  • 8/2/2019 Home Documentation

    42/46

    GSM BASED HOME AUTOMATION 42

    _nop_();

    _nop_();

    LCD_EN=0;

    }

    /*----------------------------------------------*/

    // LCD BUSY Check Function

    void LCD_Busy()

    {

    /*

    LCD_Port=0xff;

    LCD_RS=0;

    LCD_RW=1;

    while(1){

    LCD_EN=0;

    _nop_();

    _nop_();

    LCD_EN=1;

    if(!LCD_BP)

    break;

    }

    Delay(1);*/

    unsigned int i;

    for(i=0; i

  • 8/2/2019 Home Documentation

    43/46

    GSM BASED HOME AUTOMATION 43

    for(i=0; i

  • 8/2/2019 Home Documentation

    44/46

    GSM BASED HOME AUTOMATION 44

    RI=0;

    if(t == 'A')

    fstore =1;

    if(fstore)

    {

    RData[bc++]=t;

    RData[bc]='\0';

    }

    if(bc>40)

    {

    pflag=1;

    fstore=0;bc=0;

    }

    // LCD_Data(RData[bc-1]);

    // Send_Char(RData[bc-1]); // Uncomment this line to test the Serial

    Interrupt.

    }

    }

  • 8/2/2019 Home Documentation

    45/46

    GSM BASED HOME AUTOMATION 45

    FUTURE ENHANCMENTS

    In this project in future we can add a multimedia camera to see what is going

    inside the home by sitting in office or somewhere.

    It can be used for high security in banks and other organizations

    Provision to store mobile numbers

    Control of more devices

    Theft Alert.

    CONCLUSION

    In the paper low cost, secure, ubiquitously accessible, auto-configurable, remotely

    controlled solution for automation of homes has been introduced. The approach discussed

    in the project is novel and has achieved the target to control home appliances remotely

    using the SMS-based system satisfying user needs and requirements.GSM technology capable solution has proved to be controlled remotely, provide

    home security and is cost-effective as compared to the previously existing systems. Hence

    we can conclude that the required goals and objectives of HACS have been achieved.

    In addition, which is an era when the number of mobile phone users growing at a

    high rate, this system makes use of the mobile networks to provide the users with a

    simple and cheap Home Automation System.

  • 8/2/2019 Home Documentation

    46/46

    REFERNCES

    Reference Books:

    The 8051 Microcontroller and Embedded Systems -Muhammad Ali Mazidi

    The 8051 Micro-controller - Ayala

    Programming and customizing the 8051 - Myke Predko

    Websites:

    www.atmel.com

    www.analogicgroup.com

    www.philips.com

    www.google.com

    www.gsmworld.com

    http://www.atmel.com/http://www.atmel.com/