0% found this document useful (0 votes)
22 views

Hand Gesture Controlled Robot Using Arduino

Finalizing the decision of making a gesture controlled robot that will be controlled by a hand gloved mounted with the transmission circuit assembly. The circuit assembly will consist of accelerometer and Arduino board along with an RF transmitter, which together function as a input device to the bot

Uploaded by

abhishekver1890
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

Hand Gesture Controlled Robot Using Arduino

Finalizing the decision of making a gesture controlled robot that will be controlled by a hand gloved mounted with the transmission circuit assembly. The circuit assembly will consist of accelerometer and Arduino board along with an RF transmitter, which together function as a input device to the bot

Uploaded by

abhishekver1890
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Hand Gesture Controlled Robot using Arduino

A
Major project report
Submitted in partial fulfillment of the requirement for the award of Degree of
Bachelor of Technology
IN
ELECTRONICS & COMMUNICATION ENGINEERING
Submitted To

RAJIV GANDHI PROUDYOGIKI VISHWAVIDHYALAYA BHOPAL (M.P)


Submitted By
Abhishek Verman (0537ME181003)
Sanjay Sondhiya (0537EC181013)
Under the supervision of
Prof. Samrat Ghosh Assistant Professor

Department of Electronics & Communication Engineering


Sagar Institute of Science Technology & Research, Bhopal
Session 2020-2021
Sagar Institute of Science, Technology & Research, Bhopal
Department of Electronics & Communication Engineering

CERTIFICATE
This is to certify that the work embodies in this project entitled “Hand Gesture Controlled
Robot using Arduino” being submitted by Abhishek Verman (0537ME181003) and Sanjay
Sondhiya (0537ME181013) in partial fulfillment of the requirement for the award of degree
of B.E

(Electronics & Communication Engineering), to Rajiv Gandhi Proudyogiki Vishwavidyalaya


is a record of bonafide piece of work, carried out by them under my supervision and
guidance.

Guided & Approved by:


Prof. Samrat Ghosh
Associate professor
Electronics & Communication Engineering
Forwarded by:

Prof. Harvinder Singh Saluja Dr. Manish Billore


HOD-ECE Principal
SISTEC-R, BHOPAL SISTEC-R, BHOPAL
Sagar Institute of Science, Technology & Research Bhopal
DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING

DECLARATION

We, Abhishek Verman (0537ME181003) And Sanjay Sondhiya (0537EC181013) Student of

B.E. in Electronics &Communication Engineering, session 2020-2021, Sagar institute of

Science, Technology & Research, Bhopal (M.P.), hereby declare that the work presented in

this project entitled “Hand Gesture Controlled Robot using Arduino” is the outcome of our

own work, is bonafide and correct to the best of our knowledge and this work has been

carried out taking care of Engineering Ethics. The work presented does not infringe any

patented work and has not been submitted to any other University or anywhere else for the

award of any degree or any professional diploma.

Abhishek verman (0537ME181003)

Sanjay Sondhiya (0537EC181013)

Date: …………………………………
Sagar Institute of Science, Technology & Research (SISTec-R)
Bhopal
DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING

ACKNOWLEDGEMENT

We express our deep sense of gratitude to our guide Prof. Samrat Ghosh Sir for his valuable
help and guidance. We are thankful to him for the encouragement he has given us in
completing the project.

We are also grateful to our Respected Principal, Dr. Manish Billore Sir and our HOD, Prof.
Harvinder Singh Saluja Sir for motivating & permitting us to utilize all the necessary
facilities of the institution.

We are also thankful to all the other faculties & staff members of our department for their
kind cooperation and help.

Lastly, we would like to express our deep appreciation towards our classmates and our
indebtedness to our parents for providing us the moral support and encouragement
Abhishek verman (0537ME181003) and Sanjay sondhiya (0537EC181013)
ABSTRACT

The main objective of the project work is to control robot with gestures
using hand. There are two main components of the system: The
accelerometer depends upon the gestures of the hand. Through
accelerometer, a passage of data signal is received and it is processed with the
help of arduino microcontroller. The microcontroller gives command to
the robot to move in the desired direction. The basic working principle for
the robot is passage of the data signals of accelerometer readings to the
Arduino board fitted on the bot. The program compiled in that Arduino
runs according to that value, which make the bot function accordingly
.Wh il e we h av e used two -axis accelero meter. In wh ich,
on e axis will control the speed in forward or backward direction and
other axis will control the turning mechanism. Accelerometer-based
gesture control is studied as a supplementary or an alternative interaction
modality. Gesture commands freely trainable by the user can be used for
controlling external devices with handheld wireless sensor unit. Two user
studies are presented. The first study concerns finding gestures for
controlling a design environment (Smart Design Studio), TV, VCR, and lighting.
The results indicate that different people usually prefer
different gestures for the same task, and hence it should be possible to
personalise them .
TABLE OF CONTENTS

Chapter No. Title Page

ABSTRACT

LIST OF FIGURES

ABBREVIATIONS

LIST OF SYMBOLS

1 INTRODUCTION
1.1 Overview ……………………………………………………………………………………………………………………..1
1.2 Introduction ………………………………………………………………………………………………………………...1
1.3 Objective ………………………………………………………………………………………………………………….….2
1.4 Motivation …………………………………………………………………………………………………………………..2
1.5 Organization of the report …………………………………………………………………………………………....3

2 LITERATURE SURVEY
2.1 Existing System ………………………………………………………………………………………………………….. 4
2.2 Issues in Existing System ……………………………………………………………………………………………..4
2.3 Details of Literature Survey (with pros and cons, summary) …………………………………….…….4
2.4 Problem Statement (5 lines) …………………………………………………………………………………………..6

3 SYSTEM ANALYSIS AND DESIGN


3.1 Introduction………………………………………………………………………………………………………………..7
3.2 Analysis of the problem……………………………………………………………………………………………….7
3.3 System Architecture ……………………………………………………………………………………………………8
3.3.1 Flow chart / Work flow diagram / both ……………………………………………………………………9
3.3.2 Description……………………………………………………………………………………………………………….11
3.4 Mathematical Model for Overall System …………………………………………………………………….11
3.5 Implementation Methodology…………………………………………………………………………………….12
3.6 System Requirements …………………………………………………………………………………………………13
3.7 Summary………………………………………………………………………………………………………………….... 14

4 MODULE DESCRIPTION…………………………………………………………………………………………………..15
4.1 Introduction………………………………………………………………………………………………………………...15
4.2 COMPONENTS ASSEMBLING…………………………………………………………………………………….….20
4.2.1 Introduction……………………………………………………………………………………………………………..21
4.2.2 Flow chart / Work Flow Diagram / Any UML Diagram……………………………………………...23
4.5 Summary …………………………………………………………………………………………………………………….23
5 SYSTEM IMPLEMENTATION

