Piyush Group 3-2
Piyush Group 3-2
Piyush Group 3-2
A PROJECT REPORT
Submitted By:
PIYUSHSINGH P KSHATRIYA-11EE043
TECHNOLOGY,
CHARUSAT,
CHANGA,ANAND,GUJARAT,388421
M & V DEPARTMENT OF
ELECTRICAL ENGINEERING
DECLARATION
I hereby declare that the Project Report for the project entitled
“GESTURE CONTROL OF INDUSTRIAL ROBOT ”
submitted in partial fulfillment for the degree of Bachelor of Technology
in Electrical Engineering to CHARUSAT UNIVERSITY,
Changa, is a bona fide record of the project work carried out at
CHANDUBHAI S PATEL INSTITUTE OF TECH . under the
supervision of ASST. Prof. Mr. Ankit prajapati.
Piyushsingh P kshatriya
Gesture Controlled Industrial Robot
CERTIFICATE
th
Electrical Engineering 8 Semester of CHARUSAT UNIVERSITY, Changa
ACKNOWLEDGEMENTS
This project involved the collection and analysis of information
from a wide variety of sources and the efforts of many people
beyond me. Thus it would not have been possible to achieve the
results reported in this document without their help, support and
encouragement.
ABSTRACT
TABLE OF CONTENTS
CERTIFICATE........................................................................................3
ACKNOWLEDGEMENTS.....................................................................4
ABSTRACT..............................................................................................5
TABLE OF CONTENT...........................................................................6
CHAPTER 7: REFERENCES
Gesture Controlled Industrial Robot
CHAPTER 1
GESTURE TECHNOLOGY C
Wi-Fi
It is a wireless local area network that enables portable computing
devices to connect easily to the Internet. Standardized as IEEE
802.11 a,b,g,n, Wi-Fi approaches speeds of some types of wired Ethernet.
Wi-Fi has become the de facto standard for access in private homes,
within offices, and at public hotspots. Some businesses charge customers
a monthly fee for service, while others have begun offering it for free in
an effort to increase the sales of their goods.
Gesture Controlled Industrial Robot
CHAPTER 02
ARDUINO BOARD WITH ATMEGA 328
MICROCONTROLLER
a) Inexpensive
Arduino boards are relatively inexpensive compared to other
microcontroller platforms. The least expensive version of the
Arduino module can be assembled by hand, and even the pre-
assembled Arduino modules cost less than $50
b) Cross-platform The Arduino software runs on Windows,
Macintosh OSX, and Linux operating systems. Most
microcontroller systems are limited to Windows.
c) Simple, clear programming environment
The Arduino programming environment is easy-to-use for
beginners, yet flexible enough for advanced users to take
advantage of as well. For teachers, it's conveniently based on the
Processing programming environment, so students learning to
program in that environment will be familiar with the look and feel
of Arduino
d) Open source and extensible software
The Arduino software and is published as open source tools,
available for extension by experienced programmers. The language
can be expanded through C++ libraries, and people wanting to
understand the technical details can make the leap from Arduino to
the AVR C programming language on which it's based. SImilarly,
you can add AVR-C code directly into your Arduino programs if
you want to.
Gesture Controlled Industrial Robot
GND Ground
Port B (PB7) Port B is an 8-bit bi-directional I/O port with internal pull-
up resistors (selected for each bit). The Port B output buffers have
symmetrical drive characteristics with both high sink and source
Gesture Controlled Industrial Robot
capability. As inputs, Port B pins that are externally pulled low will
source current if the pull-up resistors are activated. The Port B pins are
tri-stated when a reset condition becomes active, even if the clock is not
running. Depending on the clock selection fuse settings, PB7 can be
used as output from the inverting Oscillator amplifier.
PB6 Depending on the clock selection fuse settings, PB6 can be used as
input to the inverting Oscillator amplifier and input to the internal clock
operating circuit.
Port C (PC5) Port C is a 7-bit bi-directional I/O port with internal pull-
up resistors (selected for each bit). The output buffers have symmetrical
drive characteristics with both high sink and source capability. As
inputs, Port C pins that are externally pulled low will source current if
the pull-up resistors are activated. The Port C pins are tri-stated when a
reset condition becomes active, even if the clock is not running.
PC6 PC6 is used as an I/O pin. Note that the electrical characteristics of
PC6 differ from those of the other pins of Port C.; PC6 is used as a Reset
input. A low level on this pin for longer than the minimum pulse length
will generate a Reset, even if the clock is not running.
Port D (PD7) Port D is an 8-bit bi-directional I/O port with internal pull-
up resistors (selected for each bit). The Port D output buffers have
symmetrical drive characteristics with both high sink and source
capability. As inputs, Port D pins that are externally pulled low will
source current if the pull-up resistors are activated. The Port D pins are
tri-stated when a reset condition becomes active, even if the clock is not
running.
Gesture Controlled Industrial Robot
AVcc AVCC is the supply voltage pin for the A/D Converter. It should be
externally connected to VCC, even if the ADC is not used. If the ADC is
AREF AREF is the analog reference pin for the A/D Converter.
Setup ( )
The setup () function is called when a sketch starts. Use it to initialize
variables, pin modes, start using libraries, etc. The setup function will
only run once, after each powerup or reset of the Arduino boa
Article I. Loop ()
Article II. After creating a setup () function, which initializes and sets
the initial values, the loop() function does precisely what its name
suggests, and loops consecutively, allowing your program to change and
respond. Use it to actively control the Arduino board.
Section II.1
Section II.2 2.7.2 Constants
Section II.3 Constants are predefined variables in the Arduino
language. They are used to make the programs easier to read. We classify
constants in groups.
2.7.3 Functions
Digital I/O There is basically three functions are used in digital I/O.
Gesture Controlled Industrial Robot
Analog I/O In analog I/O there are also three functions to take input from
accelerometer which are
CHAPTER3
Within the tracking area of Leap Motion sensor, the internal model
detects human arms, 27 hands, fingers, and tools, recording and
reporting their position information, gesture information and
motion in frames.
3.1 Background
3.4 Results
The results were satisfactory. The team was able to complete its task of
manipulating the robot arm using hand gestures over the LM sensor.
CHAPTER 4
CHAPTER 5
import processing.serial.*;
Serial myPort;
import de.voidplus.leapmotion.*;
int o;
LeapMotion leap;
void setup()
{
size(800, 500);
String portName = Serial.list()[9];
myPort = new Serial(this, portName, 9600);
leap = new LeapMotion(this);
}
void draw()
{
background(255);
// ...
int fps = leap.getFrameRate();
print(x);
print(" ");
print(y);
print(" ");
print(z);
print(" ");
println(w);
myPort.write(w);
myPort.write(x);
myPort.write(y);
myPort.write(z);
hand.draw();
// hand.drawSphere();
if(hand.hasArm()){
Arm arm = hand.getArm();
float arm_width = arm.getWidth();
PVector arm_wrist_pos = arm.getWristPosition();
PVector arm_elbow_pos = arm.getElbowPosition();
}
switch(finger.getType()){
case 0:
// System.out.println("thumb");
break;
case 1:
// System.out.println("index");
break;
case 2:
// System.out.println("middle");
break;
case 3:
// System.out.println("ring");
break;
case 4:
// System.out.println("pinky");
break;
}
// finger.draw(); // = drawLines()+drawJoints()
// finger.drawLines();
// finger.drawJoints();
switch(touch_zone){
case -1: // None
break;
case 0: // Hovering
// println("Hovering (#"+finger_id+"): "+touch_distance);
break;
case 1: // Touching
// println("Touching (#"+finger_id+")");
break;
}
}
Gesture Controlled Industrial Robot
// tool.draw();
switch(touch_zone){
case -1: // None
break;
case 0: // Hovering
// println("Hovering (#"+tool_id+"): "+touch_distance);
break;
case 1: // Touching
// println("Touching (#"+tool_id+")");
break;
}
Gesture Controlled Industrial Robot
}
}
void leapOnInit(){
// println("Leap Motion Init");
}
void leapOnConnect(){
// println("Leap Motion Connect");
}
void leapOnFrame(){
// println("Leap Motion Frame");
}
void leapOnDisconnect(){
// println("Leap Motion Disconnect");
}
void leapOnExit(){
// println("Leap Motion Exit");
}
Gesture Controlled Industrial Robot
CHAPTER 6
ABOUT SERVOMOTORS
Basic Information
Modulation:
AnalogTorque:
Dimensions:
Length:.60 in (40.6 mm)
Width: 0.78 in (19.8 mm)
Height:1.69 in (42.9 mm)
Gear Type:Metal
Rotation/Support:Dual Bearings
Gesture Controlled Industrial Robot
#include <Servo.h>
Servo my1;
Servo my2;
Servo my3;
Servo my4;
Servo my5;
Servo my6;
int potpin = 0;
int potpin1= 2;
int potpin2= 4;
int potpin3= 6;
int vale;
int vals;
void setup()
{
my1.attach(2);
my2.attach(3);
my3.attach(4);
my4.attach(5);
my5.attach(6);
my6.attach(8);
my1.write(1);
my2.write(179);
my3.write(1);
my4.write(179);
pinMode(13,OUTPUT);
Serial.begin(9600);
}
void loop()
Gesture Controlled Industrial Robot
{
if(Serial.available()>0)
{
int afj=Serial.read();
if(afj>=0 && afj<=60)
{
int asds = afj;
vals = map(asds, 5,60, 5, 178);
int vals2=map(asds,60,0,1,178);
my3.write(vals);
my4.write(vals2);
}
else if(afj>=61 && afj<=120)
{
int qse=afj;
qse=map(qse,120,61,10,160);
my6.write(qse);
}
else if(afj>=121 && afj<=180)
{
int asde = afj;;
vale = map(asde, 180, 127, 1, 178);
int vale1=map(asde,121,180,27,178);
my1.write(vale);
my2.write(vale1);
}
else if(afj>=181 && afj<=250)
{
int awd=afj;
int val=map(awd,200,250,20,80);
my5.write(val);
}
}
}
Gesture Controlled Industrial Robot
CHAPTER 7
REFERENCES
1. ARDUINO.CC
2. ARDUINO.CN
3. ARDUINO.GOOGLECODE.COM
4. CITESEERX.IST.PSU.EDU
5. CODE-REFERENCE.COM
6. DEVELOPER.LEAPMOTION.COM
7. EN.M.WIKIPEDIA.ORG
8. EN.WIKIPEDIA.ORG
9. ENERGIA.NU
10. FORUM.PROCESSING.ORG
11. FORUM.PROCESSING.ORG
12. GITHUB.COM
13. SIMPLE.WIKIPEDIA.ORG
14. WWW.AIOPASS4SURE.COM
15. WWW.ARDUINO.CC
16. WWW.DIGIKEY.COM
17. WWW.LINKEDIN.COM
18. WWW.OPENPROCESSING.ORG
19. WWW.SLIDESHARE.NET