Download - Hand Gesture Controlled
-
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.