5.1 Introduction…………………………………………………………………………………………………………………25
5.2 Overview of the Platform ……………………………………………………………………………………………26
5.2.1 Open source and extensible hardware……………………………………………………………………..26
5.2.2 Board Description ……………………………………………………………………………………………………27
5.3 Implementation Details ……………………………………………………………………………………………..27
5.3.1 Simulation Parameters ……………………………………………………………………………………………27
5.3.2 Integration of Modules……………………………………………………………………………………………28
5.3.3 Sample Coding ……………………………………………………………………………………………………….28
5.3.4 Database Design …………………………………………………………………………………………………….31
5.3.5 Evolution Pattern …………………………………………………………………………………………………...31
5.3.6 Screenshots with proper name ……………………………………………………………………………..….33

6 SYSTEM TESTING
6.1 Introduction ……………………………………………………………………….…………………………...........38
6.2 Type of Testing Applied ……………………………………………………………………………………………..38
6.3 Test Plan …………………………………………………………………………………………………………………….38
6.4 Test Cases……………………………………………………………………………………………………………………38
6.5 Performance Testing …………………………………………………………………………………………………..41
6.6 Summary …………………………………………………………………………………………………………………….42

7 CONCLUSION AND FUTURE WORK………………………………………………………………………………….43

A VECTOR ALGEBRA 46
A.1 Product of Two Vectors…………………………………………………………………………………………….….46

B MATRIX ALGEBRA 47
B.1 Matrix Multiplication …………………………………………………………………………………………………..47
LIST OF FIGURES

Figure No. Title Page

1.1 Basic block diagram of project ………………………………………………………………………………………..1


1.2 Hand Gesture Controlled Wheel Chair…………………………………………………………………………….3

2.1 Problem Statement………………………………………………………………………………………………………..5

3.1 Encoder Pin Diagram…………………………………………………………………………………………………….10


3.2 Decoder Pin Diagram…………………………………………………………………………………………………10
3.3 The Predefined Accelerometer servo value for movement……………………………………………12
3.4 Input and Output Comparator IC……………………………………………………………………………….13
3.5 ASK Modulation……………………………………………………………………………………………………………13

4.1 Accelerometer…………………………………………………………………………………………………………..15
4.2 Comparator IC…………………………………………………………………………………………………………..16
4.3 Encoder IC………………………………………………………………………………………………………………….16
4.4 RF Transmitter…………………………………………………………………………………………………………..17
4.5 RF Receiver……………………………………………………………………………………………………………….17
4.6 Decoder IC ………………………………………………………………………………………………………………… 18
4.7 MicroController …………………………………………………………………………………………………………18
4.8 L293D I………………………………………………………………………………………………………………………… 19
4.9 H-Bridge………………………………………………………………………………………………………………….19
4.10 DC MOTOR ……………………………………………………………………………………………………………19
4.11 Components Assembling ……………………………………………………………………………………..20
4.12 Transmitter Section …………………………………………………………………………………………….. 21
4.13 Transmitter Section………………………………………………………………………………………………22
4.14 Receiver Section…………………………………………………………………………………………………………23

5.1 System Implementation……………………………………………………………………………………………..26


5.2 Component…………………………………………………………………………………………………………………. 33
5.3 Assembled Components……………………………………………………………………………………………34
5.4 Arduino Board ………………………………………………………………………………………………………….35
5.5 Accelerometer …………………………………………………………………………………………………………36
5.6 Integrated Chip ……………………………………………………………………………………………………………37

7.1 Move Backward ……………………………………………………………………………………………………….43


7.2 Move Left and Right……………………………………………………………………………………………………. 43
ABBREVIATIONS
The List Of Abreviations:-
GPS-Global positioning system
LAN-Local area network
MEMs-Micro electromechanical system
PDA-Personal digital assistant
HMI-Human machine interface
GSM-Global service for mobile
CDMA-Code division multiple access
GPRS-Global packet radio service
QCN-Quick catcher network
INS-Inertial navigation system
CHAPTER 1
INTRODUCTION
1.1 Overview
Finalizing the decision of making a gesture controlled robot that will be controlled by a
hand gloved mounted with the transmission circuit assembly. The circuit assembly will
consist of accelerometer and Arduino board along with an RF transmitter, which together
function as a input device to the bot. The basic objective is to do a basic application of

Figure 1.1: Basic block diagram of project

The controls of the robot are based on gesture of hand, which becomes simple for any
person to handle it. The basic working principle for the robot is passage of the data signals
of accelerometer readings to the Arduino board fitted on the bot. The programe compiled
in that arduino runs according to that value, which make the bot function accordingly
.While we have used two-axis accelerometer. In which, one axis will control the speed in
forward or backward direction and other axis will control the turning mechanism.

1.2 Introduction
Gesture recognition is a topic in computer science and language technology with the goal of
interpreting human gestures via mathematical algorithms. Gestures can originate from any
bodily motion or state but commonly originate from the face or hand. Current focuses in the
field include emotion recognition from the face and hand gesture recognition. Many
approaches have been made using cameras and computer vision algorithms to interpret sign
language. However, the identification and recognition of posture, gait, proxemics, and
human behaviors is also the subject of gesture recognition techniques. Gesture recognition
can be seen as a way for computers to begin to understand human body language, this
building a richer bridge between machines and humans than primitive text user interfaces or
even GUIs (graphical user interfaces), which still limit the majority of input to keyboard and
1
mouse. Gesture recognition enables humans to interface with the machine (HMI) and
interact naturally without any mechanical devices. Using the concept of gesture recognition,
it is possible to point a finger at the computer screen so that the cursor will move accordingly.
This could potentially make conve0ntional input devices such as mouse, keyboards and even
touch-screens redundant. Gesture recognition can be conducted with techniques from
computer vision and image processing. The literature includes ongoing work in the computer
vision field on capturing gestures or more general human pose and movements by cameras
connected to a computer. In computer interfaces, two types of gestures are distinguished:
We consider online gestures, which can also be regarded as direct manipulations like scaling
and rotating. In contrast, offline gestures are usually processed after the interaction is
finished; e. g. a circle is drawn to activate a context menu. Offline gestures: Those gestures
that are processed after the user interaction with the object. An example is the gesture to
activate a menu.Online gestures: Direct manipulation gestures. They are used to scale or
rotate a tangible object

1.3 Objective

The purpose of the project is to control a toy car using flex sensors attached to
a glove. The flex sensors are intended to replace the remote control that is generally used
to run the car. Additionally it also created another mode which will allow to use an
accelerometer to control the forward and backward, and left and right movements, while
using a flex sensor to control the throttle of the car. two gloves with one flex sensor and
accelerometer, respectively attached to it. âA˘ c First of all,some experiments ´ has been
done on accelerometers and flex sensors and aimed to get the required results
(calibration). âA˘ c Then, the next task is to process the sensor data through aurdino and
´ transmit it to bot’s aurdino which thereafter, controls the motor driver of the car. For
wireless communication between arduino, RF module is becoming handy to control the
car. âA˘ c Then the work of the mechanical aspects of the car is been done so that it can ´
be easily controlled through gesture

1.4 Motivation
The motivation to work on this project came from a disabled person who was driving his
wheel chair by hand with quite a lot of difficulty. So the idea to make a device which would
help such people drive their chairs without even having the need to touch the wheels of
their chairs.

