Javatpoint Logo
Javatpoint Logo

Hand Gesture Controlled Robot

In many application of controlling robots, it is quite difficult and complicated when there comes a part of controlling robot with remote or many different switches. In industrial robotics, medical application for surgery, military application in this field it is quite complicated to control the robot or machine with switches or remote. Therefore a new concept is introduced to control a machine with the movement of hand which will simultaneously control the position and movement of robot.


For designing of an accelerometer based hand gesture controlled robot the AVR ATmega16 microcontroller is used. In this we use our hand gestures as input signals for driving the robot in various direction and the direction of movement of the robot is display on 16X2 alphanumeric LCD.

According to hand gesture, the ATmega16 microcontroller will send a required signal to DC motor driver (L293D) of the robot for driving the robot in desired direction.

The control hand gestures for the robot are right tilt, left tilt, forward tilt, backward tilt and no tilt to drive the robot in right, left, forward, backward direction and to stop it respectively. Now, tilt your hand in various directions and drive the robot as you want.

Robot DirectionControl Hand Gestures
ForwardForward Tilt
LeftLeft Tilt
RightRight Tilt
BackwardBackward Tilt
Stopno Tilt

Hardware Required

  • 12V, 1A DC Adapter-1 piece
  • 3-axis Accelerometer Sensor-1 piece
  • AVR Microcontroller Board-1 piece
  • DC Motor Driver-1 piece
  • AVR USB Programmer-1 piece
  • 16X2 Alphanumeric LCD-1 piece
  • 1 to 1 Connector-15 piece
  • 10 to 10 FRC Female Connector-3 piece
  • Robot-1 piece

Software Required

  • BASCOM-AVR Integrated Development Environment (IDE)
  • WinAVR-2010
  • USBasp Driver

Accelerometer Sensor

Acceleration sensor is used for measuring acceleration and tilt. An accelerometer is a device used for measuring acceleration.

The two kinds of forces which affect an accelerometer are:

  • Static Force - It is the frictional force between any two objects. By measuring this gravitational force we can determine the how much robot is tilting. This measurement is useful in balancing robot, or for determining whether robot is driving on a flat surface or uphill.
  • Dynamic Force - It is the amount of acceleration required to move an object. Measurement of dynamic force using an accelerometer tells about the velocity/speed at which robot is moving.

Accelerometer is comes in different configuration. Always use the one which is most appropriate for your robot. Some factors need to be considered before selecting accelerometer is:-

  1. Sensitivity
  2. Bandwidth
  3. Output type: Analog or Digital
  4. Number of Axis: 1,2 or 3

Consider the schematic diagram of basic accelerometer:

Hand Gesture Controlle Robot

In accelerometer sensor there are 6 pin available in Integrated Circuit (IC):-

  • X: On this pin we will receive analog data for x-direction movement.
  • Y: On this pin we will receive analog data for y-direction movement.
  • Z: On this pin we will receive analog data for z-direction movement.
  • VDD: On this pin +5V is applied.
  • GND: On this pin the ground is applied for biasing.
  • ST: Using this pin sensitivity of accelerometer is set 1.5g/2g/3g/4g.
Hand Gesture Controlle Robot2

Transmitter Block Diagram

Consider the block diagram of transmitter circuit:

Hand Gesture Controlle Robot3

Receiver Block Diagram

Consider the block diagram of receiver circuit:

Hand Gesture Controlle Robot4


Hand Gesture Controlled Robot5

Source Code:

The screenshot of source code used in hand gesture control robot using BASCOM-AVR Integrated Development Environment (IDE) is shown below:

Hand Gesture Controlle Robot6

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA