Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
HAND GESTURE CONTROLLED ROBOTIC CAR
A project work report submitted
to
MANIPAL UNIVERSITY DUBAI
For Partial Fulfillment of...
MANIPAL UNIVERSITY
DUBAI
BACHELORS IN MECHATRONICS ENGINEERING
SCHOOL OF ENGINEERING & IT
CERTIFICATE
This is to certify t...
AKNOWLEDGEMENT
We take this opportunity to express our sincere gratitude to the people who have been helpful in
the succes...
DEDICATION
This project is dedicated to our parents who have supported us all the way since the beginning of
our studies.
...
ABSTRACT
Now a days in this fast growing industrial or non-industrial age everyone needs speed in
manufacturing to cope up...
LIST OF TABLES
Table No. Title Page
4.1 Arduino UNO Specification 8
5.1 Specification SG90 15
7.1 Xbee Command Specificati...
LIST OF FIGURES
Fig. Title Page
1.1 Basic block diagram 2
1.2 Overview Block Diagram 2
3.1 Flex Sensor 5
3.2 Flex Sensor V...
ABBREVIATIONS
HGCbot Hand gesture controlled robot
AC Alternating Current
DC Direct Current
EEPROM Electrically Erasable P...
CONTENTS
ACKNOWLEDGEMENT.................................................................................... i
DEDICATION....
6 THE GLOVE........................................................................................ 19
6.1 HISTORY...........
CHAPTER 1
INTRODUCTION
Human gestures are undoubtedly natural. They may often prove more efficient and powerful as
compare...
and stops based on the gesture of the user. The steering of HGCBot is done by using servo
motors.
Key terms: Glove, Flex s...
1.4.1 OVERVEIW OF THE ENTIRE PROJECT
The project is divided into five major subprojects as follows:
Glove Design
The desig...
CHAPTER 2
LITERATURE
[1] Gesture controlled robot through image processing-
This research was referred by the team for mak...
CHAPTER 3
FLEX SENSOR
3.1 INTRODUCTION
A simple flex sensor is 2.2" in length. As the sensor is bent, the resistance acros...
Working of Flex sensor
The nominal resistance at 0 degree is 10kΩ, at the bent of 45 degree the resistance will be
increas...
3.3. FLEX SENSOR CIRCUIT
𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 = 𝑣𝑣𝑖𝑖𝑖𝑖(
𝑅𝑅1
𝑅𝑅1 + 𝑅𝑅2
)
PURPOSE OF VOLTAGE DIVIDER IN FLEX SENSOR
The flex sensor chan...
3.4. FEATURES
1. Angle displacement measurement.
2. Bends and flexes physically with motion device.
3. Helps to provide mo...
CHAP4TER 4
ARDUINO
4.1 Introduction
The only Uno is the latest version after the duemilanove, with an improved USB interfa...
the Arduino development environment (based on processing). Arduino projects can be stand-
alone or they can communicate wi...
External (non-USB) power can come either from an AC-to-DC adapter battery. The adapter can
be connected by plugging a 2.1m...
AREF. Reference voltage for the analog inputs. Used with ref ().Reset Bring this line LOW to
reset the microcontroller. Ty...
the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8
is 160mil (0.16"), not ...
CHAPTER 5
SERVO MOTOR
5.1 INTRODUCTION
Servo refers to an error sensing feedback control which is used to correct the perf...
Servo motor
Servo motors have been around for a long time and are utilized in many applications. Tiny and
lightweight with...
between its actual position and desired position. So if the motor is near the desired position, it
will turn slowly, other...
5.4 ADVANTAGES AND DISADVANTAGES OF SERVO MOTOR
There are so many advantages and disadvantages, some of them are mentioned...
5.5 APPLICATIONS
Servos are extremely useful in robotics and automation. Servo motors are used across various
automation f...
CHAPTER 6
THE GLOVE
6.1 HISTORY
First glove like device (cloth) onto which numerous touches bend and inertial sensors were...
6.3 WHAT DO GLOVE DEVICES MEASURE
Measure finger flexure and hand orientation, to a greater are lesser extent. Each type o...
CHAPTER 7
XBEE SHIELD
7.1 OVERVIEW
The Xbee shield allows an Arduino board to communicate wirelessly using Zigbee. The mod...
7.3 Jumper Settings
The Xbee shield has two jumpers (the small removable plastic sleeves that each fit onto two of
the thr...
If DH is 0 and DL equals 0xFFFF, the module's transmissions will be received by all modules.
If DH is non-zero or DL is gr...
Note: although the valid and default values in the table above are written with a prefix of "0x" (to
indicate that they ar...
CHAPTER 8
XBee Series 2
The XBee Series 2 OEM RF Modules were engineered to operate within the ZigBee protocol
and support...
Advanced Networking & Security
• Retries and Acknowledgements
• DSSS (Direct Sequence Spread Spectrum) Each direct sequenc...
communicate with any logic and voltage compatible UART; or through a level
translator to any serial
UART Data Flow
Devices...
 Serial Buffers
• The XBee Series 2 modules maintain small buffers to collect received serial and RF data.
The serial rec...
Figure 8.5: Internal Data Flow Diagram
8.3 Modes of Operation
o Idle Mode
 When not receiving or transmitting data, the R...
 All of the parameter values in the sequence can be modified to reflect user
preferences.
NOTE: Failure to enter AT Comma...
8.4 Sleep Mode
Sleep modes are supported on end devices only. Router and coordinator devices participate in
routing data p...
CHAPTER 9
DESIGN DETAIL
9.1. DESIGN METHOD
The basic components of the glove are the hand itself, the Xbees S2 module, the...
Arduino). The resistors in the photo are 10KΩ. I color-coded the wires I used in the same way as
the schematic, so you can...
side ground. In similar way, all 4 sensors are connected to Arduino. Analogue Reading is
attached from pins A1 - A4 with e...
START
Initialize the XBEE S2 Module,
Set Router - AT mode,
Initialize Variable: char Input.
Read Input from the
GLOVES, St...
9.4 DESIGNING THE BODY USING 3D PRINTER
The body of the HGCBOT was designed using 3-D software’s solid work and inventors....
Even after the assembly, the car body had to balance the weight of the car.
9.5 FINAL OUTPUT
9.6 USAGE OF HGCBOT
HGCBOT ca...
This robot has no desired path, which every direction the user wants to take it, it will go that
way.
The HGCBOT uses the ...
CHAPTER 10
CONCLUSION AND FUTURE SCOPE
10.1 CONCLUSION
Hand gesture control is a developing technology in 21st
century. Th...
In the future with the help of mapping technology and addition of few more sensors this robot
can do wonders.
It provides ...
REFRENCES
1. www.sparkfun.com
2. www.slideshare.com
3. www.ciruictsathome.com
4. www.instructable.com
5. www.engineergaura...
Nächste SlideShare
Wird geladen in …5
×

Binder1

1.046 Aufrufe

Veröffentlicht am

  • Als Erste(r) kommentieren

Binder1

  1. 1. HAND GESTURE CONTROLLED ROBOTIC CAR A project work report submitted to MANIPAL UNIVERSITY DUBAI For Partial Fulfillment of the Requirement for the Award of the Degree of BACHELOR OF ENGINEERING in MECHATRONICS ENGINEERING by MOHAMMED ZAMAN BAYEZID 1118011 NIKHIL GANDHI 1118023 Under the Guidance of Dr. ROMA RAINA Asst. Professor - Selection Grade School of Engineering& IT SCHOOL OF ENGINEERING & IT MANIPAL UNIVERSITY, DUBAI DUBAI INTERNATIONAL ACADEMIC CITY P.O.BOX : 345050, U.A.E 2015
  2. 2. MANIPAL UNIVERSITY DUBAI BACHELORS IN MECHATRONICS ENGINEERING SCHOOL OF ENGINEERING & IT CERTIFICATE This is to certify that the project work titled “HAND GESTURE CONTROLLED ROBOTIC CAR” ” is a bonafied work of MOHAMMED ZAMAN BAYEZID 1118011 NIKHIL GANDHI 1118023 Carried out in partial fulfillment of the requirements for awarding the degree of Bachelor of Engineering in Mechatronics Engineering discipline in MANIPAL University DUBAI during the academic year 2014-2015. Chairperson Project Guide School of Engineering & IT Examiners: 1. …………………………. ……………………………….. 2. ………………………….. ……………………………….. ( Name ) ( Signature with date )
  3. 3. AKNOWLEDGEMENT We take this opportunity to express our sincere gratitude to the people who have been helpful in the successful completion of our final year project. We would like to show our greatest appreciation to the highly qualified professors and lab in-charges of Manipal University Dubai. We are highly indebted to them for the tremendous support and help during the completion of our project. Firstly we are grateful to Dr. S. K. PANDEY (Chairperson school of Engineering and IT)for providing us with an opportunity to do our project and utilize the required resources and for supporting us in all possible way. We would like to thank our project guide Dr. ROMA RAINA the for her guidance and constant encouragement without whom this project wouldn’t have been a success. We would also like to present our immense gratitude to Mr. MOHAMMED MUNIB who dedicated his valuable time with us for solving the difficulties in completion of our project. Our special thanks to all those people who directly or indirectly helped and guided us to complete our project. i
  4. 4. DEDICATION This project is dedicated to our parents who have supported us all the way since the beginning of our studies. Also this project is dedicated to all our professors who have been a great source of knowledge, motivation and inspiration. Finally, this report is dedicated to all our friends and those had faith in us for the completion of this project, And also for our fellow juniors who are fresh minds in this university. Thank you ii
  5. 5. ABSTRACT Now a days in this fast growing industrial or non-industrial age everyone needs speed in manufacturing to cope up with the customer requirements or another purposes the robot play important role. The basic objective of our presentation is to develop a versatile concept among business students. Robots can be used in number of application by changing the program of controller and the structure is designed in such a way that it is carry to lift light loads but also lift medium loads. Hand gesture controlled robot (HGCBot) that uses the motion of human hand wearing a control glove, an opening and closing of each individual finger of the human hand is been recorded as gestures and be further used by the gesture controlled robot to perform pre- defined operation. 3D printing technology is used to build and design the HGCBot body Parts. Ardiuno Uno r3 board is programmed and been used to record hand gesture and control HGCBot communication between gesture recording gloves and HGCBot is wireless via Xbee S2 using Xbee shield to interface with arduino board. The servomotor and axel mechanism is used to steer HGCBot. During the course of this project, different types of hand gesture control robots have come into picture. This included controlling a remote control car using accelerometer, using Bluetooth and using gyroscope to automatically balance the car. With the help of this project the team has acquired decent knowledge on how to make a robot with aruino, how to control it wirelessly and how there is always another idea to modify the robot if the first one didn’t work out properly. iii
  6. 6. LIST OF TABLES Table No. Title Page 4.1 Arduino UNO Specification 8 5.1 Specification SG90 15 7.1 Xbee Command Specification 23 76.2 Xbee Command Description 24 iv
  7. 7. LIST OF FIGURES Fig. Title Page 1.1 Basic block diagram 2 1.2 Overview Block Diagram 2 3.1 Flex Sensor 5 3.2 Flex Sensor Variable Resistance 6 3.3(a) Flex Sensor Circuit 7 3.3(b) Voltage divider circuit 7 4.1 Arduino UNO R3 9 4.2 Arduino UNO Schematic 13 5.1 Servo Motor SG90 14 5.2 Parts of Servo motor 16 5.3(a) Circuit diagram of the servomotor 11 16 5.3(b) Angle positioning depends on the length of the pulse 17 6.1 Glove 19 7.1 Xbee Shield Schematic 21 8.1 Xbee 25 8.2 Xbee Communication 26 8.3 System Data Flow Diagram in a UART‐interfaced environment 27 8.4 UART data packet 0x1F (decimal number ʺ31ʺ) as transmitted through the RF module 27 8.5 Internal Data Flow Diagram 29 8.6 Syntax For Sending AT commands 30 8.7 X‐CTU User Interface (PC Settings, Range Test, Terminal and Modem Configuration tabs 31 9.1 Flex Sensor Circuit 32 9.2 Glove Design 33 9.3 Power Connections to the motors 34 8.4(a) Steering Axel Design 36 8.4(b) Front End Axel mount Design 36 8.4(c) Body Assembly 36 8.5 HGCBot 37 v
  8. 8. ABBREVIATIONS HGCbot Hand gesture controlled robot AC Alternating Current DC Direct Current EEPROM Electrically Erasable Programmable Read Only Memory IDE Integrated Drive Electronics I/O Input /Output LED Light Emitting Diode MISO Master in Slave Out MOSI Master Out Slave In PROM Programmable Read Only Memory PCB Printed Circuit Board PWM Pulse Width Modulation REF Reference RC Radio Controlled RX Receiver SCK Serial Clock SPI Serial Peripheral Interface SS Slave Select TTL Transistor To Transistor Logic TX Transmitter UART Universal Asynchronous Receiver/Transmitter USB Universal Serial Bus VIN Input Voltage VOUT Output Voltage vi
  9. 9. CONTENTS ACKNOWLEDGEMENT.................................................................................... i DEDICATION...................................................................................................... ii ABSTRACT......................................................................................................... iii LIST OF TABLES................................................................................................ iv LIST OF FIGURES.............................................................................................. v ABBREVIATIONS.............................................................................................. vi NO. CHAPTERS PG 1 INTRODUCTION................................................................................ 1 1.1 BACKGROUND............................................................................ 1 1.2 OBJECTIVE.................................................................................... 1 1.3 BASIC BLOCK DIAGRAM.......................................................... 2 1.4 SUBPROJECT................................................................................ 2 1.4.1 OVERVEIW OF THE ENTIRE PROJECT................................. 3 2 LITERATURE...................................................................................... 4 3 FLEX SENSOR..................................................................................... 5 3.1 INTRODUCTION........................................................................... 5 3.2 HOW IT WORKS........................................................................... 5 3.3 FLEX SENSOR CIRCUIT............................................................. 7 3.4 FEATURES..................................................................................... 8 3.5 POSSIBLE USES............................................................................ 8 3.6 APPLICATIONS............................................................................ 8 4 ARDUINO............................................................................................ 9 4.1 Introduction..................................................................................... 9 4.2 OVERVIEW.................................................................................... 9 4.3 SPECIFICATION........................................................................... 10 4.4 POWER........................................................................................... 10 4.5 MEMORY....................................................................................... 11 4.6 INPUT AND OUTPUT................................................................... 11 4.7 COMMUNICATION...................................................................... 12 4.8 USB OVER CURRENT PROTECTION........................................ 12 4.9 PHYSICAL CHARACTERISTICS................................................ 12
  10. 10. 6 THE GLOVE........................................................................................ 19 6.1 HISTORY....................................................................................... 19 6.2 WHY USE A GLOVE DEVICE.................................................... 19 6.3 WHAT DO GLOVE DEVICES MEASURE................................. 20 6.4 WORKING PRINCIPLE OF GLOVE............................................ 20 7 XBEE SHIELD..................................................................................... 21 7.1 OVERVIEW.................................................................................... 21 7.2 SCHEMATIC.................................................................................. 21 7.3 JUMPER SETTINGS...................................................................... 22 7.4 ADDRESSING................................................................................ 22 7.5 CONFIGURATION........................................................................ 23 8 XBEE SERIES 2................................................................................... 25 8.1 KEY FEATURES........................................................................... 25 8.2 RF MODULE OPERATIONS........................................................ 26 8.3 MODES OF OPERATIONS........................................................... 29 8.4 SLEEP MODE................................................................................ 31 8.5 XCTU SOFTWARE....................................................................... 31 9 DESIGN DETAIL................................................................................. 32 9.1. DESIGN METHOD....................................................................... 32 9.2 CIRCUIT OF PROJECT................................................................. 33 9.3 PROGRAM FLOWCHART........................................................... 34 9.4 DESIGNING THE BODY USING 3D PRINTER......................... 36 9.5 FINAL OUTPUT............................................................................ 37 9.6 USAGE OF HGCBOT.................................................................... 37 9.7 THE ADVANTAGES OF HGCBOT............................................. 38 10 CONCLUSION AND FUTURE SCOPE............................................. 39 10.1 CONCLUSION............................................................................. 39 10.2 FUTIRE OF HGCBOT................................................................. 39 11 REFERENCES..................................................................................... 41 5 SERVO MOTOR.................................................................................. 14 5.1 INTRODUCTION........................................................................... 14 5.2 INSIDE THE SERVO MOTOR..................................................... 15 5.3 HOW SERVO WORKS.................................................................. 16 5.4 ADVANTAGES AND DISADVANTAGES OF SERVO............ MOTOR 17 5.5 APPLICATIONS............................................................................ 18
  11. 11. CHAPTER 1 INTRODUCTION Human gestures are undoubtedly natural. They may often prove more efficient and powerful as compared to various other modes of interaction. The gestures are communicative, meaningful body motions- i.e. physical movement of the fingers, hands, arms, head, face, or body with the objective to convey information or interact with the environment. In our work gesture recognition has been proposed to understand the action of a hand. To increase the use of robots where conditions are not certain such as firefighting or rescue operation we can make robots which follows the instruction of human operator and perform the task, in this way decisions are taken according to the working condition by the operator and task is performed by the robots. Thus we can use these robots to perform those tasks that may be harmful for human beings. 1.1 BACKGROUND The word robot was derived from Czech word Robota which means “a forced labor”. Thus the robot technology is advancing rapidly. Now a day’s the most commonly used robots in industry is robotic hand or a robotic manipulator. Robotic hand is basically kinematics chain of rigid links interconnected by movable joints. The hand is also called end effector. The end effecter may be a tool or a gripper or any other device to do the work. The end effector is similar to the human hand with or without fingers. 1.2 OBJECTIVE The main objective of this project is to design AVR microcontroller based HGCBot controlled wirelessly by hand gesture. The goal of the project is to design a useful and fully functional real- world system that efficiently translates the hand gesture into the movement of the 3D printed HGCBot. This could be also further enhanced in various applications such as robotics, automation systems, etc. in this project design the robot moves, forward, backward, left, right 1
  12. 12. and stops based on the gesture of the user. The steering of HGCBot is done by using servo motors. Key terms: Glove, Flex sensor, microcontroller, Wireless controlling and servo motor. 1.3 BASIC BLOCK DIAGRAM The user wears a glove with flex sensor the gesture made by the user is sensed by flex sensor and is given at the microcontroller. This occurs at the transmitter end. The microcontroller processes these signals and encodes it. These signals are wirelessly transmitted to the receiver end. At the receiver end, the received signal is decoded in the required form and makes the motors run. The basic block diagram of the project as shown below fig :( 1.1). Figure 1.1: Block Diagram 1.4 SUBPROJECT The block diagram in figure (1.2) presents an overview of the entire project. Figure 1.2: Overview Block Diagram Flex sensor Microcontroller - Tx Xbee s2 Wireless communication Microcontroller - Rx Servo motor & DC Motors FLEX SENSOR 1 FLEX SENSOR 2 FLEX SENSOR 3 FLEX SENSOR 4 ARDUINO BOARDS INTERFACE WITH THE GLOVE AND THE HGCBOT USING XBEE MODULE. MOTOR MOTOR SERVO MOTOR G L O V E S 2
  13. 13. 1.4.1 OVERVEIW OF THE ENTIRE PROJECT The project is divided into five major subprojects as follows: Glove Design The design and implementation of a sensor-based glove system that can be worn by the user and comfortably provide stable and accurate control of the robotic hand. Servo Motor Data Signal Circuits These circuits take input from the glove sensors and generate appropriate motor control signals based on those inputs. Wireless Communication The HGCBot and gesture device are wirelessly interfaced via Xbee S2 Module in AT mode. Sensor Feedback System Flex sensors are used to provide feedback to the user on alignment, position, and collision detection. Arduino Programming The Arduino uno r3 takes input from the sensor feedback system and generates an appropriate control signals for automated control of the HGCBot. 3
  14. 14. CHAPTER 2 LITERATURE [1] Gesture controlled robot through image processing- This research was referred by the team for making the HGCBOT, a brief information about this research is, in this research the hand was supposed to be placed at a specific position in front of camera so that the camera calibrates the hand gestures, but the calculation for making the robot were complicated and there were a lot of drawback, eg the hand should always be at a specific distance, sensing the signal on the robot. In this research the system contains of a webcam which captures the gesture movement, then it is fed to the hand palm detection software, the commands are detected with this software through which specific signals are generated, next these signals are sent to the arduino with the help of Xbee. Then the motors are controlled with the help of L293D motor driver. The HGCBot is upgraded version of the robot from the research, which uses sensor embedded gloves to recognize the gestures of your hand. [2] Accelerometer based gesture recognition robot- In this system, two dimensional hand gestures are sent via an input device to the computer's memory and appear on the computer monitor. These symbolic gestures are identified as editing commands through geometric modeling techniques. Gestures are represented by a view-based approach, and stored patterns are matched to perceived gestures using dynamic time warping. View-based vision approaches also permit a wide range of gestural inputs when compared to the mouse and stylus input devices. In the HGCBot we overcame the additional component such as accelerometer for the which required twisting of wrist to sense the motion in order for it to be triggered, HT12E 12 pin encoder, HT12D 12 pin decoder and LCD. 4
  15. 15. CHAPTER 3 FLEX SENSOR 3.1 INTRODUCTION A simple flex sensor is 2.2" in length. As the sensor is bent, the resistance across the sensor increases. Flex sensors are sensors that change in resistance depending on the amount of the bend on the sensor. They are often used in gloves to sense finger movement. Flex sensors are simple in construction. The flex sensor shown in fig :2.1 is the unidirectional. Flex sensor is a unique component that changes resistance when flexed. Flex sensor is bent in one direction the resistance gradually increases. 3.2. HOW IT WORKS Flex sensors are analogue resistors, they works as variable analogue voltage divider. Inside the flex sensors are carbon resistive elements within a thin flexible substrate. More carbon means less resistance, when the substrate is bent the sensor produces a resistance output relative to the bent radius. The higher the resistance value yielding smaller radius. Figure 3.1: Flex Sensor 5
  16. 16. Working of Flex sensor The nominal resistance at 0 degree is 10kΩ, at the bent of 45 degree the resistance will be increased. At 90 degrees will give 30-40 K ohms. The Bend Sensor lists resistance of 30-250 K ohms and if the flex sensor is further bent the resistance will be further increased. The flex sensor operating temperature is -45F to 125F. The Flex point Bend Sensor is somewhat different from the simple flex sensors. It has a much bigger range of resistance. Working of Flex sensor The nominal resistance at 0 degree is 10kΩ, at the bent of 45 degree the resistance will be increased. At 90 degrees will give 30-40 K ohms as shown below fig. The Bend Sensor lists resistance of 30-250 K ohms and if the flex sensor is further bent the resistance will be further increased. The flex sensor operating temperature is -45F to 125F. The Flex point Bend Sensor is somewhat different from the simple flex sensors. It has a much bigger range of resistance. Figure 3.2: FLEX SENSOR VARIABLE RESISTANCE 6
  17. 17. 3.3. FLEX SENSOR CIRCUIT 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 = 𝑣𝑣𝑖𝑖𝑖𝑖( 𝑅𝑅1 𝑅𝑅1 + 𝑅𝑅2 ) PURPOSE OF VOLTAGE DIVIDER IN FLEX SENSOR The flex sensor changes its resistance when flexed so we can measure that change using one of the Arduino’s analogue pins. But to do that we need a fixed resistor (not changing) that we can use for that comparison (We are using a 10K resistor). This is called a voltage divider and divides the 5V between the flex sensor and the resistor. Figure 3.3(a): FLEX SENSOR CIRCUIT Figure 3.2(b): Voltage divider circuit 7
  18. 18. 3.4. FEATURES 1. Angle displacement measurement. 2. Bends and flexes physically with motion device. 3. Helps to provide more accurate data. 3.5. POSSIBLE USES 1. Robotics 2. Gaming (Virtual Motion) 3. Medical devices 4. Computer peripherals 5. Musical instrument. 3.6 APPLICATIONS Flex sensors may be used in robotics to determine joint movement or placement. They may also be used like whiskers for wall detection. The sensors we are making are also pressure sensitive so they can also be used as bumper switches for wall detection or pressure switches on robotic grippers. For bio-metrics, the sensor can be placed on a moving joint of athletic equipment to provide an electrical indication of movement or placement. A few of the sensors can be incorporated onto a glove to make virtual reality glove. 8
  19. 19. CHAP4TER 4 ARDUINO 4.1 Introduction The only Uno is the latest version after the duemilanove, with an improved USB interface chip. Like the Duemilanove , it not only has an expended shield header with a 3.3V reference and a RESET pin(which solves the problem of how to get to the RESET pin in shield) and a 500𝑚𝑚𝑚𝑚 fuse to protect your computer’s USB port, but also an automatic circuit to select USB or DC power without a jumper. The Uno is pin and code compatible with the duemilanove, diecimilla and older Arduino’s your entire shield, libraries, code will still work. The new R3 (3rdrevision) of the UNO has a few minor updates, with an upgrade to the USB interface chip and additional breakouts for the i2c pins and an I/ORef pin. 4.2 OVERVIEW Arduino is an open source electronics prototyping platform based on flexible, easy to use hardware and software. It’s intended for artist, designers, hobbyists, and anyone interested in creating interactive object or environment as shown in fig:(4.1). The Arduino can sense the environment by receiving input from a variety of sensor and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino UNO programming language (based on wiring) and Figure 4.1: Arduino UNO R3 9
  20. 20. the Arduino development environment (based on processing). Arduino projects can be stand- alone or they can communicate with software running on a computer. 4.3. Specification Table 4.1: Arduino Specification Arduin UNO R3 Microcontroller ATmega328 Operating Voltage 5V InputVoltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40Ma DC Current for 3.3V Pin 50mA Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz 4.4 POWER The Arduino Uno can be powered via the USB connection or with an external power supply. The power source is selected automatically. 10
  21. 21. External (non-USB) power can come either from an AC-to-DC adapter battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the board's power jack. Leads from a battery can be inserted in the Ground and VIN pin headers of the power connector. 4.5 MEMORY The ATmega328 has 32 KB (with 0.5 KB used for the boot loader). It also has 2 KB of SRAM and 1 KB of EEPROM (which can be read and written with the EEPROM library). 4.6 INPUT AND OUTPUT Each of the 14 digital pins on the Uno can be used as an input or output, using pin mode(), digital Write, and digital Read () functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40mA and has an internal pull-up resistor (disconnected by default) of 20-50 ohms. In addition, some pins have specialized functions: Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip. External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attach Interrupt () function for details . PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analog Write() function. SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication using the SPI library. LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off. The Uno has 6 analog inputs, labeled A0 through A5, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and the analog Reference () function. Additionally, some pins have specialized functionality. 11
  22. 22. AREF. Reference voltage for the analog inputs. Used with ref ().Reset Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shield which block the one on the board. 4.7 COMMUNICATION The Arduino Uno has a number of facilities for communicating with a computer, another Arduino, or other microcontrollers. The ATmega328 provides UART TTL (5V) serial communication, which is available on digital pins 0 (RX) and 1 (TX). An ATmega16U2 on the board channels this serial communication over USB and appears as a virtual com port to software on the computer. The '16U2 firmware uses the standard USB COM drivers, and no external driver is needed. However, on Windows, a .inf file is required. The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the Arduino board. The RX and TX LEDs on the board will flash when data is being transmitted via the USB-to-serial chip and USB connection to the computer (but not for serial communication on pins 0 and 1).A Software Serial library allows for serial communication on any of the Uno's digital pins.The ATmega328 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus. 4.8 USB OVER CURRENT PROTECTION The Arduino Uno has a resettable poly-fuse that protects your computer's USB ports from shorts and over current. Although most computers provide their own internal protection, the fuse provides an extra layer of protection. If more than 500mA is applied to the USB port, the fuse will automatically break the connection until the short or overload is removed. 4.9 PHYSICAL CHARACTERISTICS The maximum length and width of the Uno PCB are 2.7 and 2.1 inches respectively, with the USB connector and power jack extending beyond the former dimension. Four screw holes allow 12
  23. 23. the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8 is 160mil (0.16"), not an even multiple of the 100mil spacing of the other pins. Figure4.2: Arduino Schematic 13
  24. 24. CHAPTER 5 SERVO MOTOR 5.1 INTRODUCTION Servo refers to an error sensing feedback control which is used to correct the performance of a system. A servo motor consists of three major parts: a motor, control board, and potentiometer (variable resistor) connected to output shaft. The motor utilizes a set of gears to rotate the potentiometer and the output shaft at the same time. The potentiometer, which controls the angle of the servo motor, allows the control circuitry to monitor the current angle of the servo motor. The motor, through a series of gears, turns the output shaft and the potentiometer simultaneously. The potentiometer is fed into the servo control circuit and when the control circuit detects that the position is correct, it stops the servo motor. If the control circuit detects that the angle is not correct, it will turn the servo motor in the right direction until the angle is correct. Servo or RC Servo Motors are DC motors equipped with a servo mechanism for precise control of angular position. The RC servo motors usually have a rotation limit from 90° to 180°. But servos do not rotate continually. Their rotation is restricted in between the fixed angles. Servo motors is shown in fig :( 4.1). Figure 5.1: Servo Motor SG 90 14
  25. 25. Servo motor Servo motors have been around for a long time and are utilized in many applications. Tiny and lightweight with high output power. Servo can rotate approximately 180 degrees(90 in each direction), and works just like the standard kinds but smaller. You can use any servo code, hardware or library to control these servos. Good for beginners who want to make stuff move without building a motor controller with feedback & gear box, especially since it will fit in small places. It comes with a 3 horns (arms) and hardware. Servo motors are used in industrial applications. Servos are extremely useful in robotics and automation. Servo motors are used across various automation fields specifically where the motor must be able to operate at a range of speeds without overheating, operate at zero speed while being able to retain its load in a set position, as well as operate at low speeds. The aerospace industry makes use of servo motors in their hydraulic systems to contain system hydraulic fluid. The servo motor is relatively small in size, yet very powerful. Table 5.1: Specification SG90 4.2 INSIDE THE SERVO MOTOR To fully understand how the servo works, you need to take a look under the hood. Inside there is a pretty simple set-up a small DC motor, potentiometer and a control circuit. The motor is attached by gears to the control wheel. As the motor rotates, the potentiometer's resistance changes, so the control circuit can precisely regulate how much movement there is and in which direction it is. When the shaft of the motor is at the desired position, power supplied to the motor is stopped. If not, the motor is turned in the appropriate direction. The desired position is sent via electrical pulses through the signal wire. The motor's speed is proportional to the difference SERVO MOTOR SG 90 SPECIFICATIONS Weight 9 g Dimension 22.2 x 11.8 x 31 mm approx. Stall torque 1.8 kgf·cm Operating speed 0.1 s/60 degree Operating voltage 4.8 V (~5V) Dead band width 10 µs Temperature range 0 ºC – 55 ºC 15
  26. 26. between its actual position and desired position. So if the motor is near the desired position, it will turn slowly, otherwise it will turn fast. This is called proportional control. The internal construction of servo is shown in fig :(4.2). 5.3 HOW SERVO WORKS Fig:(4.3 a ) shows the circuit diagram of the servomotor built out of five resistors and a capacitor, aided by a transistor and Fig:(4.b b) shows the angle positioning. The power and control are given as input to this circuit. Figure 5.2: Parts of Servo Motor Figure 3.3(a): Circuit diagram of the servomotor 16
  27. 27. 5.4 ADVANTAGES AND DISADVANTAGES OF SERVO MOTOR There are so many advantages and disadvantages, some of them are mentioned below. • High speed and high torque is needed • Servo motors also maintain their torque rating at high speed, up to 90% of the rated torque is available from a servo at high speed. • Servo motors are quite, available in AC and DC drive, and do not vibrate or suffer from resonance issues. • Servo motors usually have a small size. • Servo motors have a large angular force (torque) comparing to their size. • Servo motors operate in a closed loop, and therefore are very accurate. • Servo motors are electrically efficient. • Servo motors are capable of delivering more power than stepper. • Servo motors are also much more expensive than stepper motor. • Servo motors often require gear boxes, especially for lower speed operation. • The requirement for a gearbox and position encoder make servo motor designs more mechanically complex and increase the maintenance requirements for the system. Figure 5.3(b) :Angle positioning depends on the length of the pulse 17
  28. 28. 5.5 APPLICATIONS Servos are extremely useful in robotics and automation. Servo motors are used across various automation fields specifically where the motor must be able to operate at a range of speeds without overheating, operate at zero speed while being able to retain its load in a set position, as well as operate at low speeds. Robots utilize servo motors because of their smooth commutation and accurate positioning. The aerospace industry makes use of servo motors in their hydraulic systems to contain system hydraulic fluid. The servo motor is relatively small in size, yet very powerful. The Servos are used for precision positioning. They are used in robotic arms and legs, sensor scanners and in RC toys like RC helicopter, airplanes and cars. Servo motors are small, have built-in control circuitry and have good power for their size. 18
  29. 29. CHAPTER 6 THE GLOVE 6.1 HISTORY First glove like device (cloth) onto which numerous touches bend and inertial sensors were sewn. Measured flexure, hand orientation and wrist-position, and hand tactile sensors are at fingertips. Orientation of hand tracked by video camera required clear line of sight observation for the glove to function. Finger flex sensors, tactile sensor at the fingertips, orientation sensing and wrist positioning sensors, position of sensors were changeable. 6.2 WHY USE A GLOVE DEVICE Traditional data input device have a limited range of the amount of data they can input at a given time because they are limited to one, two or three degrees of freedom. Degrees of freedom are measure of the number of position of which the device can be read as inputting a different data values. Gloves offer for superior data input potential since they provide multiple degrees of freedom for each finger and the hand as a whole. By taking orientation of fingers and relative position of hand, glove devices can track an enormous variety of gestures each of which corresponds to a different type of data entry. This gives the glove remarkably rich expressive power, which can be used in the inputting of extremely complicated data. Figure 6.1: Glove 19
  30. 30. 6.3 WHAT DO GLOVE DEVICES MEASURE Measure finger flexure and hand orientation, to a greater are lesser extent. Each type of glove measure either four or five fingers (the pinky finger is sometimes excluded) for the degree of flexure, measurement range from the fingers being extended straight in the line with the palm, to being curled up against the palm as in making a first.Glove can track hand orientation by measuring roll, pitch and yaw or position of the hand as a whole. 6.4 WORKING PRINCIPLE OF GLOVE All data glove devices track the orientation of the hand and fingers using either fiber optics, ultrasonic, magnetic, electrical resistance or some combination of these methods. However any glove device feed data about hand and finger positions to a tracker, a piece of equipment that process the data so that it can be understood by the computer. The computer then matches the orientation to a file of gestures and fires an event corresponding to the matching gestures. 20
  31. 31. CHAPTER 7 XBEE SHIELD 7.1 OVERVIEW The Xbee shield allows an Arduino board to communicate wirelessly using Zigbee. The module can communicate up to 100 feet indoors or 300 feet outdoors (with line-of-sight). It can be used as a serial/usb replacement or you can put it into a command mode and configure it for a variety of broadcast and mesh networking options. The shields breaks out each of the Xbee's pins to a through-hole solder pad. It also provides female pin headers for use of digital pins 2 to 7 and the analog inputs, which are covered by the shield (digital pins 8 to 13 are not obstructed by the shield, so you can use the headers on the board itself). 7.2 SCHEMATIC Figure7.1: XBEE Shield Schematic 21
  32. 32. 7.3 Jumper Settings The Xbee shield has two jumpers (the small removable plastic sleeves that each fit onto two of the three pins labeled Xbee/USB). These determine how the Xbee's serial communication connects to the serial communication between the microcontroller (ATmega8 or ATmega168) and FTDI USB-to-serial chip on the Arduino board. With the jumpers in the Xbee position (i.e. on the two pins towards the interior of the board), the DOUT pin of the Xbee module is connected to the RX pin of the microcontroller; and DIN is connected to TX. Note that the RX and TX pins of the microcontroller are still connected to the TX and RX pins (respectively) of the FTDI chip - data sent from the microcontroller will be transmitted to the computer via USB as well as being sent wirelessly by the Xbee module. The microcontroller, however, will only be able to receive data from the Xbee module, not over USB from the computer. With the jumpers in the USB position (i.e. on the two pins nearest the edge of the board), the DOUT pin the Xbee module is connected to the RX pin of the FTDI chip, and DIN on the Xbee module is connected to the TX pin of the FTDI chip. This means that the Xbee module can communicate directly with the computer - however, this only works if the microcontroller has been removed from the Arduino board. If the microcontroller is left in the Arduino board, it will be able to talk to the computer normally via USB, but neither the computer nor the microcontroller will be able to talk to the Xbee module. 7.4 Addressing There are multiple parameters that need to be configured correctly for two modules to talk to each other (although with the default settings, all modules should be able to talk to each other). They need to be on the same network, as set by the ID parameter (see "Configuration" below for more details on the parameters). The modules need to be on the same channel, as set by the CH parameter. Finally, a module's destination address (DH and DL parameters) determine which modules on its network and channel will receive the data it transmits. This can happen in a few ways: If a module's DH is 0 and its DL is less than 0xFFFF (i.e. 16 bits), data transmitted by that module will be received by any module whose 16-bit address MY parameter equals DL. 22
  33. 33. If DH is 0 and DL equals 0xFFFF, the module's transmissions will be received by all modules. If DH is non-zero or DL is greater than 0xFFFF, the transmission will only be received by the module whose serial number equals the transmitting module's destination address (i.e. whose SH equals the transmitting module's DH and whose SL equals its DL). Again, this address matching will only happen between modules on the same network and channel. If two modules are on different networks or channels, they can't communicate regardless of their addresses. 7.5 CONFIGURATION Here are some of the more useful parameters for configuring your Xbee module. Make sure to prepend AT to the parameter name when sending a command to the module (e.g. to read the ID parameter, you should send the command ATID). Table 7.1: Xbee Command Specification Command Description Valid Values Default Value ID The network ID of the Xbee module. 0 - 0xFFFF 3332 CH The channel of the Xbee module. 0x0B - 0x1A 0X0C SH and SL The serial number of the Xbee module (SH gives the high 32 bits, SL the low 32 bits). Read-only. 0 - 0xFFFFFFFF (for both SH and SL) different for each module MY The 16-bit address of the module. 0 - 0xFFFF 0 DH and DL The destination address for wireless communication (DH is the high 32 bits, DL the low 32). 0 - 0xFFFFFFFF (for both DH and DL) 0 (for both DH and DL) BD The baud rate used for serial communication with the Arduino board or computer. 0 (1200 bps) 1 (2400 bps) 2 (4800 bps) 3 (9600 bps) 4 (19200 bps) 5 (38400 bps) 6 (57600 bps) 7 (115200 bps) 3 (9600 baud) 23
  34. 34. Note: although the valid and default values in the table above are written with a prefix of "0x" (to indicate that they are hexadecimal numbers), the module will not include the "0x" when reporting the value of a parameter, and you should omit it when setting values. Here are a couple more useful commands for configuring the Xbee module (you'll need to prepend AT to these too). Table 7.2: Command description Command Description RE Restore factory default settings (note that like parameter changes, this is not permanent unless followed by the WRcommand). WR Write newly configured parameter values to non-volatile (long-term) storage. Otherwise, they will only last until the module loses power. CN Exit command mode now. (If you don't send any commands to the module for a few seconds, command mode will timeout and exit even without a CN command.) 24
  35. 35. CHAPTER 8 XBee Series 2 The XBee Series 2 OEM RF Modules were engineered to operate within the ZigBee protocol and support the unique needs of low-cost, low-power wireless sensor networks. The modules require minimal power and provide reliable delivery of data between remote devices. The modules operate within the ISM 2.4 GHz frequency band. 8.1 Key Features High Performance, Low Cost • Indoor/Urban: up to 133’ (40 m) • Outdoor line-of-sight: up to 400’ (120 m) • Outdoor line-of-sight: up to 400’ (120 m) • Receiver Sensitivity: -95 dBm RF Data Rate: 250,000 bps High Performance, Low Cost • Indoor/Urban: up to 133’ (40 m) • Outdoor line-of-sight: up to 400’ (120 m) • Outdoor line-of-sight: up to 400’ (120 m) • Receiver Sensitivity: -95 dBm RF Data Rate: 250,000 bps Figure 8.1: XBEE 25
  36. 36. Advanced Networking & Security • Retries and Acknowledgements • DSSS (Direct Sequence Spread Spectrum) Each direct sequence channel has over 65,000 unique network addresses available. • Point-to-point,point-to-multipoint and peer-to-peer topologies supported. • Self-routing, self-healing and fault-tolerant mesh networking. Easy-to-Use • No configuration necessary for out-of box RF communications • AT and API Command Modes for configuring module parameters • Small form factor Extensive command set Free X-CTU Software (Testing and configuration software) 8.2 RF Module Operation o Serial Communications The XBee Series 2 OEM RF Modules interface to a host device through a logic- level asynchronous serial port. Through its serial port, the module can Figure 8.2: Xbee Communication 26
  37. 37. communicate with any logic and voltage compatible UART; or through a level translator to any serial UART Data Flow Devices that have a UART interface can connect directly to the pins of the RF module as shown in the figure below.  Serial Data • Data enters the module UART through the DIN (pin 3) as an asynchronous serial signal. The signal should idle high when no data is being transmitted. • Each data byte consists of a start bit (low), 8 data bits (least significant bit first) and a stop bit (high). The following figure illustrates the serial bit pattern of data passing through the module. • The module UART performs tasks, such as timing and parity checking, that are needed for data communications. Serial communications depend on the two UARTs to be configured with compatible settings (baud rate, parity, start bits, stop bits, data bits). Figure 8.3: System Data Flow Diagram in a UART‐interfaced environment Figure 8.4: UART data packet 0x1F (decimal number ʺ31ʺ) as transmitted through the RF module 27
  38. 38.  Serial Buffers • The XBee Series 2 modules maintain small buffers to collect received serial and RF data. The serial receive buffer collects incoming serial characters and holds them until they can be processed. The serial transmit buffer collects data that is received via the RF link that will be transmitted out the UART.  Serial Receive Buffers • When serial data enters the RF module through the DIN Pin (3 pin), the data is stored in the serial receive buffer until it can be processed. o Hardware Flow Control (CTS) When serial receive buffer is 17 bytes away from being full, by default, the module de- asserts CTS (high) to signal the host device to stop sending data. CTS is re-asserted after the serial buffer has 34 bytes of memory available. If the module is receiving a continuous stream of RF data, any serial data that arrives on the DIN pin is placed in the serial receive buffer. The data in the serial receive buffer will be transmitted over-the-air when the module is no longer receiving RF data in the network. When data is ready to be transmitted, the module may need to discover a Network Address and/or a Route in order to reach the destination node. Discovery overhead may delay packet transmission. When RF data is received, the data is moved into the serial transmit buffer and is sent out the serial port. If the serial transmit buffer becomes full enough such that all data in a received RF packet won’t fit in the serial transmit buffer, the entire RF data packet is dropped. o Hardware Flow control (RTS) If RTS is enabled flow control, data will not be sent out the serial transmit buffer as long as RTS (pin-16) is de-asserteed. If the RF data rate is set higher than the interface data rate of the module, the module could receive data faster than it can send the data to the host. If the host does not allow the module to transmit data out from the serial transmit buffer because of being held off by hardware flow control. 28
  39. 39. Figure 8.5: Internal Data Flow Diagram 8.3 Modes of Operation o Idle Mode  When not receiving or transmitting data, the RF module is in Idle Mode. During Idle Mode, the RF module is also checking for valid RF data. The module shifts into the other modes of operation under the following conditions:  Transmit Mode (Serial data in the serial receive buffer is ready to be packetized)  Receive Mode (Valid RF data is received through the antenna)  Sleep Mode (End Devices only)  Command Mode (Command Mode Sequence is issued) o AT Command Mode To Enter AT Command Mode:  Send the 3-character command sequence “+++” and observe guard times before and after the command characters.  Default AT Command Mode Sequence (for transition to Command Mode):  No characters sent for one second [GT (Guard Times) parameter = 0x3E8]  Input three plus characters (“+++”) within one second [CC (Command Sequence Character) parameter = 0x2B.]  No characters sent for one second [GT (Guard Times) parameter = 0x3E8] 29
  40. 40.  All of the parameter values in the sequence can be modified to reflect user preferences. NOTE: Failure to enter AT Command Mode is most commonly due to baud rate mismatch. Ensure the ‘Baud’ setting on the “PC Settings” tab matches the interface data rate of the RF module. By default, the BD parameter = 3 (9600 bps). To Send AT Commands: Send AT commands and parameters using the syntax shown below. To read a parameter value stored in the RF module’s register, omit the parameter field. The preceding example would change the RF module Destination Address (Low) to “0x1F”. To store the new value to non-volatile (long term) memory, subsequently send the WR (Write) command. For modified parameter values to persist in the module’s registry after a reset, changes must be saved to non-volatile memory using the WR (Write) Command. Otherwise, parameters are restored to previously saved values after the module is reset. System Response. When a command is sent to the module, the module will parse and execute the command. Upon successful execution of a command, the module returns an “OK” message. If execution of a command results in an error, the module returns an “ERROR” message. To Exit AT Command Mode: Send the ATCN (Exit Command Mode) command (followed by a carriage return). [OR] If no valid AT Commands are received within the time specified by CT (Command Mode Timeout) Command, the RF module automatically returns to Idle Mode. Figure 8.6: Syntax for sending AT Commands 30
  41. 41. 8.4 Sleep Mode Sleep modes are supported on end devices only. Router and coordinator devices participate in routing data packets and are intended to be mains powered. End devices must be joined to a parent (router or coordinator) before they can participate on a ZigBee network. The parent device does not track when an end device is awake or asleep. Instead, the end device must inform the parent when it is able to receive data. The parent must be able to buffer incoming data packets destined for the end device until the end device can awake and receive the data. When an end device is able to receive data, it sends a poll command to the parent. When the parent router or coordinator receives the poll command, it will transmit any buffered data packets for the end device. Routers and coordinators are capable of buffering one broadcast transmission for sleeping end device children. The SM, ST, SP, and SN commands are used to configure sleep mode operation. 8.5 CTU Software CTU is a software program used to interface with and configure RF Modules. The software application is organized into the following four tabs: • PC Settings tab - Setup PC serial ports for interfacing with an RF module • Range Test tab - Test the RF module's range and monitor packets sent and received • Terminal tab - Set and read RF module parameters using AT Commands • Modem Configuration tab - Set and read RF module parameters Figure 8.7: X‐CTU User Interface (PC Settings, Range Test, Terminal and Modem Configuration tabs 31
  42. 42. CHAPTER 9 DESIGN DETAIL 9.1. DESIGN METHOD The basic components of the glove are the hand itself, the Xbees S2 module, the Arduino, the glove and the flex sensors. The glove is mounted with flex sensors variable resistors that change their value when bent they’re attached to one side of voltage divider with resistor of a constant value on the other side. The Arduino reads the voltage change when the sensors are bent, and triggers the servo motor and DC motor to move a proportional amount. 9.1.1 Making flex sensor circuit Circuit design The flex sensors require a circuit in order for them to be compatible with Arduino. It's a voltage divider: the flex sensors are variable resistors, and when paired with resistors of a static value, change in resistance (in this case bending the sensor) can be sensed through the change in voltage between the resistors. This can be measured by the Arduino through its analog inputs. The schematic is attached (red is positive voltage, black is negative, and blue goes to the Figure 9.1: Flex sensor circuit 32
  43. 43. Arduino). The resistors in the photo are 10KΩ. I color-coded the wires I used in the same way as the schematic, so you can see more easily in figure (8.1). The main GND wire is connected to all the individual GND wires from the sensors gets plugged into the Arduino’s GND. The +5V from wire, and each black wire gets plugged into a separate analog input pin. 9.1.2 SEW THE GLOVE 9.2 CIRCUIT OF PROJECT In our project we have used 5V for Arduino - Tx and same current used from Arduino - Tx to flex sensors. For Servo Motors we used extra Power from battery then we used circuit to connect Sensors and Motors to Arduino. Circuit is designed in a very compact manner, so that no or less wires are used and shown with 100% portability. First of all we connected 5V from regulating IC LM7308 and passed it through resistor of 10k and then attached analog Signal Sender wire on one side connected to flex sensor and on other Figure 8.2: Glove Design 33
  44. 44. side ground. In similar way, all 4 sensors are connected to Arduino. Analogue Reading is attached from pins A1 - A4 with each of 4 sensors. Servo Motor is then attached to power and ground through battery and Digital signal wire is connected to digital pin 9 of Arduino - Rx. DC motor is used for forward and reverse moment of HGCBot controlled with H-bridge IC L293D connected to Pins 3&4 of the Arduino - Rx. Xbee S2 modules is used with Xbee shield to interface Arduino - Tx and Arduino - Rx. Flex Sensors send analog input to Arduino - Tx then Xbee S2 modules is used to send signal from Arduino - Rx to Arduino -Tx which converts them to digital reading and sends these readings to digital pins which make Servo Motor and DC motor via H-bride to move as per the gesture performed. 9.3 Program Flowchart Figure 8.3: Power connections to the motors 34
  45. 45. START Initialize the XBEE S2 Module, Set Router - AT mode, Initialize Variable: char Input. Read Input from the GLOVES, Store value to Input’ Compare the Input Value with the Predefined case value: case-i, case-ii, case-iii… Send case return to XBEE S2 Send the Return value to XBEE Coordinator Break the case!! Clear char Input = 0, Check for new Input… Initialize the XBEE S2 Module, Set Coordinator - AT mode Initialize Variable: char Input. Receive the value from XBEE Coordinator Compare the Received Input reading with the Predefined cases. case-i, case-ii, case-iii… Perform the relative operation!! Break the case!! Check for new Input… Store value to ‘Input’ Hand Gesture 35
  46. 46. 9.4 DESIGNING THE BODY USING 3D PRINTER The body of the HGCBOT was designed using 3-D software’s solid work and inventors. It was really tricky to design a body for the BOT because it was hard to figure out what the servo motor can help us in the robot. Second tricky part was mounting the module on the car. Calculations were needed to make the 3-D printed car strong enough to carry the weight of the module. Figure 9.4:(a) Steering Axel Design Figure 9.4:(b) Front End Axel Mount Design Figure 9.4(c): Body Assembly 36
  47. 47. Even after the assembly, the car body had to balance the weight of the car. 9.5 FINAL OUTPUT 9.6 USAGE OF HGCBOT HGCBOT can be used in various places such as industry, military and hospitals. As we see today all the industries are developing and growing at a very fast rate, what are project can do u is help grow with the industry, regardless of which industry it is. The HGCBOT a delivery robot which can help reduce the cost of transportation within a factory. Growing need for goods increases the need for production of goods and for this on time delivery in the same factory is required so that the product can continuously move forward towards its final body or design. A HGCBOT can do is it can revolutionize the way in-factory transport works. The HGCBOT will act as an engine of the train, all the goods or parts can be attached to the HGCBOT, now a person can control the delivery of the good by his own hands and can go off route to deliver also (since AGVs cannot do that). Figure 9.5: HGCBot 37
  48. 48. This robot has no desired path, which every direction the user wants to take it, it will go that way. The HGCBOT uses the motion of human hand wearing a control glove, an opening and closing of each individual finger of the human hand is been recorded as gestures and be further used by the gesture controlled robot to perform pre-defined operation. The HGCBOT can be used in military and hospitals in future. 9.7 THE ADVANTAGES OF HGCBOT The HGCBOT is: • Easy to control- • Cost efficient • User friendly • Long range • Speed control • Energy efficient • Simple design 38
  49. 49. CHAPTER 10 CONCLUSION AND FUTURE SCOPE 10.1 CONCLUSION Hand gesture control is a developing technology in 21st century. The HGC is being developed and used in various technologies to make day to day life easy. This technology is being used in various fields and still in R&D. HGCBOT is one of the examples of what can be achieved with the help of HGC and how it can be useful for both industrial as well as household use. The HGCBOT can be used on various platforms to reduce cost and make work simpler and fun. The main objective of HGCBOT is to help industries, military and hospitals grow and make transportation of commodities simpler as well as removing any human casualties. The vision of the HGCBOT team was to help others grow. So we developed a prototype to show how actually this technology will work and what are its advantages in the life of other fields irrespective to what it is. The main advantage of this project is our HGCBOT provides other individuals a base prototype which they can modify and make new and field specific applications. This bot is a ground for all the new inventions in hand gesture controlled moving applications. 10.2 FUTURE OF HGCBOT This robot has a bright future in all the 3 fields mentioned before namely industries, military and hospitals. In future the robot can be used on war sights for the delivery of food, arms, etc, but the best part is it will be controlled by human being so chances of error are less. This robot can be used in hospitals for various purposes, like delivery of medicines on time to the patients, while the nurse is sitting in her cabin. Attaching a wireless camera to this HGCBOT can make it useful in additional field such as spying, enhanced remote control for industry delivery systems. 39
  50. 50. In the future with the help of mapping technology and addition of few more sensors this robot can do wonders. It provides fresh individuals a platform and an idea of how hand gesture control works, new individuals can modify the existing HGCBOT and make it into any fields oriented robot. This bot is the ground of all the other motion control through hand gesture in the future, it can be made into a forklift, a delivery machine, automated wheel chair, automatic parking system, automatic grenade throwing machine, etc. 40
  51. 51. REFRENCES 1. www.sparkfun.com 2. www.slideshare.com 3. www.ciruictsathome.com 4. www.instructable.com 5. www.engineergaurage.com 6. www.servocity.com 7. www.hitec.com 8. www.microchips.com 9. www.wikipedia.com 10. www.definition.com 11. www.answer.com 12. www.google.com 13. www.societyofrobot.com 14. www.arduino.cc 15. www.buildtronics.com [1] Harish Kumar Kaura, Vipul Honrao, Sayali Patil, Pravish Shetty "Gesture Controlled Robot using Image Processing". (IJARAI) International Journal of Advanced Research in Artificial Intelligence. Vol. 2, No. 5, 2013 [2] Prashant Sahu, Shubhank Mishra, Vaibhav Mishra, Electronics & communication Engineeing, RGTU Bhopal - "Accelerometer based gesture recognition robot". Control Theory and Informatics. ISSN 2224-5774 (Paper) ISSN 2225-0492 (Online) Vol.4, No.1, 2014 41

×