2
Figure 1.2: Hand Gesture Controlled WheelChair

1.5 Organization of the report

The main body of the report is preceded by detailed contents including lists of figures,
tables, and annexes followed by units used in the report. This is followed by executive
summary giving briefly the scope and objectives of the study, importance of the topic,
methodology, limitations, major observations / findings, and recommendations and
action plan.
Chapter 1 Literature Survey
Chapter 2 System Analysis and Design
Chapter 3 Module Description
Chapter 4 System Implementation
Chapter 5 System Testing
Chapter 6 Conclusion and Future Work
All chapters are preceded by a brief synopsis of the chapter, and key words. The main
report is followed by glossary, giving the acronyms and abbreviations used in the report, a
listing of all the key words corresponding to various chapters. Reference which have been
used for certain inputs are listed after the key words. Wherever these references have been
quoted / data or technical specifications taken in the text, these have been cross-referred
by their serial number (appearing as superscripts in the report) in the list of References

3
CHAPTER 2

LITERATURE SURVEY

2.1 Existing System


The Existing System which the project using in that robot is
having the same transmitter and the Reciever section but the only difference is that it
require controller to control the robot. In that case the Robot can only be controlled using
the buttons or joypad.

2.2 Issues in Existing System

Today in this world where the Technology and Science is growing day by day the field of
Robotics also needed to be upgraded. Thus it was found that there are a few issues in the
existing system As the existing system can be controlled only with the Controller so the user
cannot directly control the robot. Secondly the physical work is more to control the robot.
Thirdly the power consumption was more as the controller requires power supply to a
higher extent than the Accelerometer. Finally the expense was more as more hardware was
required. These were a few Drawbacks in the existing System.

2.3 Details of Literature Survey (with pros and cons, summary)


The gesture controlled robot works on the principle of accelerometer which records hand
movements and sends that data to the comparator which assigns proper voltage levels to
the recorded movements. That information is then transferred to a encoder which makes it
ready for RF transmission. On the receiving end, the information is received wirelessly via
RF, decoded and then passed onto the microcontroller which takes various decisions based
on the received information. These decisions are passed to the motor driver ic which
triggers the motors in different configurations to make the robot move in a specific
direction. The following block diagram helps to understand the working of the robot:
Project
4
Figure 2.1: Problem Statement

and to avoid complexity and make it error free.


> The first is the transmitting section which includes the following components:
Accelerometer
Comparator IC
Encoder IC
RF Transmitter Module
> The second is the receiving end which comprises of following main components:
RF Receiver Module
Decoder IC
Microcontroller
Motor Driver IC
DC Geared Motors

PROS:- Traditional interfaces, keyboards and mice present a bottleneck in application that
rely on heavy interaction of
From reading lots of related articles, recent efforts have attempted to eliminate this
bottleneck by developing different ways of interacting with computers, for example: speech,
handwriting

CONS:-
It is a time consuming Project as circuit used was complex.
It is used only for short distance.
It is not in Human Control.
5
2.4 Problem Statement(5 lines)
There were a few problem associated with the gesture controlled Robot :-
>If the efficient battery is not used the transmission will be affected.
>If the robot want to be controlled to longer distance upgraded transmitter and the receiver
will be required, which will result in higher cost.
>The robot cannot be controlled at a distance more than 15 m.
>The transmission will get disturbed if the pins will to be synchronised.
>It has the antenna so the Transmitter and the Receiver needed to be in line of sight.

6
CHAPTER 3
SYSTEM ANALYSIS AND DESIGN
3.1 Introduction
A gesture controlled robot is controlled by using hand in place of any other method like
buttons or joystick. Here one only needs to move hand to control the robot. A transmitting
device is used in your hand which contains RF Transmitter and accelero-meter. This will
transmit command to robot so that it can do the required task like moving forward, reverse,
turning left, turning right and stop. All these tasks will be performed by using hand gesture.
Here the most important component is accelerometer. Accelerometer is a 3 axis acceleration
measurement device with +-3g range. This device is made by using polysilicon surface sensor
and signal conditioning circuit to measure acceleration. The output of this device is Analog in
nature and proportional to the acceleration. This device measures the static acceleration of
gravity when we tilt it. And gives an result in form of motion or vibration.
According to the datasheet of adxl335 polysilicon surface micromachined structure placed
on top of silicon wafer. Polysilicon springs suspend the structure over the surface of the wafer
and provide a resistance against acceleration forces. Deflection of the structure is measured
using a differential capacitor which incorporate independent fixed plates and plates attached
to the moving mass. The fixed plates are driven by 180¡r 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.

3.2 Analysis of the problem


The Problem with the Gesture Control Robot Implementation are :-
Problem 1. In the Gesture Controlled Robot Batteries are required and they require 11 a lot
of space and are also quite heavy.
Solution 1. some alternate power source for the batteries or replace the current DC Motors
with ones which require less power.
Problem 2. Secondly, RF for wireless transmission is being used, the range is quite limited;
nearly 50-80m.
Solution 2.This problem can be solved by utilizing a GSM module for wireless transmission.
The GSM infrastructure is installed almost all over the world. GSM will not only provide
wireless connectivity but also quite a large range.
Problem 3.The Robot can not be monitored from Far Away.
7
Solution 3. Thirdly, an on-board camera can be installed for monitoring the robot from
faraway places. A wireless camera is being used which will broadcast and a receiver module
which will provide live streaming.

3.3 System Architecture


The System Architecture of the Gesture Controlled Robot is basically divided into two
Sections:-
1. Transmitter Section
An RF Module is a (usually) small electronic circuit used to transmit, receive, or
transceive radio waves on one of a number of carrier frequencies. RF Modules are
widely used in consumer application such as garage door openers, wireless alarm
systems, industrial remote controls, smart sensor applications, and wireless home
automation systems. They are often used instead of infrared remote controls as they
have the advantage of not requiring line-of-sight operation. Several carrier frequencies
are commonly used in commercially-available RF modules, including 433.92MHz,
315MHz, 868MHz and 915MHz. The RF module, as the name suggests, operates at 12
Radio Frequency. The corresponding frequency range varies between 30 kHz and 300
GHz. In this RF system, the digital data is represented as variations in the amplitude of
carrier wave. This kind of modulation is known as Amplitude Shift Keying
(ASK).Transmission through RF is better than IR (infrared) because of many reasons.
Firstly, signals through RF can travel through larger distances making it suitable for long
range applications. Also, while IR mostly operates in line-of-sight mode, RF signals can
travel even when there is an obstruction between transmitter and receiver. Next, RF
transmission is more strong and reliable than IR transmission. RF communication uses
a specific frequency unlike IR signals which are affected by other IR emitting sources.
at a frequency of 434 MHz. An RF transmitter receives serial data and transmits it
wirelessly through RF through its antenna connected at pin4. The transmission occurs
at the rate of 1Kbps - 10Kbps.The transmitted data is received by an RF receiver
operating at the same frequency as that of the transmitter. The RF module is often
used along with a pair of encoder/decoder. The encoder is used for encoding parallel
data for transmission feed while reception is decoded by a decoder. HT12E-HT12D,
HT640-HT648, etc. are some commonly used encoder/decoder pair ICs.

5.2 RF-Transmitter
Radio transmitter design is a complex topic which can be broken
down into a series of smaller topics. A radio communication system requires two tuned
circuits each at the transmitter and receiver, all four tuned to the same frequency. The
8
transmitter is anelectronic device which, usually with the aid of an antenna, propagates an
electromagnetic signal such as radio, television, or other telecommunications. Arrangement
of RF-Transmitter âA˘ c The transmitting system consists of two tuned ´ circuits such that the
one containing the spark-gap is a persistent oscillator; the other, containing the aerial
structure, is a free radiator maintained in oscillation by being coupled to the first (Nikola Tesla
and Guglielmo Marconi). âA˘ c The oscillating system, ´ 13 including the aerial structure with
its associated inductance-coils and condensers, is designed to be both a sufficiently persistent
oscillator and a sufficiently active radiator (Oliver Lodge). Ac The transmitting system consists
of two electrically coupled circuits, one of which, containing the air-gap, is a powerful but not
persistent oscillator, being provided with a device for quenching the spark so soon as it has
imparted sufficient energy to the other circuit containing the aerial structure, this second
circuit then independently radiating the train of slightly damped waves at its own period
(Oliver Joseph Lodge and Wilhelm Wien).

5.3 RF-Encoder (HT12E)

The HT12E encoder is designed for remote control system applications. It will interface
to RF transmitter modules to create a secure single or multiple channel RF remote
control transmitter. The oscillator is configured simply with the addition of a resistor.
It is capable of encoding information which consists of N address bits and 12-N data
bits. Each address/data input can be set to one of the two logic states. The signal.
HT12E is an encoder integrated circuit of 212 series of encoders. They are paired with
212 series of decoders for. Simply put, HT12E converts the parallel inputs into serial
output. It encodes the 12 bit parallel data into serial for transmission through an RF
transmitter. These 12 bits are divided into 8 address bits and 4 data bits. HT12E has a
transmission enable pin which is active low. When a trigger signal is received on TE pin,
the programmed addresses/data are transmitted together with the header bits via an
RF or an infrared transmission medium. HT12E begins a 4-word transmission cycle
upon receipt of a transmission enable. This cycle is repeated as long as TE is kept low.
As soon as TE returns to high, the encoder output completes its final cycle and then
stops.

3.3.1 Flow chart / Work flow diagram / both


5.3.1 Features of HT12E
âAc Operating voltage: 2.4V 12V
âA c Low power and high noise immunity CMOS technology
âA˘ c Low standby current: 0.1uA (typ.) at VDD=5V
9
âA˘ c Built-in oscillator, needs only 5

âA˘ c Compatible with the HT12D decoder IC


âA˘ c 18-pin DIP

Figure 3.1: Encoder Pin Diagram

The data on 4 bit latch type output pins remain unchanged until new is received. The
decoders receive serial addresses and data from a programmed 212 series

Figure 3.2: Decoder Pin Diagram

of encoders that are transmitted by a carrier using an RF or an IR transmission medium. They


compare the serial input data three times continuously with their local addresses. If no error
or unmatched codes are found, the input data codes are decoded and then transferred to
10
the output pins. The VT pin also goes high to indicate a valid transmission. The 212 series of
decoders are capable of decoding informations that consist of N bits of address and 12-N bits
of data. Of this series, the HT12D is arranged to provide 8 address bits and 4 data bits, and
HT12F is used to decode 12 bits of address information

3.3.2 Description
2. Receiver Section
The RF receiver is specially degined to receive the signal from the rf transmitter to
demodulate or decode the original signal. for receiving the use of receiver and for 16
decoding use the IC HT12D is being made. The description of HT12D are as under as follows
5.5 RF-Decoder (HT12D)
HT12D is a decoder integrated circuit that belongs to 212 series of decoders. This series of
decoders are mainly used for remote control system applications, like burglar alarm, car door
controller, security system etc. It is mainly provided to interface RF and infrared circuits. They
are paired with 212 series of encoders. The chosen pair of encoder/decoder should have
same number of addresses and data format. In simple terms, HT12D converts the serial input
into parallel outputs. It decodes the serial addresses and data received by, say, an RF receiver,
into parallel data and sends them to output data pins. The serial input data is compared with
the local addresses three times continuously. The input data code is decoded when no error
or unmatched codes are found. A valid transmission in indicated by a high signal at VT
pin.HT12D is capable of decoding 12 bits, of which 8 are address bits and 4 are data bits.

3.4 Mathematical Model for Overall System


A. LINEAR PREDICTION The values of the sensors and motors for every wheel have been
stored for certain predefined positions for each wheel movement .The position of the robot
is predicted linearly using the given formulae. The position of the DC motor that lie between
the predefined positions are predicted by the formula stated below:

B. CORRECTION the robot may still vibrate even if the human hand is still. Therefore, there
is a strong need to remove these vibrations .Also the robot must be able to 17 capture small
movements. The correction part of the algorithm focuses on removing the small vibration in
a robot due to the noisy sensors. The predicted value is compared to the present value of the
servo motor and the difference between the two values is noted down. As the error can be
both positive and negative hence the robot becomes less susceptible to
11
vibrations as when the human arm vibrates the error would eventually cancel itself or
become small in magnitude than the threshold value and at the same time it can detect small
changes made in the human arm because the error adds up to cross the threshold.
Accelerometer gives a reading of 315, that lies between 305 and 321.The corresponding DC
value is calculated with the help of equation 3.6 where, m1= 95,m2=180,s1=305,s2=321. On
substituting these values in the equation the DC value that is predicted is 148.125 that can
be rounded up to 148. So the predicted value now becomes 148. Now the error between the
predicted value and the present value is calculated. We assume two different scenarios here
.In scenario 1 when the magnitude of the difference between the present value and the
predicted value is less than a threshold value say 8, the motor assumes the present value
according to equation 3 .Let us say that the value present value of the motor is 150, so the
error will be -2 this case having a magnitude less than the threshold .Therefore there will be
no change in the predicted value and the new DC 18 value will remain 148. On the contrary,
if the present value was 130 and the predicted value is 148, the difference between these
values is greater than the threshold 8.So the present value will be updated to 148. During the
initial phase of the construction of the algorithm to control the robot emphasis was laid only
on the prediction part .The correction part was later introduced in order to overcome the
disturbances that are present in the robot due to noise present in the sensors. The correction
part of the algorithm ensures a smooth control for the robot that overcomes hiccups that
vibrations occurring in the movement.

Figure 3.3: The Predefined Accelerometer servo value for movement

3.5 Implementation Methodology


The accelerometer records the hand movements in the X and Y directions only and outputs
constant analog voltage levels. These voltages are fed to the comparator IC which compares
it with the references voltages that have been set via variable resistors attached to the IC.
The levels that we have set are 1.7V and 1.4V. Every voltage generated by the accelerometer
is compared with these and an analog 1 or 0 signal is given out by the comparator IC.

