You are on page 1of 14

VISVESVARAYA TECHNOLOGICAL

UNIVERSITY BELGAVI - 590018

A Mini project report on

“ARDUINO BASED GESTURE-CONROLLED ROBOT”


BY
SRIHARI VS
(USN: 4UB16EC048)
AND
SHREYAS SHEGATE
(USN:4UB16EC042)

UNDER THE GUIDANCE OF:


Mrs. GEETHA V
Prof, Dept. of Electronics and Communication

2017-2018
DEPARTMENT OF ELECTRONICS AND
COMMUNICATION ENGINEERING
UBDT COLLEGE OF ENGINEERING,
DAVANGERE-577004
UBDT COLLEGE OF ENGINEERING

DEPARTMENT OF ELECTRONICS AND COMMUNICATION


CERTIFICATE
This is to certify that Mini Project entitled “ARDUINO BASED GESTURE-CONTROLLED ROBOT” is a
bonafide record of the Mini Project done by SRIHARI VS, bearing USN: 4UB16EC048 under our
guidance and supervision at the Department of Electronics and Communication Engineering, UBDT
college of Engineering, Davangere, has completed the Mini project in the Fourth semester of
Visveswaraya Technological University, Belagavi during the academic year 2017-2018.

---------------------------------------- ----------------------------------------

Project guide Head of the department

Mrs. GEETHA V Dr. MANJANAIK


Professor Professor

ACKNOWLEDGEMENT
I would like to thank all those who helped us to make this Mini Project a
successful one.
First my special thanks to our guide Mrs. Geetha V, Professor,
Department of Electronics and Communication Engineering who guided to
understand the topic and gave suggestions on improvement of this Mini Project
and also for providing resources for the completion of this Mini project for her
co-operation and encouragement at all of our approach.

I would like to thank Dr. Manjanaik HOD of Electronics and


Communication, for providing us an platform for conducting this Mini Project.

Place: Davangere SRIHARI V S

Date: (4UB16EC048)
ABSTRACT

A gesture controlled robot is a robot which can follow the commands made by
an hand gesture. This is an improved version of RF module controlled device.
Presented here is an Arduino based gesture-controlled robot, which is
controlled through an accelerometer module using wireless radio frequency
(RF) communication.

The robot is divided into two parts, transmitter and receiver. The
receiver circuit is the same as that of the RF remote controlled cars. The slight
difference is witnessed only at the transmitter section of the module.

Here programming has to be done at the transmitter part so as to


serve as a transmitter. To recognise the gesture, accelerometer sensors are
used.
CONTENTS
CHAPTER PAGE NO.
1. INTRODUCTION
2. CIRCUIT AND WORKING
3. SOFTWARE PROGRAMMES
4. CONSTRUCTION AND TESTING
5. PARTS LIST
6. CONCLUSION
7. REFERENCES
CHAPTER 1

INTRODUCTION

An Arduino based gesture controlled robot is the robot is nothing but a motor
controlling in response to the gesture of our hand. This is a combination of RF
modules, Accelerometer and Arduino interfaced with motors. Let’s start
knowing about the individual parts of an Robot.

ACCELEROMETER (ADXL345) –

An accelerometer is a three axis acceleration measuring


device. The accelerometer used here is ADXL345 and it has three axis (X Y Z).
These accelerometers are used in a smart phones which is playing an important
role in motion games of the mobile. The character in a phone move as per the
tilting we do in our phone. The picture of an ADXL345 is shown in figure 1.

Figure 1

How does an receiver recognize the gestures?

Here the brain of the robot is Arduino UNO (Atmega 32) it is fed with some set
of code. The Gesture or motion made by the hand are recognised by a
acceleration measuring device called accelerometer. The over view of the
working is shown in a block diagram shown in figure 2.
Here the accelerometer reads the XYZ coordinates when we make gestures by
hand and send the XYZ coordinates to the ARDUINO. Here the z-axis is not used
for the application. The Arduino checks the Values of the coordinates and
sends a 4 bit code to the Encoder IC. The Encoder passes the data to RF
transmitter and the transmitted data is received by RF receiver. The receiver
sends the 4 bit data to the Decoder IC and Decoder passes it to the Motor drive
IC. Later the motor driver makes the decision to turn the two motors in
required direction.

POWER SUPPLY-

There are requirement of two power supply, one for


Transmitter and other for Receiver section. The receiver section needs to be
powered using 9V supply (since we are using a 6V DC generated motors) and
the transmitter circuit can be powered by using 9V battery. An LED via a 1K
resistor can be connected to know the state of power supply.
CHAPTER 2

CIRCUIT AND WORKING


In this project, two Arduino boards are required, one at the transmitting side
and other at the receiving side. The transmitter circuit is attached to the hand
and the receiver circuit is attached to mechanical chassis of a robot.

Hand gesture can control the robot using an accelerometer such as


ADXL345 module. By changing the axis of ADXL345, we get corresponding
changes in X-axis, Y-axis and Z-axis coordinates. These are sent to Arduino
board2 at transmitting end, accordingly, control command to the robot is sent
through the RF transmitter module wireless.

