Hand Gesture Controlled

Embed Size (px)

Citation preview

  • 8/13/2019 Hand Gesture Controlled

    1/63

    College

    Hand Gesture ontrolled Robot

    1

    Abhinav Education So

    f Engineering & Technol

    adwadi Tal- Khandala, D

    A PROJECT REPORT

    Hand Gesture ontrolled Robot

    SUBMITTED BY

    BHOSALE PRASAD BUNAGE YOGESH

    SHINDE SWAPNIL V

    UNDER THE GUIDAN

    MR.TAMBE R.K.

    2012-2013

    HAND GESTURE CONTROLLED R

    ietys

    ogy (Polytechnic.),

    ist- Satara.

    ON

    Hand Gesture ontrolled Robot

    PRASAD S

    YOGESH B

    SHINDE SWAPNIL V

    E OF

    BOT

  • 8/13/2019 Hand Gesture Controlled

    2/63

    Colle

    This is to certify th

    Students of A

    & TC) has Project on

    Work Is Done To My Satis

    Year 2012 -2013

    Mr. TAMBE R.K.

    (PROJECT GUIDE)

    EXTERNAL EXAMIN

    2

    Abhinav Education Society

    e of Engineering & Technolo

    Wadwadi Tal- Khandala, Di

    CERTIFICATE

    at,

    Mr. BHOSALE PRASAD

    Mr. BUNAGE YOGESH

    Mr. SHINDE SWAPNIL

    bhinav Education Societys College

    HAND GESTURE CONTROLLE

    action Under Requirement Of FIN

    R

    HAND GESTURE CONTROLLED R

    gy (Polytechnic.),

    t- Satara.

    S.

    B.

    V.

    of Engineering & Technology (Poly.

    ROBOT under my guidance.

    L YEAR PROJECT For The Acad

    Ms. NARVADKAR

    ( H.O.D. E&TC Dept )

    PRINCIPAL

    AESCOET,WADWADI

    BOT

    ) (E

    This

    mic

    .S.

  • 8/13/2019 Hand Gesture Controlled

    3/63

    HAND GESTURE CONTROLLED ROBOT

    3

    ACKNOWLEDGEMENT

    We have a great pleasure in presenting this project report on HAND GESTURE

    CONTROLLED ROBOT & to express our deep regard to towards those who have offered their valuable

    time & guidance in my hour of need.

    To complete any type of seminar work is teamwork. It involves all the technical/ non-technical

    expertise from various sources. He contribution from the experts in the form of knows-how and other

    technical supports is of vital importance. I am indebted to our inspiring guide Mr. Tambe R.K. and our

    H.O.D. Ms. Narvadkar N.S. who has extended valuable guidelines, help and constant encouragement

    through the various different stages for the onslaught of the project.

    I have great pleasure in offering our sincere thanks to our honorable Principal Mr. Patil P.J. Last

    but not least, we would like to thanks all the direct and indirect help provided by friends, parents and the

    staff of this college for successful completion of this project.

  • 8/13/2019 Hand Gesture Controlled

    4/63

    HAND GESTURE CONTROLLED ROBOT

    4

    ABSTRACT

    Now a days robots are controlled by remote or cellphone or by direct wired connection. If we

    thinking about cost and required hardwares all this things increases the complexity, especially for low

    level application.

    Now the robot that we have designed is different from above one. It doesnt required any type of

    remote or any communication module. it is self activated robot, which drive itself according to position of

    user who stands in front of it. It does what user desires to do. it makes copy of its all movement of the

    user standing in front of it. Hardware required is very small, and hence low cost and small in size.

  • 8/13/2019 Hand Gesture Controlled

    5/63

    HAND GESTURE CONTROLLED ROBOT

    5

    INDEX

    SR. NO. TITLE PAGE NO

    1. INTRODUCTION

    2. BLOCK DIAGRAM

    3. PROJECT SPECIFICATION

    4. CIRCUIT DIAGRAM

    5. WORKING OF MODULE

    6. ACCELEROMETER ADXL 335

    7. MICROCONTROLLER ATmega16

    8. 16x2 LCD Display

    9. MOTOR DRIVER IC L293D

    10. PROGRAM SOFTWARE

    11. APPLICATIONS

    12. FUTURE SCOPE

    13. CONCLUSION

    14. REFERENCE

  • 8/13/2019 Hand Gesture Controlled

    6/63

    HAND GESTURE CONTROLLED ROBOT

    6

    INDEX OF DIAGRAM

    SR. NO. TITLE PAGE

    NO

    1. BLOCK DIAGRAM OF PROJECT

    2. CIRCUIT DIAGRAM OF PROJECT

    3. BLOCK DIAGRAM OFACCELEROMETER

    4. PIN DIAGRAM OFACCELEROMETER

    5. PIN DIAG. OF ATmega16

    6. 2*16 ICD DISPLAY

    7. MOTOR DRIVER IC L293D

  • 8/13/2019 Hand Gesture Controlled

    7/63

    HAND GESTURE CONTROLLED ROBOT

    7

    INTRODUCTION

  • 8/13/2019 Hand Gesture Controlled

    8/63

    HAND GESTURE CONTROLLED ROBOT

    8

    INTRODUCTION

    We generally find people working in chemical industries under different hazardous condition .

    these people suffers with many dangerous diseases like skin cancer, lungs problem and many more. So we

    finally thought of designing a robot that can copy that instant action of human being under various

    conditions and situations.

    In market many types of robot are available that are controlled by remote or cellphone or by direct

    wired connection. But limitation of this robot are that they can only perform those activity which are

    present in their program. They dont have ability to sense the situation and react as per that and more over

    their cost are high even for low application activities. so we decided to design a robot that doesnt required

    any type of remote or any communication module. It should be self-activated robot which will be driving

    itself according to position of user which stands in front of it. It does what user desires to do. it makes

    copy of its all movement of the user standing in front of it. Hardware required is very small, and hence

    low cost and small in size

  • 8/13/2019 Hand Gesture Controlled

    9/63

    HAND GESTURE CONTROLLED ROBOT

    9

    BLOCK DIAGRAM

  • 8/13/2019 Hand Gesture Controlled

    10/63

    HAND GESTURE CONTROLLED ROBOT

    10

    BLOCK DIAGRAM

    Fig 1.1 Hand gesture controlled robot

    ACCELEROM

    TER

    ADXL 335

    A

    V

    R

    ATmega16

    MICRO

    CONTROLLER

    DC MOTOR1

    DC MOTOR 2

    2 X 16 LCD

    MOTOR DRIVER

  • 8/13/2019 Hand Gesture Controlled

    11/63

    HAND GESTURE CONTROLLED ROBOT

    11

    PROJECT SPECIFICATION

    POWER SUPPLY

    MOTOR : 9V

    SENSOR(ACCELEROMETER): 3.5V

    CONTROLLER: 5V

    CONTROOLER USED ATmega 16(AVR):8-Bit

    SENSOR

    ADXL335 (ACCELEROMETER)

    Three direction (x,y,z)

    Speed of robot: 60 rpm

    Maximum input channel capacity: max 8 input

    It Can drive max four motors.

  • 8/13/2019 Hand Gesture Controlled

    12/63

    HAND GESTURE CONTROLLED ROBOT

    12

    CIRCUIT DIAGRAM

  • 8/13/2019 Hand Gesture Controlled

    13/63

    HAND GESTURE CONTROLLED ROBOT

    13

    CIRCUIT DIAGRAM

    Fig. 1.2 Hand gesture controlled robot

  • 8/13/2019 Hand Gesture Controlled

    14/63

    HAND GESTURE CONTROLLED ROBOT

    14

    WORKING OF MODULE

    This robot consists of mainly three parts. First is sensor, which works as vision of robot. We

    have used accelerometer that act as sensor for our robot.

    A Gesture Controlled robot is a kind of robot which can be controlled by your hand gestures not

    by old buttons.You just need to wear a small transmitting device in your hand which included

    an acceleration meter.This will transmit an appropriate command to the robot so that it can do whatever we

    want. The transmitting device included a comparator IC foranalog to digital conversion and an encoder

    IC(HT12E) which is use to encode the four bit data and then it will transmit by an RF Transmitter module.

    At the receiving end an RF Receiver module receive's the encoded data and decode it by an decoder

    IC(HT12D). This data is then processed by a microcontroller (P89V51RD2) and finally our motor driver to

    control the motor's

    As user makes movements of his hand in front of it, it senses and according to that it sends the

    signal for decision. Output from accelerometer is gathered for process by microcontroller.

    As per sensor output, the controller is made to work according to the program written inside it and

    it sends the respective signal to third part which is motors. This is the last part which drives the wheel ofour robot. It uses two dc motors to make movement. To drive them one motor driver is IC used which

    provides sufficient current to motors. All this material is mounted on metal chesi. As we move our hand to

    right robot will move to right side. Similar to this it will copy all our movements.

  • 8/13/2019 Hand Gesture Controlled

    15/63

    HAND GESTURE CONTROLLED ROBOT

    15

    Accelerometer ADXL335

  • 8/13/2019 Hand Gesture Controlled

    16/63

    HAND GESTURE CONTROLLED ROBOT

    16

    1) Accelerometer ADXL335

    Small,

    Low Power,

    3-Axis 3 g Accelerometer

    What is an accelerometer?

    An accelerometer is an electromechanical device that will measure acceleration forces. These forces

    may be static, like the constant force of gravity pulling at your feet, or they could be dynamic - caused by

    moving or vibrating the accelerometer.

    What are accelerometers useful for?

    By measuring the amount of static acceleration due to gravity, you can find out the angle thedevice is tilted at with respect to the earth. By sensing the amount of dynamic acceleration, you can

    analyze the way the device is moving. At first, measuring tilt and acceleration doesn't seem all that

    exciting. However, engineers have come up with many ways to make really useful products with them.

    An accelerometer can help your project understand its surroundings better. Is it driving uphill? Is it

    going to fall over when it takes another step? Is it flying horizontally or is it dive bombing your professor?

    A good programmer can write code to answer all of these questions using the data provided by an

    accelerometer.

  • 8/13/2019 Hand Gesture Controlled

    17/63

    HAND GESTURE CONTROLLED ROBOT

    17

    How do accelerometers work?

    There are many different ways to make an accelerometer! Some accelerometers use the

    piezoelectric effect - they contain microscopic crystal structures that get stressed by accelerative forces,

    which causes a voltage to be generated. Another way to do it is by sensing changes in capacitance. If you

    have two microstructures next to each other, they have a certain capacitance between them. If an

    accelerative force moves one of the structures, then the capacitance will change. Add some circuitry to

    convert from capacitance to voltage, and you will get an accelerometer. There are even more methods,

    including use of the piezoresistive effect, hot air bubbles, and light

    Types of Accelerometer

    There are several different principles upon which an analog accelerometer can be built. Two very

    common types utilize capacitive sensing and the piezoelectric effect to sense the displacement of the proof

    mass proportional to the applied acceleration.

    Capacitive

    Accelerometers that implement capacitive sensing output a voltage dependent on the distance

    between two planar surfaces. One or both of these plates are charged with an electrical current. Changing

    the gap between the plates changes the electrical capacity of the system, which can be measured as a voltage

    output. This method of sensing is known for its high accuracy and stability. Capacitive accelerometers are

    also less prone to noise and variation with temperature, typically dissipate less power, and can have larger

    bandwidths due to internal feedback circuitry. (Elwenspoek 1993)

    Piezoelectric

    Piezoelectric sensing of acceleration is natural, as acceleration is directly proportional to force.

    When certain types of crystal are compressed, charges of opposite polarity accumulate on opposite sides of

    the crystal. This is known as the piezoelectric effect. In a piezoelectric accelerometer, charge accumulates

    on the crystal and is translated and amplified into either an output current or voltage.

    Piezoelectric accelerometers only respond to AC phenomenon such as vibration or shock. They have

    a wide dynamic range, but can be expensive depending on their quality (Doscher 2005)

  • 8/13/2019 Hand Gesture Controlled

    18/63

    HAND GESTURE CONTROLLED ROBOT

    18

    Piezo-film based accelerometers are best used to measure AC phenomenon such as vibration or

    shock, rather than DC phenomenon such as the acceleration of gravity. They are inexpensive, and respond

    to other phenomenon such as temperature, sound, and pressure (Doscher 2005)

    Other

    There are many other types of accelerometer that are less important to musical applications,

    including:

    Piezoresistive

    Thermal

    Null-balance

    Servo force balance

    Strain gauge

    Resonance

    Magnetic induction

    Optical

    Surface acoustic wave (SAW)

    Specifications

    A typical accelerometer has the following basic specifications:

    Analog/digital

    Number of axes

    Output range (maximum swing)

    Sensitivity (voltage output per g)

    Bandwidth

    Amplitude stability

    The user selects the bandwidth of the accelerometer using the C X, CY, and CZ capacitors at the

    XOUT, YOUT, and ZOUT pins. Bandwidths can be selected to suit the application, with a range of 0.5 Hz

    to 1600 Hz for the X and Y axes, and a range of 0.5 Hz to 550 Hz for the Z axis.

  • 8/13/2019 Hand Gesture Controlled

    19/63

    HAND GESTURE CONTROLLED ROBOT

    19

    GENERAL DESCRIPTION:

    The ADXL335 is a small, thin, low power, complete 3-axis accelerometer with signal conditioned

    voltage outputs. The product measures acceleration with a minimum full-scale range of 3 g. It can

    measure the static acceleration of gravity in tilt-sensing applications, as well as dynamic Acceleration

    resulting from motion, shock, or vibration.

    One of the most common inertial sensors is the accelerometer, a dynamic sensor capable of a vast

    range of sensing. Accelerometers are available that can measure acceleration in one, two, or three

    orthogonal axes. They are typically used in one of three modes:

    As an intertial measurement of velocity and position;

    As a sensor of inclination, tilt, or orientation in 2 or 3 dimensions, as referenced from the

    acceleration of gravity (1 g = 9.8m/s2);

    As a vibration or impact (shock) sensor.

    There are considerable advantages to using an analog accelerometer as opposed to an inclinometer such

    as a liquid tilt sensor inclinometers tend to output binary information (indicating a state of on or off), thus

    it is only possible to detect when the tilt has exceeded some thresholding angle.

    Most accelerometers are Micro-Electro-Mechanical Sensors (MEMS). The basic principle of operation

    behind the MEMS accelerometer is the displacement of a small proof mass etched into the silicon surface of

    the integrated circuit and suspended by small beams. Consistent with Newton's second law of motion ( F =

    ma), as an acceleration is applied to the device, a force develops which displaces the mass. The support

    beams act as a spring, and the fluid (usually air) trapped inside the IC acts as a damper, resulting in a second

    order lumped physical system. This is the source of the limited operational bandwidth and non-uniform

    frequency response of accelerometers. For more information, see reference to Elwenspoek, 1993.

  • 8/13/2019 Hand Gesture Controlled

    20/63

    HAND GESTURE CONTROLLED ROBOT

    20

    FUNCTIONAL BLOCK DIAGRAM

    Fig. 1.3 Block diagram of ADXL 335

  • 8/13/2019 Hand Gesture Controlled

    21/63

    HAND GESTURE CONTROLLED ROBOT

    21

    ADXL335

    An Accelerometer is a kind of sensor which gives an analog data while moving in X,Y,Z

    direction or may be X,Y direction only depend's on the type of the sensor.Here is a small image of an

    Accelerometer shown. We can see in the image that their are some arrow showing if we tilt these sensor's in

    that direction then the data at that corresponding pin will change in the analog form.

    The Accelerometer having 6 pin-

    1- VDD- We will give the +5volt to this pin

    2- GND- We simply connect this pin to the ground for biasing.

    3- X- On this pin we will receive the analog data for x direction movement.

    4- Y- On this pin we will receive the analog data for y direction movement.

    5- Z- On this pin we will receive the analog data for z direction movement.

    6- ST- this pin is use to set the sensitivity of the accelerometer 1.5g/2g/3g/4g.

  • 8/13/2019 Hand Gesture Controlled

    22/63

    HAND GESTURE CONTROLLED ROBOT

    22

    THEORY OF OPERATION

    The ADXL335 is a complete 3-axis acceleration measurement system. The ADXL335 has a

    measurement range of 3 g minimum. It containsa polysilicon surface-micromachined sensor and signal

    conditioning circuitry to implement an open-loop acceleration measurement architecture. The output

    signals are analog Voltages that are proportional to acceleration.

    The accelerometer can measure the static acceleration of gravity in tilt-sensing applications as

    well as dynamic acceleration resulting From motion, shock, or vibration.The sensor is a polysilicon

    surface-micromachined structure built on top of a silicon wafer. Polysilicon springs suspend the structure

    over the surface of the wafer and provide a resistance against acceleration forces. Deflection of thestructure is measured using a differential capacitor that consists of independent fixed plates and plates

    attached to the moving mass.

    If you have two microstructures next to each other, they have a certain capacitance between them.

    If an accelerative force moves one of the structures, then the capacitance will change. Add some circuitry

    to convert from capacitance to voltage, and you will get an accelerometer. There are even more methods,

    including use of the piezoresistive effect, hot air bubbles, and light.

    The fixed plates are driven By 180 out-of-phase square waves. Acceleration deflects the moving

    mass and unbalances the differential capacitor resulting in a sensor output whose amplitude is proportional

    to acceleration. Phase-sensitive demodulation techniques are then used to determine the magnitude and

    direction of the acceleration.

  • 8/13/2019 Hand Gesture Controlled

    23/63

    HAND GESTURE CONTROLLED ROBOT

    23

    FEATURES:

    3 axis sensing small, low profile package

    4mm x 4mm x 1.45mm LFCSP low power:350uA(typical)

    Single operation: 1.8v to 3.6v 10,000g shock survival

    excellent temperature stability BW adjustment with a single capacitor per axis

    RoHS/WEEE lead-free complement

    ACCELEROMETER ADXL 335

    Fig. 1.4 Pin dia. Of ADXL 335

  • 8/13/2019 Hand Gesture Controlled

    24/63

    HAND GESTURE CONTROLLED ROBOT

    24

    Pin Function Descriptions

    Pin No. Mnemonic Description

    1 NC No Connect.1

    2 ST Self-Test.

    3 COM Common.

    4 NC No Connect.1

    5 COM Common.

    6 COM Common.

    7 COM Common.

    8 ZOUT Z Channel Output.

    9 NC No Connect.1

    10 YOUT Y Channel Output.

    11 NC No Connect. 1

    12 XOUT X Channel Output.

    13 NC No Connect. 1

    14 VS Supply Voltage (1.8 V to 3.6 V).

    15 VS Supply Voltage (1.8 V to 3.6 V).

    16 NC No Connect. 1

    EP Exposed Pad Not internally connected. Solder for

    mechanical integrity.

  • 8/13/2019 Hand Gesture Controlled

    25/63

    HAND GESTURE CONTROLLED ROBOT

    25

    MICROCONTROLLER

    ATmega16

  • 8/13/2019 Hand Gesture Controlled

    26/63

    HAND GESTURE CONTROLLED ROBOT

    26

    2) MICROCONTROLLER (ATMEGA 16)

    Pin Diagram:

    Fig 1.5 AVR AT mega16

  • 8/13/2019 Hand Gesture Controlled

    27/63

    HAND GESTURE CONTROLLED ROBOT

    27

    FEATURES

    High-performance, Low-power Atmel AVR 8-bit Microcontroller

    Advanced RISC Architecture

    131 Powerful Instructions Most Single-clock Cycle Execution

    32 x 8 General Purpose Working Registers

    Fully Static Operation

    Up to 16 MIPS Throughput at 16 MHz

    On-chip 2-cycle Multiplier

    High Endurance Non-volatile Memory segments

    16 Kbytes of In-System Self-programmable Flash program memory

    512 Bytes EEPROM

    1 Kbyte Internal SRAM

    Write/Erase Cycles: 10,000 Flash/100,000 EEPROM

    Data retention: 20 years at 85C/100 years at 25C(1)

    Optional Boot Code Section with Independent Lock Bits

    In-System Programming by On-chip Boot Program

    True Read-While-Write Operation

    Programming Lock for Software Security

    JTAG (IEEE std. 1149.1 Compliant) Interface

    Boundary-scan Capabilities According to the JTAG Standard

    Extensive On-chip Debug Support

    Programming of Flash, EEPROM, Fuses, and Lock Bits through the JTAG Interface

  • 8/13/2019 Hand Gesture Controlled

    28/63

    HAND GESTURE CONTROLLED ROBOT

    28

    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

    Special Microcontroller Features

    Power-on Reset and Programmable Brown-out Detection

    Internal Calibrated RC Oscillator

    External and Internal Interrupt Sources

    Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby and

    Extended Standby

    I/O and Packages

    32 Programmable I/O Lines

    40-pin PDIP, 44-lead TQFP, and 44-pad QFN/MLF

    Operating Voltages

  • 8/13/2019 Hand Gesture Controlled

    29/63

    HAND GESTURE CONTROLLED ROBOT

    29

    2.7V - 5.5V for ATmega16L

    4.5V - 5.5V for ATmega16

    Speed Grades

    0 - 8 MHz for ATmega16L

    0 - 16 MHz for ATmega16

    Power Consumption @ 1 MHz, 3V, and 25C for ATmega16L

    Active: 1.1 mA

    Idle Mode: 0.35 mA

    Power-down Mode: < 1 A

  • 8/13/2019 Hand Gesture Controlled

    30/63

    HAND GESTURE CONTROLLED ROBOT

    30

    2x16 LCD DISPLAY

  • 8/13/2019 Hand Gesture Controlled

    31/63

    HAND GESTURE CONTROLLED ROBOT

    31

    2x16 LCD DISPLAY

    FEATURES:

    61 x 15.8 mm viewing area

    5 x 7 dot matrix format for 2.96 x 5.56 mm character, plus cursor line

    Can display 224 different symbols

    Low power consumption (1 mA typical)

    Powerful command set and user produced characters

    TTL and CMOS compiler

    Connector for standard 0.1-pitch pin headers

    5 x 8 dots with cursor

    Built-in controller (KS 0066 or Equivalent)

    + 5V power supply (Also available for + 3V)

  • 8/13/2019 Hand Gesture Controlled

    32/63

    HAND GESTURE CONTROLLED ROBOT

    32

    1/16 duty cycle

    B/L to be driven by pin 1, pin 2 or pin 15, pin 16 or A.K (LED)

    N.V. optional for + 3V power supply

    Description

    This is an LCD Display designed for E-blocks. It is a 16 character, 2-line alphanumeric LCD

    displayconnected to a single 9-way D-type connector. This allows the device to be connected to most E-Block I/O

    ports.

    The LCD display requires data in a serial format, which is detailed in the user guide below. The

    display also

    requires a 5V power supply. Please take care not to exceed 5V, as this will cause damage to the

    device. The 5V is best generated from the E-blocks Multipogrammer or a 5V fixed regulated power

    supply.

    The potentiometer RV1 is a contrast control that should be used to adjust the contrast of the display for the

    environment it is being used in.

  • 8/13/2019 Hand Gesture Controlled

    33/63

    HAND GESTURE CONTROLLED ROBOT

    33

    LCD DISPLAY:

    Fig 1.6 LCD Display

  • 8/13/2019 Hand Gesture Controlled

    34/63

    HAND GESTURE CONTROLLED ROBOT

    34

    16 x 2 Character LCD

    PIN NO. SYMBOL FUNCTION

    1 Vss GND

    2 Vdd + 3V or + 5V

    3 Vo Contrast Adjustment

    4 RS H/L Register Select Signal

    5 R/W H/L Read/Write Signal

    6 E H L Enable Signal

    7 DB0 H/L Data Bus Line

    8 DB1 H/L Data Bus Line

    9 DB2 H/L Data Bus Line

    10 DB3 H/L Data Bus Line

    11 DB4 H/L Data Bus Line

    12 DB5 H/L Data Bus Line

    13 DB6 H/L Data Bus Line

    14 DB7 H/L Data Bus Line

    15 A/Vee + 4.2V for LED/Negative Voltage Output

    16 K Power Supply for B/L (OV)

  • 8/13/2019 Hand Gesture Controlled

    35/63

    HAND GESTURE CONTROLLED ROBOT

    35

    2x16 LCD DISPLAY

  • 8/13/2019 Hand Gesture Controlled

    36/63

    HAND GESTURE CONTROLLED ROBOT

    36

    MOTOR DRIVER IC L293D

    Fig 1.7 Motor Driver L293D

    L293D

    MOTOR

    DRIVER IC

  • 8/13/2019 Hand Gesture Controlled

    37/63

    HAND GESTURE CONTROLLED ROBOT

    37

    FEATURES

    -Out put current 1A per channel (600 mA for L293D).

    -Peak output current 2A per channel ( 1.2A for L293D).

    -Inhibit facility.

    -High noise immunity.

    -Separate logic supply.

    -Over temperature protection

    DESCRIPTION:

    L293D is a dual HBridge motor driver, so with one IC we can interface two DC motors which can

    be controlled in both clockwise and counter clockwise direction and if you have motor with fix direction

    of motion. You can make use of all the four I/Os to connect up to four DC motors. L293D has output

    current of 600mA and peak output current of 1.2A per channel. Moreover for protection of circuit from

    back EMF output diodes are included within the IC. The output supply (VCC2) has a wide range from

    4.5V to 36V, which has made L293D a best choice for DC motor driver.

    Each channel is controlled by a TTL compatible logic input and each pair of driver is equipped

    with an inhibit input which turns off all four transistor. A separate supply voltage is provided for logic so

    that it may be run off a lower voltage to reduce dissipation. Additionally the L293D includes the output

    clamping diodes within the IC for complete interfacing with inductive loads.

  • 8/13/2019 Hand Gesture Controlled

    38/63

    HAND GESTURE CONTROLLED ROBOT

    38

    Battery

    We use 9 volt 3 amp rechargeable battery

    A battery is a device that converts stored chemical energy to electrical energy. Batteries are

    commonly used as energy sources in many household and industrial applications.

    There are two types of batteries: primary batteries (disposable batteries), which are designed to be

    used once and discarded, and secondary batteries (rechargeable batteries), which are designed to be

    recharged and used multiple times. Batteries come in many sizes, from miniature cells used in hearing aids

    and wristwatches to room-size battery banks that serve as backup power supplies in telephone exchanges

    and computer data centers.

  • 8/13/2019 Hand Gesture Controlled

    39/63

    HAND GESTURE CONTROLLED ROBOT

    39

    SOFTWARE

  • 8/13/2019 Hand Gesture Controlled

    40/63

    HAND GESTURE CONTROLLED ROBOT

    40

    SOFTWARE

    SOFTWARE USED:

    1) AVR STUDIO

    It is most commonly used compiler software. It allows to do programming in c and compiling as

    well. It supports the all avr families

  • 8/13/2019 Hand Gesture Controlled

    41/63

    HAND GESTURE CONTROLLED ROBOT

    41

    2) PROTEUS

    Proteus is simulation software used for various electronic circuit. It contain large library

    of electronic component. We have designed of circuit using this library. We have simulated our

    circuit in proteus. We use hex file created by AVR studio for simulation. And finally we got our

    result .

  • 8/13/2019 Hand Gesture Controlled

    42/63

    HAND GESTURE CONTROLLED ROBOT

    42

    3)SINAPROG

    Sinaprog it is a software which is used for the downloading the programming AVR

    microcontroller. The program is hex file which is created by AVR studio.

  • 8/13/2019 Hand Gesture Controlled

    43/63

    HAND GESTURE CONTROLLED ROBOT

    43

    ACTUAL OUTPUT

  • 8/13/2019 Hand Gesture Controlled

    44/63

    HAND GESTURE CONTROLLED ROBOT

    44

    APPLICATIONS

  • 8/13/2019 Hand Gesture Controlled

    45/63

    HAND GESTURE CONTROLLED ROBOT

    45

    APPLICATIONS

    1. We generally find people working in chemical industries under different hazardous

    condition.These people suffers with many dangerous diseases like skin cancer,lungs

    problem and many more. So we finally thought of designing a robot that can copy that

    instant action of human being under various conditions and situations.So in that place of

    industry it can be used.

    2. Most of the computer games are now using motion detecting remot technology.

    3. It is also used in mine

  • 8/13/2019 Hand Gesture Controlled

    46/63

    HAND GESTURE CONTROLLED ROBOT

    46

    FUTURE SCOPE

  • 8/13/2019 Hand Gesture Controlled

    47/63

    HAND GESTURE CONTROLLED ROBOT

    47

    FUTURE SCOPE

    In future we can design a wireless robot which can sense hand gesture by using wireless

    technologies.

    It can be used in military applications as a robotic vehicle which can be handled by a soldier to

    avoid casualties.

    Our system has shown the possibility that interaction with machines through gestures is a feasible

    task and the set of detected gestures could be enhanced to more commands by implementing a

    more complex model of a advanced vehicle for not only in limited space while also in broader

    area as in the roads too .

    In the future, service robot executing many different tasks from private movement to a fully-

    fledged advanced automotive that can make disabled to able in all sense.

  • 8/13/2019 Hand Gesture Controlled

    48/63

    HAND GESTURE CONTROLLED ROBOT

    48

    CONCLUSION

    In our project we have added special features by which our robot can overcome so many problems

    in industry. If it is further developed then it can be used for military application.

    An Accelerometer is a kind of sensor which gives an analog data while moving in X,Y,Z

    direction or may be X,Y direction only depend's on the type of the sensor.Here is a small image of an

    Accelerometer shown. We can see in the image that their are some arrow showing if we tilt these sensor's in

    that direction then the data at that corresponding pin will change in the analog form.

    A Gesture Controlled robot is a kind of robot which can be controlled by your hand gestures

    not by old buttons.You just need to wear a small transmitting device in your hand which included

    an acceleration meter.This will transmit an appropriate command to the robot so that it can do whatever we

    want. The transmitting device included a comparator IC foranalog to digital conversion and an encoder

    which is use to encode the four bit data and then it will transmit by an RF Transmitter module.

    At the receiving end an RF Receiver module receive's the encoded data and decode it by an decoder

  • 8/13/2019 Hand Gesture Controlled

    49/63

    HAND GESTURE CONTROLLED ROBOT

    49

    REFERENCES

    www.atmel.com

    www.alldatasheet.com

    www.wikipedia.com

    www.google.com

    ieeexplore.ieee.org

  • 8/13/2019 Hand Gesture Controlled

    50/63

    HAND GESTURE CONTROLLED ROBOT

    50

    APPENDIX A:

    Component list:

    Sr. no. Name of component Prize(Rs)

    1 Microcontroller (ATMEGA16)

    8- bit

    220

    2 Motor driver (L293D) 75

    3 Accelerometer (ADXL335) 1800

    4 Dc motor (9V, 150rpm) 500

    5 2x16 ALPHANUMERIC LCD

    DISPLAY

    115

    6 Crystal 15

    7 Resistor (10k, 1k) 1

    8 Capacitor (0.1uf, 10uf) 1

    Total 2727.00

  • 8/13/2019 Hand Gesture Controlled

    51/63

    HAND GESTURE CONTROLLED ROBOT

    51

    NO

    NO YES

    NO YES

    NO YES

    YES

    START

    CONFIGURE THE LCD

    MONITOR THE I/P

    CHANNEL OF ADC

    ADC CONVERSION

    FOR X Y & Z

    if((X179)&

    &(Y151))

    IF((X124)&&(Y142))

    ROBOT WILL

    MOVE TO LEFT

    ROBOT WILL

    MOVE TO RIGHTif((Y181)&&

    (X152))

    ROBOT WILL

    MOVE FORWARD

    if((Y122)&&

    (X158))

    ROBOT WILL MOVE

    BACKWARD

  • 8/13/2019 Hand Gesture Controlled

    52/63

    HAND GESTURE CONTROLLED ROBOT

    52

    APPENDIX C

    SPECIFICATIONS

    ADXL335

    Parameter Conditions Min Typ Max Unit

    SENSOR INPUT Each axisMeasurement Range 3 3.6 gNonlinearity % of full scale 0.3 %

    Package Alignment Error 1 DegreesInteraxis Alignment Error 0.1 DegreesCross-Axis Sensitivity 1 %

    SENSITIVITY(RATIOMETRIC)

    2Each axis

    Sens t v ty at XOUT,YOUT, ZOUT VS = 3 V 270 300 330 mV/gSensitivity Change Due toTemperature

    3VS = 3 V 0.01 %/C

    ZERO g BIAS LEVEL(RATIOMETRIC)

    0 g Voltage at XOUT,YOUT VS = 3 V 1.35 1.5 1.65 V0 g Voltage at ZOUT VS = 3 V 1.2 1.5 1.8 V0 g Offset vs.Temperature 1 mg/C

    NOISE PERFORMANCENoise Density XOUT,YOUT 150 g/Hz rmsNoise Density ZOUT 300 g/Hz rms

    FREQUENCY RESPONSE4

    Bandwidth XOUT, YOUT5

    No external filter 1600 HzBandwidth Z OUT

    5No external filter 550 Hz

    RFILT Tolerance 32 15% kSensor ResonantFrequency 5.5 kHz

    SELF-TEST6

    Logic Input Low +0.6 VLogic Input High +2.4 VST Actuation Current +60 A

    Output Change at XOUTSelf-Test 0 to Self-Test 1 150 325 600 mV

    Output Change at YOUTSelf-Test 0 to Self-Test 1 +150 +325 +600 mV

    Output Change at ZOUT Self-Test 0 to Self- +150 +550 +1000 mV

  • 8/13/2019 Hand Gesture Controlled

    53/63

    HAND GESTURE CONTROLLED ROBOT

    53

    Test 1

    OUTPUT AMPLIFIEROutput Swing Low No load 0.1 V

    Output Swing High No load 2.8 V

    POWER SUPPLY

    Operating Voltage Range 1.8 3.6 VSupply Current VS = 3 V 350 ATurn-On Time No external filter 1 ms

    TEMPERATUREOperating TemperatureRange 40 +85 C

  • 8/13/2019 Hand Gesture Controlled

    54/63

    HAND GESTURE CONTROLLED ROBOT

    54

    MICROGONTROLLER AVR ATmega26

    Idle Mode

    When the SM2..0 bits are written to 000, the SLEEP instruction makes the MCU enter Idle

    mode, stopping the CPU but allowing SPI, USART, Analog Comparator, ADC, Two-wire Serial

    Interface, Timer/Counters, Watchdog, and the interrupt system to continue operating. This sleep

    mode basically halts clkCPU and clkFLASH, while allowing the other clocks to run.

    Idle mode enables the MCU to wake up from external triggered interrupts as well as internal

    ones like the Timer Overflow and USART Transmit Complete interrupts. If wake-up from the

    Analog Comparator interrupt is not required, the Analog Comparator can be powered down by

    setting the ACD bit in the Analog Comparator Control and Status Register ACSR. This will

    reduce power consumption in Idle mode. If the ADC is enabled, a conversion starts automatically

    when this mode is entered.

    ADC Noise Reduction Mode

    When the SM2..0 bits are written to 001, the SLEEP instruction makes the MCU enter ADC

    Noise Reduction mode, stopping the CPU but allowing the ADC, the External Interrupts, the

    Two-wire Serial Interface address watch, Timer/Counter2 and the Watchdog to continue operating

    (if enabled). This sleep mode basically halts clkI/O, clkCPU, and clkFLASH, while allowing the

    other clocks to run.

    This improves the noise environment for the ADC, enabling higher resolution measurements. If the

    ADC is enabled, a conversion starts automatically when this mode is entered. Apart form the

    ADC Conversion Complete interrupt, only an External Reset, a Watchdog Reset, a Brown-out

    Reset, a Two-wire Serial Interface Address Match Interrupt, a Timer/Counter2 interrupt, an

    SPM/EEPROM ready interrupt, an External level interrupt on INT0 or INT1, or an external interrupt

    on INT2 can wake up the MCU from ADC Noise Reduction mode.

  • 8/13/2019 Hand Gesture Controlled

    55/63

    HAND GESTURE CONTROLLED ROBOT

    55

    Power-down Mode

    When the SM2..0 bits are written to 010, the SLEEP instruction makes the MCU enter Powerdown

    mode. In this mode, the External Oscillator is stopped, while the External interrupts, the

    Two-wire Serial Interface address watch, and the Watchdog continue operating (if enabled).

    Only an External Reset, a Watchdog Reset, a Brown-out Reset, a Two-wire Serial Interface

    address match interrupt, an External level interrupt on INT0 or INT1, or an External interrupt on

    INT2 can wake up the MCU. This sleep mode basically halts all generated clocks, allowing operation

    of asynchronous modules only.

    Note that if a level triggered interrupt is used for wake-up from Power-down mode, the changed

    level must be held for some time to wake up the MCU. Refer to External Interrupts on page 68

    for details.

    When waking up from Power-down mode, there is a delay from the wake-up condition occurs

    until the wake-up becomes effective. This allows the clock to restart and become stable after

    having been stopped. The wake-up period is defined by the same CKSEL Fuses that define the

    reset time-out period, as described in Clock Sources on page 25.

    Power-save Mode

    When the SM2..0 bits are written to 011, the SLEEP instruction makes the MCU enter Power save

    mode. This mode is identical to Power-down, with one exception:

    If Timer/Counter2 is clocked asynchronously, that is, the AS2 bit in ASSR is set, Timer/Counter2

    will run during sleep. The device can wake up from either Timer Overflow or Output Compare event from

    Timer/Counter2 if the corresponding Timer/Counter2 interrupt enable bits are set in TIMSK, and the Global

    Interrupt Enable bit in SREG is set.

    If the Asynchronous Timer is NOT clocked asynchronously, Power-down mode is recommended

    instead of Power-save mode because the contents of the registers in the Asynchronous Timer should be

    considered undefined after wake-up in Power-save mode if AS2 is 0.

    This sleep mode basically halts all clocks except clkASY, allowing operation only of asynchronous

    modules, including Timer/Counter2 if clocked asynchronously.

  • 8/13/2019 Hand Gesture Controlled

    56/63

  • 8/13/2019 Hand Gesture Controlled

    57/63

    HAND GESTURE CONTROLLED ROBOT

    57

    Analog Comparator

    When entering Idle mode, the Analog Comparator should be disabled if not used. When entering

    ADC Noise Reduction mode, the Analog Comparator should be disabled. In the other sleep

    modes, the Analog Comparator is automatically disabled. However, if the Analog Comparator is

    set up to use the Internal Voltage Reference as input, the Analog Comparator should be disabled

    in all sleep modes. Otherwise, the Internal Voltage Reference will be enabled,

    independent of sleep mode. Refer to Analog Comparator on page 201 for details on how to

    configure the Analog Comparator

    I/O Ports

    Introduction

    All AVR ports have true Read-Modify-Write functionality when used as general digital I/O ports.

    This means that the direction of one port pin can be changed without unintentionally changing

    the direction of any other pin with the SBI and CBI instructions. The same applies when changing

    drive value (if configured as output) or enabling/disabling of pull-up resistors (if configured as

    input). Each output buffer has symmetrical drive characteristics with both high sink and source

    capability. The pin driver is strong enough to drive LED displays directly. All port pins have individually

    selectable pull-up resistors with a supply-voltage invariant resistance. All I/O pins have

    protection diodes to both VCC and Ground as indicated in Figure 22. Refer to Electrical Characteristics

    All registers and bit references in this section are written in general form. A lower case x

    represents the numbering letter for the port, and a lower case n represents the bit number. However,

    when using the register or bit defines in a program, the precise form must be used, that is,

    PORTB3 for bit no. 3 in Port B, here documented generally as PORTxn. The physical I/O Registers

    and bit locations are listed in Register Description for I/O Ports on page 66.

    Three I/O memory address locations are allocated for each port, one each for the Data Register

    PORTx, Data Direction Register DDRx, and the Port Input Pins PINx. The Port Input Pins

    I/O location is read only, while the Data Register and the Data Direction Register are read/write.

    In addition, the Pull-up Disable PUD bit in SFIOR disables the pull-up function for all pins in all

    ports when set.

  • 8/13/2019 Hand Gesture Controlled

    58/63

    HAND GESTURE CONTROLLED ROBOT

    58

    Using the I/O port as General Digital I/O is described in Ports as General Digital I/O on page

    50. Most port pins are multiplexed with alternate functions for the peripheral features on the

    device. How each alternate function interferes with the port pin is described in Alternate Port

    Functions on page 55. Refer to the individual module sections for a full description of the alternate

    functions.

  • 8/13/2019 Hand Gesture Controlled

    59/63

    HAND GESTURE CONTROLLED ROBOT

    59

  • 8/13/2019 Hand Gesture Controlled

    60/63

    HAND GESTURE CONTROLLED ROBOT

    60

    Alternative Function of port 3

    Port

    Pin

    Alternate Functions

    PB7 SCK (SPI Bus Serial Clock)

    PB6 MISO (SPI Bus Master Input/Slave Output)

    PB5 MOSI (SPI Bus Master Output/Slave Input)

    PB4 SS (SPI Slave Select Input)

    PB3 AIN1 (Analog Comparator Negative Input)

    OC0 (Timer/Counter0 Output Compare Match Output)

    PB2 (External Interrupt 2 Input)

    PB1 T1 (Timer/Counter1 External Counter Input)

    PB0 T0 (Timer/Counter0 External Counter Input)

    XCK (USART External Clock Input/Output)

    USART

    The Universal Synchronous and Asynchronous serial Receiver and Transmitter (USART) is a

    highly flexible serial communication device. The main features are:

    Full Duplex Operation (Independent Serial Receive and Transmit Registers)

    Asynchronous or Synchronous Operation

    Master or Slave Clocked Synchronous Operation

    High Resolution Baud Rate Generator

    Supports Serial Frames with 5, 6, 7, 8, or 9 Data Bits and 1 or 2 Stop Bits

    Odd or Even Parity Generation and Parity Check Supported by Hardware

    Data OverRun Detection

    Framing Error Detection

    Noise Filtering Includes False Start Bit Detection and Digital Low Pass Filter

    Three Separate Interrupts on TX Complete, TX Data Register Empty, and RX Complete

    Multi-processor Communication Mode

    Double Speed Asynchronous Communication Mode

  • 8/13/2019 Hand Gesture Controlled

    61/63

    HAND GESTURE CONTROLLED ROBOT

    61

  • 8/13/2019 Hand Gesture Controlled

    62/63

    HAND GESTURE CONTROLLED ROBOT

    Electrical Characteristics

    Absolute Maximum Ratings

    Operating Temperature.................................. -55C to +125C

    Storage Temperature ..................................... -65C to +150C

    Voltage on any Pin except RESET

    with respect to Ground ................................-0.5V to VCC+0.5V

    Voltage on RESET with respect to Ground......-0.5V to +13.0V

    Maximum Operating Voltage ............................................ 6.0V

    DC Current per I/O Pin ............................................... 40.0 mADC Current VCC and GND Pins................ 200.0 mA PDIP and

    400.0 mA TQFP/MLF

    Analog to Digital Converter

    Features

    10-bit Resolution

    0.5 LSB Integral Non-linearity

    2 LSB Absolute Accuracy

    13 s- 260 s Conversion Time

    Up to 15 kSPS at Maximum Resolution

    8 Multiplexed Single Ended Input Channels

    7 Differential Input Channels

    2 Differential Input Channels with Optional Gain of 10x and 200x

    Optional Left adjustment for ADC Result Readout

  • 8/13/2019 Hand Gesture Controlled

    63/63

    HAND GESTURE CONTROLLED ROBOT

    0 - VCC ADC Input Voltage Range

    Selectable 2.56V ADC Reference Voltage

    Free Running or Single Conversion Mode

    ADC Start Conversion by Auto Triggering on Interrupt Sources

    Interrupt on ADC Conversion Complete

    Sleep Mode Noise Canceler

    The ATmega16 features a 10-bit successive approximation ADC. The ADC is connected to an

    8-channel Analog Multiplexer which allows 8 single-ended voltage inputs constructed from the pins of

    Port A. The single-ended voltage inputs refer to 0V (GND).

    The device also suports 16 differential voltage input combinations. Two of the differential inputs

    (ADC1, ADC0 and ADC3, ADC2) are equipped with a programmable gain stage, providing

    amplification steps of 0 dB (1x), 20 dB (10x), or 46 dB (200x) on the differential input voltage before

    the A/D conversion. Seven differential analog input channels share a common negative terminal

    (ADC1), while any other ADC input can be selected as the positive input terminal. If 1x or 10x gain is

    used, 8-bit resolution can be expected. If 200x gain is used, 7-bit resolution can be expected.

    The ADC contains a Sample and Hold circuit which ensures that the input voltage to the ADC

    is held at a constant level during conversion. A block diagram of the ADC. The ADC has a separate

    analog supply voltage pin, AVCC. AVCC must not differ more than

    0.3V from VCC. See the paragraph ADC Noise Canceler on page 211 on how to connect this pin.

    Internal reference voltages of nominally 2.56V or AVCC are provided On-chip. The voltage

    reference may be externally decoupled at the AREF pin by a capacitor for better noise performance.