12
This analog signal is the input to the encoder IC. The input to the encoder is parallel while the
output is a serial coded waveform which is suitable for RF transmission. A push button is
attached to pin 14 of this IC which is the Transmission Enable (TE) pin. The coded data will be
passed onto the RF module only when the button is pressed.

This button makes sure no data is transmitted unless we want to. The RF transmitter
modulates the input signal using Amplitude Shift Keying (ASK) modulation. It is the form of
modulation that represents digital data as variations in the amplitude of a carrier wave.
3.6 System Requirements
Hardware Requirements:-
For transmitter
Arduino Uno 20 ADXL335 accelerometer
433 MHz RF transmitter
Breadboard
For receiver and robot
Arduino Uno
13
433 MHz RF receiver
L293D motor driver IC
Chassis and wheels
2 DC motors
Breadboard
Of course one will also need jumper wires and 9V batteries Software Requirements:-
*> Embedded C Compiler
*> USB Arduino Board Reader.
3.7 Summary

This gesture controlled robot uses Arduino, ADXL335 accelerometer and RF transmitter-
receiver pair.
The entire robot is divided into 3 parts the transmitter,
the receiver and the robot.
The different gestures that have been mapped to the direction of the bot are
Hand parallel to the ground-stationary
Hand tilted forward-forward
Hand tilted backward-backward
Hand tilted right-right
Hand tilted left-left

In many application of controlling robotic gadget it becomes quite hard and complicated
when there comes the part of controlling it with remote or many different switches.

Mostly in military application, industrial robotics, construction vehicles in civil side,


medical application for surgery. In this field it is quite complicated to control the robot
or particular machine with remote or switches, sometime the operator may get
confused in the switches and button itself, so a new concept is introduced to control the
machine with the movement of hand which will simultaneously control the movement
of robot.

14
CHAPTER 4

MODULE DESCRIPTION
4.1 Introduction
In this Section, objective is to to partition project into modules and at last going to assemble
the modules. The components to be used are listed below:-
1. Accelerometer (ADXL335)
An Accelerometer is an electromechanical device that measures acceleration forces. These
forces may be static, like the constant force of gravity pulling at your feet, or they could be
dynamic âA ¸S caused by moving or vibrating the accelerometer. It is a kind ˘ of sensor which
record acceleration and gives an analog data while moving in X,Y,Z direction or may be X,Y
direction only depending on the type of the sensor.

Figure 4.1: Accelerometer

2. COMPARATOR IC (LM324)
The comparator ic compares the analog voltage received from the accelerometer and
compares it with a reference voltage and gives a particular high or low voltage. The
received signal is quite noisy and of various voltage levels. This ic compares those levels
and outputs in the form of 1 or 0 voltage level. This process is called signal conditioning.
The figure shown below is comparator IC. The pins 1, 7, 8 and 14 are output pins. A
reference voltage is connected to the negative terminal for high output when input is
high or positive terminal for high output when input is low from the LM324 IC.

15
Figure 4.2: Comparator IC

3. ENCODER IC HT12E

PT2262 is a remote control encoder paired with PT2272 utilizing CMOS technology. It
encodes data and address pins into serial coded waveform suitable for RF or IR
modulation. PT2262 has a maximum of 12 bits of tristate address pins providing up to
312 address codes; thereby, drastically reducing any code collision and unauthorized
code scanning possibilities. The pin description is shown below. It has 4 input while 1
output pin. The address pins can also be utilized as data pins.

Figure 4.3: Encoder IC

4 RF MODULE (Rx/Tx)

Radio frequency (RF) is a rate of oscillation in the range of about 3 KHz to 300 GHz, which
corresponds to the frequency of radio waves, and the alternating currents which carry
radio signals. Although radio frequency is a rate of oscillation, the term 24 "radio
frequency" or its abbreviation "RF" are also used as a synonym for radio âA ¸S˘ i.e. to
describe the use of wireless communication, as opposed to communication via electric
wires The RF module is working on the frequency of 315 MHz and has a range of 50-80
meters

16
5 DECODER IC (PT2272)
PT2272 is a remote control decoder paired with PT2262 utilizing CMOS Technology. It
has 12 bits of tristate address pins providing a maximum of 312 address codes;
thereby, drastically reducing any code collision and unauthorized code scanning
possibilities. The input data is decoded when no error or unmatched codes are found.
It has 1 input while 4 output pins. The address pins can also be utilized as data pins.

6 MICROCONTROLLER (AT89C51)
The processing is the most important part of the robot. Till now we get the data from
the decoder. Based on that data decisions have to be made. So here the role of
microcontroller comes up. We used a microcontroller for our robot to give it a decision

17
capability. Our microcontroller is made up by Atmel and the product name is AT89C51.

7 MOTOR DRIVER IC (L293D)


It is also known as H-Bridge or Actuator IC. Actuators are those devices which actually
gives the movement to do a task like that of a motor. In the real world there are
different types of motors available which work on different voltages. So we need a
motor driver for running them through the controller. The output from the
microcontroller is a low current signal. The motor driver amplifies that current which
can control and drive a motor. In most cases, a transistor can act as a switch and
perform this task which drives the motor in a single direction.

Turning a motor ON and OFF requires only one switch to control a single motor in a
single direction. The direction can be reversed by simply reversing its polarity. This can
be achieved by using four switches that are arranged in an intelligent manner such

18
Figure 4.8: L293D IC
that the circuit not only drives the motor, but also controls its direction. Out of many,
one of the most common WIRELESS GESTURE CONTROLLED ROBOT and clever design
is a H-bridge circuit where transistors are arranged in a shape that resembles the
English alphabet "H".

Figure 4.9: H-Bridge

8 DC MOTORS
A machine that converts DC power into mechanical power is known as a DC motor. Its
operation is based on the principle that when a current carrying conductor is placed in a
magnetic field, the conductor experiences a mechanical force. DC motors have a revolving
armature winding but non-revolving armature magnetic field and a stationary field winding
or permanent magnet. Different connections of the field and armature winding provide
different speed/torque regulation features. The speed of a DC motor can be controlled by
changing the voltage applied to the armature or by changing the field current.

Figure 4.10: DC MOTOR


19
4.2 COMPONENTS ASSEMBLING

4.2.1 Introduction

In the module One i.e., Components Assembling as the name suggests objective is to
assemble the components such as Motors, Wheels, Chasis and the Arduino Board to the
chasis using the nuts and bolts.

4.2.2 Flow chart / Work Flow Diagram / Any UML Diagram

Figure 4.11: Components Assembling

4.2.3 Description for that module (algorithm / mathematical model)

In the Components Assembling the components are assembled using the following steps.
1. In this the first step is to make the chasis.
2. Next is to join the Arduino Board on top of the chasis.
3. Next is to Assemble the motors to the side of the chasis.
4. Now once the motors are joined with the chasis now connect the wheels to the motors.
These are the steps which are to be implemented in the First Module.

20
4.3 CIRCUIT ENGINEERING

4.3.1 Introduction

In this the objective is to develop the circuit of the robot. Gesture Controlled Robot
is divided into two sections: Transmitter part Receiver part In transmitter part an
accelerometer and a RF transmitter unit is used. Accelerometer gives an analog
output so convert this analog data in to digital. For this purpose use 4 channel
comparator circuit in place of any ADC. By setting reference voltage a digital signal
is obtained and then apply this signal to HT12E encoder to encode data or
converting it into serial form and then send this data by using RF transmitter into
the environment.

4.3.2 Flow chart / Work Flow Diagram / Any UML Diagram


At the receiver end use RF receiver to receive data and then applied to HT12D decoder. This
decoder IC converts received serial data to parallel and then read by using arduino. According
to received data the robot is being driven by using two DC motor in forward, reverse, left,
right and stop direction.

Figure 4.12: Transmitter Section

21
4.3.3 Description for that module (algorithm / mathematical model)
Gesture controlled robot moves according to hand movement. When the hand is tilted in
front side, robot start to moving forward and continues moving forward until next command
is given. When hand is tilted in backward side, robot change its state and start moving in
backwards direction until other command is given. When hand is tilted in left side Robot get
turn left till next command. When hand is tilted in right side robot turned to right. And for
stopping robot keep hand in stable Circuit for this hand gesture controlled robot is quite
simple. As shown in above schematic diagrams, a RF pair is used for communication and
connected with arduino. Motor driver is connected to arduino to run the robot. Motor
driverâA Zs input pin 2, 7, 10 and 15 is connected to arduino digital pin number 6, 5, 4 and 3
respectively. Here two DC motors are used to drive robot in which one motor is connected
at output pin of motor 30 driver 3 and 6 and another motor is connected at 11 and 14. A 9
volt Battery is also used to power the motor driver for driving motors.

4.4 GESTURE OUTLINING

4.4.1 Introduction
The objective of the Gesture Outlining is to form the Transmitter Circuit. The Receiver Circuit
has an Encoder i.e., LT293E. The task of the encoder is to convert the analog signal into the
digital data. The Gesture Control Robot transmitter part has an Accelerometer, which senses
the movement of the hand.

Figure 4.13: Transmitter Section

22
4.4.2 Flow chart / Work Flow Diagram / Any UML Diagram

Figure 4.14: Receiver Section

4.4.3 Description for that module (algorithm / mathematical model)


Circuit for this hand gesture controlled robot is quite simple. As shown in above schematic
diagrams, a RF pair is used for communication and connected with arduino. Motor driver is
connected to arduino to run the robot. Motor driver As input ´ pin 2, 7, 10 and 15 is connected
to arduino digital pin number 6, 5, 4 and 3 respectively. Here we have used two DC motors
to drive robot in which one motor is connected at output pin of motor driver 3 and 6 and
another motor is connected at 11 and 14. A 9 volt Battery is also used to power the motor
driver for driving motors.
The vcc pin is connected to the +terminal in the circuit.
The data pin is connected to the HT12E (pin no-17) that is transmitted or encoded.
The next pin is shown in figure is GND that is connected to the ground terminal.
Now the last pin ANT this is connected to a small wire as an antenna.

4.4 Summary

Gesture controlled robot moves according to hand movement when the


23
transmitter is placed in hand. When the hand is tilted in front side, robot start to
moving forward and continues moving forward until next command is given. When
the hand is tilted in backward side, robot change its state and start moving in
backwards direction until other command is given. When the hand is tilted it in left
side Robot get turn left till next command. When the hand is tilted in right side
robot turned to right. And for stopping robot keep hand in stable Circuit for this
hand gesture controlled robot is quite simple. As shown in above schematic
diagrams, a RF pair is used for communication and connected with arduino. Motor
driver is connected to arduino to run the robot. Motor driver As input pin 2, 7, 10
and 15 is connected to arduino digital pin number 6, 5, 4 and 3 respectively. Here
two DC motors have been used to drive robot in which one motor is connected at
output pin of motor driver 3 and 6 and another motor is connected at 11 and 14. A
9 volt Battery is also used to power the motor driver for driving motors.

24
CHAPTER 5

SYSTEM IMPLEMENTATION

5.1 Introduction
An embedded system is a computer system designed for
specific control functions within a larger system, often with real-time computing
constraints. It is embedded as part of a complete device often including hardware
and mechanical parts. By contrast, a general-purpose computer, such as a personal
computer (PC), is designed to be flexible and to meet a wide range of end-user
needs. Embedded systems control many devices in common use today. Embedded
systems contain processing cores that are typically either microcontrollers or digital
signal processors. The key characteristic, however, is being dedicated to handle a
particular task. Since the embedded system is dedicated to specific tasks, design
engineers can optimize it to reduce the size and cost of the product and increase
the reliability and performance. Some embedded systems are mass-produced,
benefiting from economies of scale. Physically, embedded systems range from
portable devices such as digital watches and MP3 players, to large stationary
installations like traffic lights, factory controllers, or the systems controlling nuclear
power plants. Complexity varies from low, with a single microcontroller chip, to
very high with multiple units, peripherals and networks mounted inside a large
chassis or enclosure. Embedded systems span all aspects of modern life and there
are many examples of their use. Telecommunications systems employ numerous
embedded systems from telephone switches for the network to mobile phones at
the end-user. Computer networking uses dedicated routers and network bridges
to route data. Consumer electronics include personal digital assistants (PDAs), mp3
players, mobile phones, videogame consoles, digital cameras, DVD players, GPS
receivers, and printers. Many household appliances, such as microwave ovens,
washing machines and dishwashers, are including embedded systems to provide
flexibility, efficiency and features. Advanced HVAC systems use networked
thermostats to more accurately and efficiently control temperature that can
change by time of day and season. Home automation uses wired- and wireless-
networking that can be used to control lights, climate, security, audio/visual,
surveillance, etc., all of which use embedded devices for sensing and controlling.

Wavelength = Speedoflight/F Requency