These transmitted signals are received at the receiver end through an RF


receiver module and transferred to Arduino board1 at receiving end, which
then drives the L293 D IC to rotate the motors for robotic movement.

Arduino UNO board –

Arduino is an open source electronic prototyping - platform based on


flexible, easy-to-use hardware and software. Arduino UNO development board
is build around ATmega328 chip. It has 14 digital input/output pins (6 of which
can be used to pulse width modulation (PWM) outputs), six analogous inputs, a
16MHz ceramic resonator, USB connection, power jack, an ICSP header and
reset button. It contains everything for supporting the microcontroller (MCU);
simply connected it to computer with a USB cable or power it with an AC-to-
DC adaptor or battery to get started.

ADXL345 module –

ADXL345 accelerometer modules are available from various manufacturers.


Shapes and sizes of the modules may differ but these all have SDA, SCL, SDO,
and CS pins for 12C and ISP serial communications. Pin details of a typical
ADXL345 module is shown in figure 3.
Figure 3

The module equivalent to ADXL345 is Keyes-345 accelerometer module.


It communicates with Arduino using 12C communication protocol. Here,
Arduino UNO board acts as the master device and ADXL345 as slave device.
SDA and SCL pins of ADXL345 should be connected to the SDA pin (pin 31) and
SCL pin (pin 32) on Arduino UNO board, respectively. Readings of the
accelerometer will give the tilt direction of ADXL345 on all three axes (X,Y and
Z) by varying the gesture of the hand.

RF module-
An RF module is a fast and effective device for wireless
communication for shorter ranges. Here, we have used a pair of RF transmitter
and receiver modules, operating at 433MHz. A library of Arduino, named
VirtualWire.h, is used to sync the RF module with Arduino. Of the eight pins of
the RF receiver, only 4 pins, namely Antenna, 5V, GND and Data are used here.
Connect a single-strand wires to Antenna pin of both transmitter and receiver
pins of the RF modules as shown in figure 6.
CHAPTER 3

SOFTWARE PROGRAMMES

Program for this robot includes Wire.h header file for 12C communication
protocol and VirtualWire.h library of Arduino to sync the RF module with
Arduino.

VirtualWire.h is an arduino library that provides features to send short


messages. It allows you to send and receive data bytes and strings easily.

The software has the following functions:

void writeTo(int device, byte address, byte val). This function is used to write
bytes of data from a particular byte address to slave device.

void readFrom(int device, byte address, int num, byte buff[]). This function is
used to read bytes of data of particular buff sizes from a specific buffer
address.

void setup ( ). This function is used initialise the baud rate for serial
communication and other pins for digital input/output.

void loop ( ). This function is used to perform the required task of comparing
data with reference set by the user for X,Y and Z axes and perform the task of
transmitting data for forward, backward, left and right movement of a robot.

The source code to be downloaded at : “source.efymag.com”

CHAPTER 4
CONSTRUCTION AND TESTING

An actual-size, single- side PCB layout of the transmitter circuit for the hand
gesture controlled Robot is shown in figure 7 and component layout in figure 8.
An actual size, single side PCB layout of the receiver circuit is shown in figure 9
and its component layout in figure 10. Connect Board 1 to CON 2 in the PCB
layout (fig.10), Board 2 to CON4 and ADXL-345 to CON5 in the PCB layout
(Fig.8). Pin numbers shown in CON2 and CON4 refer to the digital pins of
Arduino boards.

The transmitter circuit is fitted to the Glove so that it can be used


repeatdly. Place ADXL345 below the middle finger such that the pins’ side of
ADXL345 is facing towards you as shown in figure 11. We use the middle finger
because it will get the best average motion of the movement of the hand.

The rest can be fitted near the wrist or on a separate PCB so that it
does not disturb the hand movements.

On the receiver side of robot, Arduino UNO board should be


connected to L293D IC and the remaining circuit through proper connection of
wires.

A 9V-12V batteries are used for the operation and by selecting a


higher value Voltage source can produce a good performance.

A 30cm long wire is used as an antenna for both transmitter and


receivers. The wires are to be connected to antenna pins of the transmitter and
receiver.
CHAPTER 5
PARTS LIST
SEMICONDUCTORS:

1) LCD - 16*2 LCD


2) IC 1 - L293D motor driver
3) BOARD1 AND BOARD2 - ARDUINO UNO
4) TX1 - 433MHz RF Transmitter module
5) RX1 - 433MHz RF Receiver module
6) ADXL345 - Accelerometer module

MISCELLANIOUS:

1) M1,M2 - 6V, DC Generated Motor


2) CON1, CON3 - 2-pin connecter
3) CON2 - 8-pin connecter
4) CON4 - 7-pin connector
5) CON5 - 4-pin connector
6) ANT1, ANT2 - 30cm-long single-stand wire antenna
- USB A-B cable
- 9V battery(2)

CHAPTER 6

CONCLUSION
This robot is designed for recognizing five sets of gesture:

Forward, backward, left, right, stop. The following figures shows the gestures
for particular operations.

You might also like