gesture control robot using by ardiuno
TRANSCRIPT
Ambe
dkar
Inst
itute
of
Tech
nolo
gy
Represented by Sudhir Kumar
Gesture Control Robot
By Arduino
Objective Of Project
• Our objective is to make this device simple as well as cheap so that it could be mass produced and can be used for a number of purposes
Motivation For Project
• Our 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 we wanted to make a device which would help such people drive their chairs without even having the need to touch the wheels of their chairs.
Introduction
• Recently, strong efforts have been carried out to develop intelligent and natural interfaces
• between users and computer based systems based on human gestures.
• Gestures provide an • intuitive interface to both human and computer.
Thus, such gesture• based interfaces can not only • substitute the common interface devices, but can
also be exploited to extend their functionality.
Robot• A robot is usually an electro-mechanical machine that can
perform tasks automatically. Some robots require some degree of guidance, which may be done using a remote control or with a computer interface. Robots can be autonomous, semi-autonomous or remotely controlled. Robots have evolved so much and are capable of mimicking humans that they seem to have a mind of their own.
Human Machine Interaction • An important aspect of a successful robotic system is the
Human-Machine interaction. In the early years the only way to communicate with a robot was to program which required extensive hard work. With the development in science and robotics, gesture based recognition came into life. Gestures originate from any bodily motion or state but commonly originate from the face or hand. Gesture recognition can be considered as a way for computer to understand human body language. This has minimized the need for text interfaces and GUIs (Graphical User Interface).
Gesture
• A gesture is an action that has to be seen by someone else and has to convey some piece of information. Gesture is usually considered as a movement of part of the body, esp. a hand or the head, to express an idea or meaning.
Material Required
1. For transmitter-• Arduino Uno • ADXL335 accelerometer • 433 MHz RF transmitter• Breadboard• Of course you will also need
jumper wires and 9V batteries
• 2. For receiver and robot-
• Arduino Uno • 433 MHz RF receiver • L293D motor driver IC • Chassis and wheels • 2 DC motors • Breadboard
We will divide entire robot into three parts are transmitter, receiver and the programmable robot
Circuit Diagram Of Receiver
Circuit Diagram Of Transmitter
Working Principle• Our 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. With the help block diagram to understand the working of the robot:
Block Diagram
Accelerometer
ADXL335
Comparator
LM324
Encoder
HT12E RF Transmitter
RF Receiver
Decoder
HT12D
Arduino Module
Motor Driver
L293D
DC Motors
Introduction To Arduino- Based on AVR microcontrollers that are widely popular for their RISC architecture, high flash memory, inbuilt different features- Arduino Uses C and C++ programming(E A S Y)……
Introduction To Arduino Open Source Hardware and Software PlatformProgram can be upload by the USB cable
What is Arduino?A microcontroller board, contains on-board power supply, USB port to communicate with PC, and an Atmel microcontroller chip.It simplify the process of creating any control system by providing the standard board that can be programmed and connected to the system without the need to any sophisticated PCB design and implementation.It is an open source hardware, any one can get the details of its design and modify it or make his own one himself.
Arduino boards:
UNO Mega LilyPad
Arduino BT Arduino Nano Arduino Mini
Arduino UNO:Digital output~: PWM.0,1: Serial port.
In circuit Serial programming
Atmel Microcontroll
er
Analog input.Power Supply
USB port
Power input
Reset Button
HardwareI/O PORTS ========== 14PWM ========== 6Analog ========== 6
8 bit =======25610 bit ======= 1023
ADC
Why Arduino ?- Inbuilt ADC, Serial Interface, PWM, IO pins-Programming so easy……(Can be used available libraries)-Open Source platform
-Arduino program is similar to C and C++ programming
Arduino IDE:
Arduino Reference:
Void setup(){}Used to indicate the initial values of system on starting.Void loop(){}Contains the statements that will run whenever the system is powered after setup.
Code Structure:
Program#define FD 16#define BD 17#define LD 18#define RD 19#define m11 3#define m12 4#define m21 5#define m22 6void 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);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);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 && temp2==0 && temp3==0 && temp4==0)backward();else if(temp1==0 && temp2==1 && temp3==0 && temp4==0)forward();else if(temp1==0 && temp2==0 && temp3==1 && temp4==0)left();else if(temp1==0 && temp2==0 && temp3==0 && temp4==1)right();elseStop();}
Serial Communication
Serial Communication• Compiling turns your
program into binary data (ones and zeros)
• Uploading sends the bits through USB cable to the Arduino
• The two LEDs near the USB connector blink when data is transmitted• RX blinks when the
Arduino is receiving data• TX blinks when the
Arduino is transmitting data
APPLICATIONS• Through the use of gesture recognition, remote control with
the wave of a hand of various devices is possible. • Gesture controlling is very helpful for handicapped and
physically disabled people to achieve certain tasks, such as driving a vehicle.
• Gestures can be used to control interactions for entertainment purposes such as gaming to make the game player's experience more interactive or immersive.
CONCLUSION We achieved our objective without any hurdles i.e. the control of a
robot using gestures. The robot is showing proper responses whenever
we move our hand. Different Hand gestures to make the robot move in
specific directions are as follow:
Fig Move Forward
Fig Move Backward
Fig Move Right
Fig Move Left
The robot only moves when the accelerometer is moved in a specific direction. The valid movements are as follows:
DIRECTION ACCELEROMETER
ORIENTATION Forward +y
Backward -y
Right +x
Left -x
Stop Rest
Complete assemble of project
Thank you…