25
5.2 Overview of the Platform
Arduino is an open-source electronics prototyping
platform based on flexible, easy-to-use hardware and software. It’s intended for artists,
designers, hobbyists, and anyone interested in creating interactive objects or environments.
Arduino can sense the environment by receiving input from a variety of sensors and can
affect its surroundings by controlling lights, motors, and other actuators. The microcontroller
on the board is programmed using the Arduino programming language (based on Wiring) and
the Arduino development environment (based on Processing). Arduino projects can be stand-
alone or they can communicate with software running on a computer (e.g. Flash, Processing,
and MaxMSP. It is a tool for making computers that can sense and control more of the
physical world than your desktop computer. It’s an open-source physical computing platform
based on a simple microcontroller board, and a development. environment for writing
software for the board. Arduino can be used to develop interactive objects, taking inputs
from a variety of switches or sensors, and controlling a variety of lights, motors, and other
physical outputs.

5.2.1 Open source and extensible hardware


Arduino projects can be stand-alone, or they
can be communicated with software running on your computer (e.g. Flash, Processing,
MaxMSP.) The boards can

Figure 5.1: System Implementation.


26
be assembled by hand or purchased preassembled; the open-source IDE can be
downloaded for free. The Arduino programming language is an implementation of Wiring, a
similar physical computing platform, which is based on the Processing multimedia
programming environment.

5.2.2 Board Description


The Arduino Uno is a microcontroller board based on the
ATmega328. It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6
analog inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header,
and a reset button. It contains everything needed to support the microcontroller; simply
connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to
get started. "Uno" means one in Italian and is named to mark the upcoming release of
Arduino 1.0.

5.3 Implementation Details

5.3.1 Simulation Parameters


The bot uses differential turning mechanism, which helps the
bot precise to turn. The bot uses rotational axes to accelerate or to de-accelerate. Its entire
motion is controlled by Arduino which extracts readings from accelerometer (ADXL335) and
transmits calculated data via Arduino board and processed with RF module which in turn
consists of similar mechanism. The bot works properly because of its low weight, and
preciseness with help of the mechanix kit. Actual v/s Theoretical Theoretically precision in
the angle mapping versus bot speed, failing to which, developed the alternative of angle
ranges versus bot speed. Similar mechanism is followed in bot banking where logistic data
is feed to the receiving bot and the bank angle is calculated accordingly. Logistical problem
is faced when decoding ASCII value, which is primarily transmitted via xbee. To overcome
the above modulated the primary data source and changed it to a range of values that are
eventually understood by the receiver and gradually interpreted. One other major
overcome that the all the set up are affected by the environmental conditions. so there is
no significant accuracy. so the calibration is necessary at every measurement. its also result
that a small application of accelerometer.

27
5.3.2 Integration of Modules
The Modules such as Components Assembling, Circuit
Engineering and Gesture outlining results in the construction of the entire Robot. The
Transmitter part requires a 9 volt power supply for sending the power to the
accelerometer.
The antenna of the transmitter is in the allignment with the receiver and the pin
configuration are also same.
The receiver part has the motors and thus it requires 8 batteries of 5 volt for 37 the dc
motors to run. The Arduino Motor is placed over the chasis and it also obtains power supply
from the same batteries. The Antenna of the Receiver is also required to be alligned with
the Transmitter Antenna and the pin configuration should also be configured.

5.3.3 Sample Coding


In program first of all, define output pins for motors. define FD 16
Define BD 17
Define LD 18
Define RD 19
Define m11 3
Define m12 4
Define m21 5
Define m22 6
And then in setup give the directions to pin. directions void setup()
Pin Mode (FD, INPUT)
Pin Mode (BD, INPUT)
Pin Mode (LD, INPUT)
Pin Mode (RD, INPUT)
Pin Mode (m11, OUTPUT)
Pin Mode (m12, OUTPUT)
Pin Mode (m21, OUTPUT)
Pin Mode(m22, OUTPUT)
28
After this read input by using âAŸif statementâ ˘ A˘ Z and perform relative operation.

int temp1=digitalRead(FD);
int temp2=digitalRead(BD);
int temp3=digitalRead(LD);
int temp4=digitalRead(RD);
if(temp1==1 and temp2==0 and temp3==0 and temp4==0)
backward;
define FD 16
define BD 17
define LD 18
define RD 19
define m11 3
define m12 4
define m21 5
define m22 6
void forward()
digitalWrite(m11, HIGH);
digitalWrite(m12, LOW);
digitalWrite(m21, HIGH);
digitalWrite(m22, LOW);
void backward()
digitalWrite(m11, LOW);
digitalWrite(m12, HIGH);
digitalWrite(m21, LOW);
digitalWrite(m22, HIGH);
void left()
digitalWrite(m11, HIGH);
29
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
void right()
digitalWrite(m11, LOW);
digitalWrite(m12, LOW);
digitalWrite(m21, HIGH);
digitalWrite(m22, LOW);
void Stop()
digitalWrite(m11, LOW);
digitalWrite(m12, LOW);
digitalWrite(m21, LOW);
digitalWrite(m22, LOW);
void setup()
pinMode(FD, INPUT);
pinMode(BD, INPUT);
40 pinMode(LD, INPUT);
pinMode(RD, INPUT);
pinMode(m11, OUTPUT);
pinMode(m12, OUTPUT);
pinMode(m21, OUTPUT);
pinMode(m22, OUTPUT);
void loop()
int temp1=digitalRead(FD);
int temp2=digitalRead(BD);
int temp3=digitalRead(LD);
int temp4=digitalRead(RD);
if (temp1==1 and temp2==0 and temp3==0 and temp4==0)
30
backward();
else if(temp1==0 and temp2==1 and temp3==0 and temp4==0)
forward();
else if(temp1==0 and temp2==0 and temp3==1 and temp4==0)
left();
else if(temp1==0 and temp2==0 and temp3==0 and temp4==1)
right();
else
Stop();

5.3.4 Database Design


There is no memory implementation as Arduino Board has a number
of register which stores the data itself in it.

5.3.5 Evolution Pattern

Calibration of sensor
void loop()
sensorValuey = analogRead(sensorPiny);
sensorValuex = analogRead(sensorPinx);
if (sensorValuey < 310)
// yAxis = (370-sensorValuey);
digitalWrite(motor1, LOW);
digitalWrite(motor2, HIGH);
digitalWrite(motor3, LOW);
digitalWrite(motor4, HIGH);
/* analogWrite(ledPin1, yAxis*1.77);
digitalWrite(ledPin2, LOW);
31
*/ if (sensorValuey > 360)
// yAxis = (sensorValuey-418);
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, HIGH);
42 digitalWrite(motor4, LOW);
/* analogWrite(ledPin2, yAxis*1.77);
digitalWrite(ledPin1, LOW);
*/ if (sensorValuex < 310)
// xAxis = (330-sensorValuex);
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, HIGH);
digitalWrite(motor4, HIGH);
/* analogWrite(ledPin1, xAxis*1.75);
digitalWrite(ledPin2, LOW);
*/ if (sensorValuex > 360)
// xAxis = (sensorValuex-373);
digitalWrite(motor1, HIGH);
digitalWrite(motor2, HIGH)
; digitalWrite(motor3, HIGH);
digitalWrite(motor4, LOW);
/* analogWrite(ledPin2, xAxis*1.75);
digitalWrite(ledPin1, LOW);*/

32
5.3.6 Screenshots with proper name

Figure 5.2: Component

33
Figure 5.3: Assembled Components

34
Figure 5.4: Arduino Board

35
Figure 5.5: Acceleromete

36
Figure 5.6: Integrated Chip

37
CHAPTER 6

SYSTEM TESTING
6.1 Introduction
In the system testing the robot is being tested for the movement when it
receives. The accelerometer should detect the movement of the hand and perform the
movement as per the codes and the signals are being sent to the Motor Driver. Then the
motors will send the signal to the wheels and the movement of the wheels will take place.

6.2 Type of Testing Applied


1. Stable In this the testing is being done whether their is any signal sensed by the
accelerometer.
2. Forward In this the testing is being done whether the movement of the hand is in
forward direction then the signal sensed by the accelerometer is towards +y axis.
3. Backward In this the testing is being done whether the movement of the hand is in
Backward direction then the signal sensed by the accelerometer is towards -y axis.
4. Right In this the testing is being done whether the movement of the hand is in Right
direction then the signal sensed by the accelerometer is towards +x axis..
5. Left In this the testing is being done whether the movement of the hand is in Left
direction then the signal sensed by the accelerometer is towards -x axis..

6.4 Test Cases


Input Declaration const int sensorPiny = A0;
const int sensorPinx = A1;
const int motor1 = 2;
const int motor2 = 4;
const int motor3 = 8;
const int motor4 = 12;
/*const int ledPin1 = 3;
const int ledPin2 = 11;
38
*/ int sensorValuey = 0;
int sensorValuex = 0;
int yAxis = 0;
int xAxis = 0;
Output Declaration
void setup()
pinMode(motor1, OUTPUT);
pinMode(motor2, OUTPUT);
pinMode(motor3, OUTPUT);
pinMode(motor4, OUTPUT);
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
while (millis() < 5000)
digitalWrite(13, LOW);
Calibration of sensor
void loop()
sensorValuey = analogRead(sensorPiny);
sensorValuex = analogRead(sensorPinx);
if (sensorValuey < 310)
// yAxis = (370-sensorValuey);
digitalWrite(motor1, LOW);
digitalWrite(motor2, HIGH);
digitalWrite(motor3, LOW);
digitalWrite(motor4, HIGH);
/* analogWrite(ledPin1, yAxis*1.77);
digitalWrite(ledPin2, LOW);
*/ 51 if (sensorValuey > 360)
// yAxis = (sensorValuey-418);
40
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, HIGH);
digitalWrite(motor4, LOW);
/* analogWrite(ledPin2, yAxis*1.77);
digitalWrite(ledPin1, LOW);
*/ if (sensorValuex < 310)
// xAxis = (330-sensorValuex);
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, HIGH);
digitalWrite(motor4, HIGH);
/* analogWrite(ledPin1, xAxis*1.75);
digitalWrite(ledPin2, LOW);
*/ if (sensorValuex > 360)
// xAxis = (sensorValuex-373);
digitalWrite(motor1, HIGH);
digitalWrite(motor2, HIGH);
digitalWrite(motor3, HIGH);
digitalWrite(motor4, LOW); /*
analogWrite(ledPin2, xAxis*1.75);
digitalWrite(ledPin1, LOW);*/

6.5 Performance Testing


The performance of the Robot is totally based upon the efficiency of the transformer and
the receiver. The Transmitter used is successfully able to transmit signal within the range of
15m. The Receiver is able to sense the signal within the range of 15m. So both the
transmitter and the receiver is able to sense the movement according to the signals
provided.
41
6.6 Summary
Thus the testing has been completed and the following result was verified
1. Stable In this the testing is being done and was found the accelerometer axis has no
movement.
2. Forward In this the testing is has been done and was found the movement of the
accelerometer axis is in +y axis.
3. Backward In this the testing is being done and was found that the movement of the
accelerometer axis is in -y axis.
4. Right In this the testing is being done and was found that the movement of the
accelerometer axis is in +x direction.
5. Left In this the testing is being done and was found that the movement of the
accelerometer axis is in -x axis.

42
CHAPTER 7

CONCLUSION AND FUTURE WORK


The objective has been achieved without any hurdles i.e. the control of a robot using
gestures. The robot is showing proper responses whenever the hands are tilted. Different
Hand gestures to make the robot move in specific directions are as follow:

The on-board batteries occupy a lot of space and are also quite heavy. Some alternate power
source for the batteries or replace the current DC Motors with ones which require less power
can be used.
Secondly, as RF for wireless transmission is used, the range is quite limited; nearly 50-80m.
This problem can be solved by utilizing a GSM module for wireless transmission. The GSM
infrastructure is installed almost all over the world. GSM will not only provide wireless
connectivity but also quite a large range.
43
Thirdly, an on-board camera can be installed for monitoring the robot from faraway places.
All what is needed is a wireless camera which will broadcast and a receiver module which
will provide live streaming.

44
FUTURE WORK

Currently the work is on improving serial communication between the Arduions.


The plan to install a LCD panel on the gloves so that when the glove module run on the
battery, the reading of the accelerometer can be shown (real time) and it is helpful in
debugging operation.
The work is also on improvising GUI in the processing applet so that one can have duplex
communication management between devices.
The joystick can also be installed.

45
APPENDIX A

VECTOR ALGEBRA

A.1 Product of Two Vectors


The product of two vectors are may be a scalar product or
vector product. The scalar product of two vectors is also called as dot product. It is defined
as ~a.~b = |~a||~b|cosθ where θ is the angle between the two vectors ~a and ~b
the cross product or vector product is a binary operation on two vectors in three
dimensional space and is denoted by the symbol ×. The cross product ~a × ~b of two
linearly independent vectors ~a and ~b is a vector that is perpendicular to both and
therefore normal to the plane containing them.

46
APPENDIX B

MATRIX ALGEBRA

B.1 Matrix Multiplication


Matrix multiplication is a binary operation that takes a pair of
matrices, and produces another matrix. Numbers such as the real or complex numbers can
be multiplied according to elementary arithmetic. On the other hand, matrices are arrays of
numbers, so there is no unique way to define multiplication of matrices. As such, in general
the term “matrix multiplication” refers to a number of different ways to multiply matrices.

47
REFERENCES

[1] Nitin and Naresh, “Gesture Controlled Robot PPT”, URL Available
[http://seminarprojects.com/s/hand-gesturecontrolled-robotppt
[2] “Gesture Controlled Tank Toy User Guide” URL Available
[http://www.slideshare.net/neeraj18290/wireless-gesturecontrolled-tank-toy-
transmitter]Accessed 13 October 2020.
[3] Jochen Triesch and Christoph Von Der Malsburg “Robotic Gesture Recognition
(1997)”URL Available [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.5427]
Accessed 15 October 2020.
[4] “Real-Time Robotic Hand Control Using Hand Gestures” by Jagdish Lal Raheja, Radhey
Shyam, G. Arun Rajsekhar and P. Bhanu Prasad.
[5] Bhosale Prasad S., Bunage Yogesh B. and Shinde Swapnil V. “Hand Gesture Controlled
Robot” URL Available
[6] [http://www.engineersgarage.com/contribution/accelero meter-based-hand-gesture-
controlled-robot] Accessed 3 November, 2013.
[7] [http://www.robotplatform.com/howto/L293/motor_driver_1.html] Accessed 5
November, 2013.
[8] [http://en.wikipedia.org/wiki/Gesture_interface]Accessed 5 November, 2013.
[9] [http://www.wisegeek.com/what-is-a-gear-motor.htm] Accessed 6 November, 2013.
[10] [http://www.scribd.com/doc/98400320/InTech-RealTime-Robotic-Hand-Control-Using-
Hand-Gestures]Accessed 6 November, 2013.

You might also like