Vous êtes sur la page 1sur 59

CHAPTER 1

INTRODUCTION TO ROBOTICS

Robotics is an interdisciplinary branch of engineering and science that includes


mechanical engineering, electronic engineering, information engineering, computer
science, and others. Robotics deals with the design, construction, operation, and use of
robots, as well as computer systems for their control, sensory feedback, and information
processing.

These technologies are used to develop machines that can substitute for humans and
replicate human actions. Robots can be used in many situations and for lots of purposes,
but today many are used in dangerous environments (including bomb detection and
deactivation), manufacturing processes, or where humans cannot survive (e.g. in space).
Robots can take on any form but some are made to resemble humans in appearance. This
is said to help in the acceptance of a robot in certain replicative behaviours usually
performed by people. Such robots attempt to replicate walking, lifting, speech, cognition,
and basically anything a human can do. Many of today's robots are inspired by nature,
contributing to the field of bio-inspired robotics.

The concept of creating machines that can operate autonomously dates back to classical
times, but research into the functionality and potential uses of robots did not grow
substantially until the 20th century. Throughout history, it has been frequently assumed
by various scholars, inventors, engineers, and technicians that robots will one day be able
to mimic human behaviour and manage tasks in a human-like fashion. Today, robotics is
a rapidly growing field, as technological advances continue; researching, designing, and
building new robots serve various practical purposes, whether domestically,
commercially, or militarily. Many robots are built to do jobs that are hazardous to people
such as defusing bombs, finding survivors in unstable ruins, and exploring mines and
shipwrecks. Robotics is also used in STEM (science, technology, engineering, and
mathematics) as a teaching aid. The advent of nano robots, microscopic robots that can be
injected into the human body, could revolutionize medicine and human health.

Robots seem like a modern day invention, but in reality evidence suggests that
automations were created for everything from toys to parts for religious ceremonies in
ancient Greece and Rome. Leonardo da Vinci sketched plans for a humanoid robot in the

1
late 1400s. Jacques de Vaucanson was famous in the 18th century for his automated
human figure that played the flute and for a duck that could flap its wings.

Arm Many automated inventions that could behave in similar fashion to a human have
been documented throughout history. Most were created largely for entertainment
purposes. Fiction writers found great success in writing about robots in all sorts of
situations which meant that the robot was part of daily conversation and imagination. In
1956 George Devol and Joseph Engel Berger formed the world's first robot company. By
the 1960s robots were introduced into the General Motors automobile plant in New Jersey
for moving car parts around. Robots continued to develop and can now be found in homes
as toys, vacuums, and as programmable pets. Today robots are a part of many aspects of
industry, medicine, science, space exploration, construction, food packaging and are even
used to perform surgery. Watson, a robot with artificial intelligence from IBM, defeated
the human players in an episode of Jeopardy.

A first particular new innovation in robot design is the open sourcing of robot-projects.
To describe the level of advancement of a robot, the term "Generation Robots" can be
used. This term is coined by Professor Hans Moravec, Principal Research Scientist at the
Carnegie Mellon University Robotics Institute in describing the near future evolution of
robot technology. First generation robots, Moravec predicted in 1997, should have an
intellectual capacity comparable to perhaps a lizard and should become ava ilable by 2010.
Because the first generation robot would be incapable of learning, however, Moravec
predicts that the second generation robot would be an improvement over the first and
become available by 2020, with the intelligence maybe comparable to that of a mouse.
The third generation robot should have the intelligence comparable to that of a monkey.
Though fourth generation robots, robots with human intelligence, professor Moravec
predicts, would become possible, he does not predict this happening before around 2040
or 2050.

2
1.1 NEED FOR ROBOTICS

The reason robots are used is that it is often cheaper to use them over humans, easier for
robots to do some jobs and sometimes the only possible way to accomplish some tasks!
Robots can explore inside gas tanks, inside volcanoes, travel the surface of Mars or other
places too dangerous for humans to go where extreme temperatures or contaminated
environments exist.

Money Robots can also do the same thing over and over again without getting bored.
They can drill, they can weld, they can paint, they can handle hazardous materials, and in
some situations, robots are much more accurate than a human ‐ which can cut back on
production costs, mistakes or hazards. Robots never get sick, don't need sleep, don't need
food, don't need to take a day off, and best of all they don't ever complain! There are a lot
of benefits to using robots.

Fig 1.1 Robotics & AI Design

Robots can be made from a variety of materials including metals and plastics. Most
robots are composed of 3 main parts:

The Controller ‐ also known as the "brain" which is run by a computer program. Often,
the program is very detailed as it give commands for the moving parts of the robot to
follow.

Mechanical parts ‐ motors, pistons, grippers, wheels, and gears that make the robot move,
grab, turn, and lift. These parts are usually powered by air, water, or electricity.

3
Sensors ‐ to tell the robot about its surroundings. Sensors allow the robot to determine
sizes, shapes, space between objects, direction, and other relations and properties of
substances. Many robots can even identify the amount of pressure necessary to apply to
grab an item without crushing it.

All of these parts work together to control how the robot operates.

1.2 APPLICATIONS OF ROBOTICS

Robotics is the engineering science and technology which involves the conception,
design, operation and manufacture of robots. Electronics, mechanics and software are
brought together by robotics.

Military Applications: In today's modern army robotics is an important factor which is


researched and developed day by day.

Intelligent Home Applications: We can monitor home security, environmental conditions


and energy usage with intelligent robotic home systems. Door and windows can be
opened automatically and appliances such as lighting and air conditioning can be pre-
programmed to activate. This assists occupants irrespective of their state of mobility.

Articulated Robot Industry: From the beginning of the industrial revolution robotics and
automation becomes the most important part of manufacturing. Robotic arms which are
able to perform multiple tasks such as welding, cutting, lifting, sorting and bending are
used in fabrics.

Articulated Robots: An articulated robot is one which uses rotary jo ints to access its work
space. Articulated robots can range from simple two-jointed structures to systems with 10
or more interacting joints. The six-axis, articulated robot is the most versatile industrial
robot which allows for a high level of freedom.

Health Service: Under development is a robotic suit that will enable nurses to lift patients
without damaging their backs. Scientists in Japan have developed a power-assisted suit
which will give nurses the extra muscle they need to lift their patients - and avoid back
injuries.

4
CHAPTER 2

INTRODUCTION TO EMBEDDED SYSTEMS

An embedded system is a controller programmed and controlled by a real-time operating


system (RTOS) with a dedicated function within a larger mechanical or electrical system,
often with real-time computing constraints. It is embedded as part of a complete device
often including hardware and mechanical parts. Embedded systems control many devices
in common use today. Ninety-eight percent of all microprocessors manufactured are used
in embedded systems.

Examples of properties of typical embedded computers when compared with general-


purpose counterparts are low power consumption, small size, rugged operating ranges,
and low per-unit cost. This comes at the price of limited processing resources, which
make them significantly more difficult to program and to interact with. However, by
building intelligence mechanisms on top of the hardware, taking advantage of possible
existing sensors and the existence of a network of embedded units, one can both
optimally manage available resources at the unit and network levels as well as provide
augmented functions, well beyond those available. For example, intelligent techniques
can be designed to manage power consumption of embedded systems.

Modern embedded systems are often based on microcontrollers (i.e. CPUs with integrated
memory or peripheral interfaces), but ordinary microprocessors (using external chips for
memory and peripheral interface circuits) are also common, especially in more complex
systems. In either case, the processor(s) used may be types ranging from general purpose
to those specialized in certain class of computations or even custom designed for the
application at hand. A common standard class of dedicated processors is the digital signal
processor (DSP).

Since the embedded system is dedicated to specific tasks, design engineers can optimize it
to reduce the size and cost of the product and increase the reliability and performance.
Some embedded systems are mass-produced, benefiting from economies of scale.

Embedded systems range from portable devices such as digital watches and MP3 players,
to large stationary installations like traffic lights, factory controllers.

5
2.1 NEED FOR EMBEDDED SYSTEMS

The uses of embedded systems are virtually limitless, because every day new products are
introduced to the market that utilizes embedded computers in novel ways. In recent years,
hardware such as microprocessors, microcontrollers, and FPGA chips have become much
cheaper. Producing a custom-made chip to handle a particular task or set of tasks costs far
more time and money.

Fig 2.1 Embedded System Design

Many embedded computers even come with extensive libraries, so that "writing your own
software" becomes a very trivial task indeed. From an implementation viewpoint, there is
a major difference between a computer and an embedded system.

Embedded systems are often required to provide Real-Time response. The main elements
that make embedded systems unique are its reliability and ease in debugging.

Embedded systems engineers are concerned with all aspects of the system development
Including hardware and software engineering. Therefore, activities such as specification,
Design, implementation, validation, deployment and maintenance will all be involved in
the development of an embedded application.

6
2.2 APPLICATIONS OF EMBEDDED SYSTEMS

We are living in the Embedded World. You are surrounded with many embedded
products and your daily life largely depends on the proper functioning of these gadgets.
Television, Radio, CD player of your living room, Washing Machine or Microwave Oven
in your kitchen, Card readers, Access Controllers, Palm devices of your work space
enable you to do many of your tasks very effectively.

Apart from all these, many controllers embedded in your car take care of car operations
between the bumpers and most of the times you tend to ignore all these controllers. In the
8 bit segment, the most popular and used architecture is Intel's 8031. Market acceptance
of this particular family has driven many semiconductor manufacturers to develop
something new based on this particular architecture.

Even after 25 years of existence, semiconductor manufacturers still come out with some
kind of device using this 8031 core.

• Manufacturing and process control

• Construction industry

• Transport

• Buildings and premises

• Domestic service

• Communications

• Office systems and mobile equipment

• Banking, finance and commercial

• Medical diagnostics, monitoring and life support

Most of the time, engineers design these embedded controllers with a specific goal in
mind. So these controllers cannot be used in any other place.

These days designers have many choices in microprocessors/microcontrollers. Especially,


in 8 bit and 32 bit, the available variety really may overwhelm even an experienced
designer. Selecting a right microprocessor may turn out as a most difficult first step and it
is getting complicated as new devices continue to pop-up very often.

7
CHAPTER 3

LITERATURE SURVEY

We have followed two base papers to implement of my project the two papers. The first
paper is "Mobile Phone Controlled Autonomous Robot”, which is submitted by Anup
Saha, Amit Saha, MD.Abdur Rahim, Pallab Sutradhar in International Journal of
Scientific & Engineering Research, Volume 4, Issue 9, september-2013 1101 ISSN 2229-
5518. In this paper they are briefly discussed about the project on how to control the robot
autonomously.

Second paper is "Mobile Operated Landrover Using Dtmf Decoder", which is submitted
by K.Aruna, A.Sri Ramsagar, G.Venkateswarlu in International Journal of Modern
Engineering Research (IJMER Vol.3, Issue.2, March-April. 2013. Which discuss the
entire operational characteristics of the RF technology and also the robot operations
defined in developing the controller functions.

Robotics:

Robotics is an interesting field where every engineer can showcase his creative and
technical skills. As interest in robotics continues to grow, robots are increasingly being
integrated into everyday life. The results of this integration are end-users possessing less
and less technical knowledge of the technology.

Mobile phones today became very popular an essential entity for one and all and so, for
any mobile based application there is great reception. Wireless controlled robots utilize
RF circuits. However, the use of RF contributes to enhancing the already mysterious
nature of robotic technology, which had limitations like limited range, limited frequency
ranges and controls.

But a mobile Phone controlled robot can hold up these limitations. The advent of new
high-speed technology and the growing computer Capacity provided realistic opportunity
for new robot controls and realization of new methods of control theory. This technical
improvement together with the need for high performance robots created faster, more
accurate and more intelligent robots using new robots control devices, new drivers and
advanced control algorithms.

8
The modern technology has to be implemented to do this. For implementing t he modern
technology it should be known by all the users to make use of it. To reach and to full-fill
all these needs we are using android mobile as a multimedia, user friendly device to
control the robot.

Under the Shield: Mechanics, Electronics and Programming.

Mechanics:

• How forces are transferred between the different parts of a construction.

• Where the center of gravity lies.

• Friction

• Position, speed, acceleration

• Newton’s laws

• Inertia

• Material properties

Mechanics helps keeping a robot in balance. Although you could build a robot without
knowing anything about mechanics, it'll help in preventing your robot from tipping over
when turning, or when picking up something. Another point where mechanics pays off is
axles. On small robots you can attach the wheels directly to the output shaft of the motor.
However this doesn't work well for larger robots as this puts a lot of stress on the
internals of the motor. A better way is to attach the wheel to an axle, and use gears to
connect the motor to the axle.

Electronics:

Electronics is about:

• Electronic Components

• Analog Circuits

• Digital Logic

• Micro Controllers

9
An electronic component is any physical entity in an electronic system used to affect the
electrons or their associated fields in a manner.

It consistent with the intended function of the electronic system. The electronic
components of any system are the core controlling units with all the characteristics
defined for the system, they take inputs (both analog and/or digital data) required for the
system process them according the pre-defined code and gives outputs.

Today, most electronic devices use semiconductor components to perform electron


control. The study of semiconductor devices and related technology is considered a
branch of solid-state physics, whereas the design and construction of electronic circuits to
solve practical problems come under electronics engineering. This article focuses on
engineering aspects of electronics

Programming:

Computer programming is about:

• Control structures (sequence, selection, iteration)

• Data types (constants, variables, integer, real, string)

• Algorithms

• Hardware control (setting and reading registers, interrupts)

• Logic

Anyone who has had an introductory course on programming (as they are given in
American high schools) would be familiar with the first three points. The fourth point is
rarely addressed in introductory courses, but is essential when programming
microcontrollers. Although it might sound difficult, it can be very easy in practice (for
most purposes). Much of this comes down to setting bits in a byte using simple Boolean
logic, and writing this value into some register or memory location. Higher level
languages like Bascom provide hardware addressing as special variables, which can be
treated just like any other variable. Microcontrollers (and processor boards) are one of the
areas where using Assembly is still very valid. Memory (both RAM and program space)
is very limited in these, although each new generation of microcontroller has more
memory for about the same price.

10
3.1 INTRODUCTION TO EMBEDDED SYSTEMS

Embedded systems are electronic devices that incorporate microprocessors with in Their
implementations. The main purposes of the microprocessors are to simplify the system
design and provide flexibility. Having a microprocessor in the device means that
removing the bugs, making modifications, or adding new features are only matters of
rewriting the software that controls the device. Or in other words embedded computer
systems are electronic systems that include a microcomputer to perform a specific
dedicated application.

The computer is hidden inside these products. Embedded systems are ubiquitous. Every
week millions of tiny computer chips come pouring out of factories finding their way into
our everyday products. Embedded systems are self-contained programs that are embedded
within a piece of hardware. Whereas a regular computer has many d ifferent applications
and software that can be applied to various tasks, embedded systems are usually set to a
specific task that cannot be altered without physically manipulating the circuitry.

Another way to think of an embedded system is as a computer system that is created with
optimal efficiency, thereby allowing it to complete specific functions as quickly as
possible. Embedded systems designers usually have a significant grasp of hardware
technologies. They used specific programming languages and software to develop
embedded systems and manipulate the equipment. When searching online, companies
offer embedded systems development kits and other embedded systems tools for use by
engineers and businesses.

An embedded system is a system which is going to do a predefined specified task is the


embedded system and is even defined as combination of both software and hardware. A
general-purpose definition of embedded systems is that they are devices used to control,
monitor or assist the operation of equipment, machinery or plant. "Embedded" reflects the
fact that they are an integral part of the system..

All embedded systems are including computers or microprocessors. Some of these


computers are however very simple systems as compared with a personal computer. The
very simplest embedded systems are capable of performing only a single function or set
of functions to meet a single predetermined purpose.

11
In more complex systems an application program that enables the embedded system to be
used for a particular purpose in a specific application determines the functioning of the
embedded system.

The ability to have programs means that the same embedded system can be used for a
variety of different purposes. In some cases a microprocessor may be designed in such a
way that application software for a particular purpose can be added to the basic software
in a second process, after which it is not possible to make further changes. The
applications software on such processors is sometimes referred to as firmware.

Memory: It is used to store data or address.

Peripherals: These are the external devices connected

Processor: It is an IC which is used to perform some task

As the embedded system is the combination of both software and hardware

3.1.1 HISTORY OF EMBEDDED SYSTEMS

One of the first recognizably modern embedded systems was the Apollo Guidance
Computer, developed by Charles Stark Draper at the MIT Instrumentation Laboratory. At
the project's inception, the Apollo guidance computer was considered the riskiest item in
the Apollo project as it employed the then newly developed monolithic integrated circuits
to reduce the size and weight. An early mass-produced embedded system was the
Autonetics D-17 guidance computer for the Minuteman missile, released in 1961.

It was built from transistor logic and had a hard disk for main memory. When the
Minuteman II went into production in 1966, the D-17 was replaced with a new computer
that was the first high-volume use of integrated circuits. This program alone reduced
prices on quad nand gate ICs from $1000/each to $3/each, permitting their use in
commercial products.

Since these early applications in the 1960s, embedded systems have come down in price
and there has been a dramatic rise in processing power and functionality. The first
microprocessor for example, the Intel 4004, was designed for calculators and other small
systems but still required many external memory and support chips.

12
In 1978 National Engineering Manufacturers Association released a "standard" for
programmable microcontrollers, including almost any computer-based controllers, such as
single board computers, numerical, and event-based controllers.

APPLICATIONS OF EMBEDDED SYSTEMS

We are living in the Embedded World. You are surrounded with many embedded
products and your daily life largely depends on the proper functioning of these gadgets.
Television, Radio, CD player of your living room, Washing Machine or Microwave Oven
in your kitchen, Card readers, Access Controllers, Palm devices of your work space
enable you to do many of your tasks very effectively. Apart from all these, many
controllers embedded in your car take care of car operations between the bumpers and
most of the times you tend to ignore all these controllers.

• Manufacturing and process control

• Construction industry

• Transport

• Buildings and premises

• Domestic service

• Communications

• Office systems and mobile equipment

• Banking, finance and commercial

• Medical diagnostics, monitoring and life support

You need to install the relevant software to get the required processing facility. So, these
desktop computers can do many things. In contrast, embedded controllers carryout a
specific work for which they are designed. Most of the time, engineers design these
embedded controllers with a specific goal in mind.

So these controllers cannot be used in any other place. These days designers have many
choices in microprocessors/microcontrollers. Especially, in 8 bit and 32 bit, the available
variety really may overwhelm even an experienced designer.

13
Selecting a right microprocessor may turn out as a most difficult first step and it is getting
complicated as new devices continue to pop-up very often. In recent days, you are
showered with variety of information about these embedded controllers in many places.
All kinds of magazines and journals regularly dish out details about latest technologies,
new devices; fast applications.

3.2 EXISTING SYSTEM

The existing here we discussed about a design based on direct wired connection between
the transmitter and the receiver. The transmitter section is designed as a joystick with
movement controls with a battery power supply and the signal were given to the robotic
car via a wire connection.

The main drawback in this system is that the limited area coverage i.e., the length of the
wire, so in order to increase the coverage area we need to use a wire of bigger length, In
principle, RF (Radio Frequency) can be regarded as the control which deals with the use
of radio signals to remotely control any device.

A remotely controlled vehicle may be defined as any mobile device which is controlled
by means that it does not restrict its motion with an origin external to the device i.e. the
possibility of an existence of a radio control device, a cable between the control and the
vehicle or an infrared controller. A RCV is always controlled by a human operator and
takes no positive action autonomously.

The IR system follows the line of sight approach which involves the process of actually
pointing the remote at the device being controlled; this makes communication over
obstacles and barrier quite impossible. To overcome such problems, a signaling scheme
utilizing voice frequency tones is employed.

This is known as Dual Tone Multi-Frequency (DTMF), Touchtone or simply tone dialing.
A valid DTMF signal is the sum of two tones, one from a low group (697-941Hz) and the
other from a high group (1209-1633Hz) with each group containing four individual tones.
DTMF signaling therefore play an important role in distributed communication systems
such as multiuser mobile radio.

The unmanned vehicle could either have a two wheel drive or a four wheel drive. We
choose to go with a four wheel drive as it provides a better control and more torque than
the two wheel system.

14
Fig: 3.1 Remote controlled robotic car

Wireless controlled unmanned vehicles which are used nowadays typically use RF
circuits for motion and control. But RF circuits suffer from the disadvantage of limited
working range which results in limited control. As RF circuits’ follows LOS (Line of
sight) approach, it fails miserably in NLOS (Non-Line of Sight) conditions involving
obstacles and barriers. To overcome these, one method was proposed by Awab Farikh et
al, (2010) which typically makes use of the DTMF technology along with a
microcontroller based circuit for maneuver and control of these unmanned robotic
vehicles

3.3 PROPOSED SYSTEM

Controlling the robot with a remote or a switch is quite complicated. So, a new project is
proposed that is, an accelerometer based gesture control robot. The main goal of this
project is to control the movement of the robot with hand gesture using an accelerometer.

A gesture controlled robot using an accelerometer is one kind of robot which can be
operated by the movement of hand by placing an accelerometer on it. This project is
divided into two parts transmitter device and receiver device. Where a gesture device
works as a transmitter device and a robot works as a receiver device. When a transmitting
device (accelerometer) is placed on the hand, then it will send signals to the robot for the
required operation.

Accelerometer based gesture controlled robot moves according to the movement of hand
as we place the accelerometer on our hand. When we tilt our hand with an accelerometer
in forward direction, then the robot starts moving forward until the next movement is

15
given. When we tilt hand in backward direction, then the robot changes its direction and
state. It starts moving in backward direction until the next signal is given. When we tilt
hand on left side, then the robot starts moving towards left until the next signal is given.
In the same way, when we tilt hand on right side, then the robot starts moving right.

In this proposed system we are using ZIGBEE module for transmission and reception of
data. ZIGBEE is low-cost, low-power, wireless mesh networking standard. The low cost
advantage allows this technology to be widely deployed in wireless control and
monitoring applications, the low power-usage advantage allows longer life with smaller
batteries, and the mesh networking provides high reliability and larger range

Fig 3.2 Transmitter Circuit

Fig 3.3 Receiver Circuit

16
CHAPTER 4

INTRODUCTION TO HAND GESTURE WHEEL CHAIR

A Gesture Controlled robot is a kind of robot which can be controlled by hand gestures
and not the old fashioned way busing buttons. The user just needs to wear a small
transmitting device on his hand which includes a sensor which is an accelerometer in our
case. Movement of the hand in a specific direction will transmit a command to the robot
which will then move in a specific direction. The transmitting device includes a
Comparator for assigning proper levels to the input voltages from the accelerometer and
an Encoder IC which is used to encode the four bit data and then it will be transmitted by
a Zigbee Transmitter module. At the receiving end a Zigbee Receiver module will receive
the encoded data and decode it by using a decoder IC. This data is then processed by a
microcontroller and passed onto a motor driver to rotate the motors in a special
configuration to make the robot move in the same direction as that of the hand.

4.1 BLOCK DIAGRAM

Fig: 4.1 Block Diagram of Hand Gesture Wheelchair

17
The 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. 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 recognition technologies are much younger in the world of today. At this time
there is much active research in the field and little in the way of publicly available
implementations. Several approaches have been developed for sensing gestures and
controlling robots. Glove based technique is a well-known means of recognizing hand
gestures. It utilizes a sensor attached to a glove that directly measures hand movements.

4.2 WORKING

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 an encoder which makes it ready
for Zigbee transmission. On the receiving end, the information is received wirelessly via
Zigbee, decoded and then passed onto the microcontroller which takes various decisions
based on the received information.

And the task was divided into two parts to make the task easy and simple and to avoid
complexity and make it error free. The first is the transmitting section which includes the
following components: Accelerometer, Zigbee Transmitter Module. The second is the
receiving end which comprises of following main components: Zigbee Receiver Module,
Microcontroller, Motor Driver IC, and DC Motors. The accelerometer records the hand
movements in the X and Y directions only and outputs constant analog voltage levels. These
voltages are fed to the microcontroller which processes the input and encodes the data into
digital form which is suitable to be transmitted through the zigbee serial transmitter.

18
4.2 FLOWCHART

START

Initialize ZigBee
at transmitter

Hand Read input from


gesture accelerometer

Compare the input values with


predefined values and encode

Send the encoded signal


from transmitter to receiver

Fig: 4.2 Flow Chart of Transmitter

A Receive the transmitted values


from ZigBee transmitter

Show received values

Compare the received values


with predefined values and
decode

STOP

Fig: 4.3 Flow Chart of Receiver

19
CHAPTER 5

ARDUINO HARDWARE AND SOFTWARE DESCRIPTION

5.1 ARDUINO

Arduino is an open-source electronics platform based on easy-to-use hardware and software.


Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter
message - and turn it into an output - activating a motor, turning on an LED, publishing
something online. You can tell your board what to do by sending a set of instructions to the
microcontroller on the board. To do so you use the Arduino programming language (based on
Wiring), and the Arduino Software (IDE), based on Processing.

Over the years Arduino has been the brain of thousands of projects, from everyday objects to
complex scientific instruments. A worldwide community of makers - students, hobbyists,
artists, programmers, and professionals - has gathered around this open-source platform, their
contributions have added up to an incredible amount of accessible knowledge that can be of
great help to novices and experts alike.

Arduino was born at the Ivrea Interaction Design Institute as an easy tool for fast prototyping,
aimed at students without a background in electronics and programming. As soon as it
reached a wider community, the Arduino board started changing to adapt to new needs and
challenges, differentiating its offer from simple 8-bit boards to products for IoT applications,
wearable, 3D printing, and embedded environments. All Arduino boards are completely
open-source, empowering users to build them independently and eventually adapt them to
their particular needs. The software, too, is open-source, and it is growing through the
contributions of users worldwide.

5.2 WHY ARDUINO?

Thanks to its simple and accessible user experience, Arduino has been used in thousands of
different projects and applications. The Arduino software is easy-to-use for beginners, yet
flexible enough for advanced users. It runs on Mac, Windows, and Linux. Teachers and
students use it to build low cost scientific instruments, to prove chemistry and physics
principles, or to get started with programming and robotics. Designers and architects build
interactive prototypes, musicians and artists use it for installations and to experiment with
new musical instruments. Makers, of course, use it to build many of the projects exhibited at
the Maker Faire, for example. Arduino is a key tool to learn new things. Anyone - children,

20
hobbyists, artists, programmers - can start tinkering just following the step by step
instructions of a kit, or sharing ideas online with other members of the Arduino community.

There are many other microcontrollers and microcontroller platforms available for physical
computing. Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, and
many others offer similar functionality. All of these tools take the messy details of
microcontroller programming and wrap it up in an easy-to-use package. Arduino also
simplifies the process of working with microcontrollers, but it offers some advantage for
teachers, students, and interested amateurs over other systems:

• 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

• Cross-platform - The Arduino Software (IDE) runs on Windows, Macintosh OSX, and
Linux operating systems. Most microcontroller systems are limited to Windows.

• Simple, clear programming environment - The Arduino Software (IDE) 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 how the Arduino IDE works.

• Open source and extensible software - The Arduino software 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.

• Open source and extensible hardware - The plans of the Arduino boards are published
under a Creative Commons license, so experienced circuit designers can make their own
version of the module, extending it and improving it. Even relatively inexperienced users can
build the breadboard version of the module in order to understand how it works and save
money.

21
5.3 ARDUINO HARDWARE DESCRIPTION

Arduino is open-source hardware. The hardware reference designs are distributed under a
Creative Commons Attribution Share-Alike 2.5 license and are available on the Arduino
website. Layout and production files for some versions of the hardware are also available.

Although the hardware and software designs are freely available under copyleftlicenses, the
developers have requested the name Arduino to be exclusive to the official product and not
be used for derived works without permission. The official policy document on use of the
Arduino name emphasizes that the project is open to incorporating work by others into the
official product.

Several Arduino-compatible products commercially released have avoided the project name
by using various names ending in -duino.

Most Arduino boards consist of an Atmel 8-bit AVR microcontroller (ATmega8,


ATmega168, ATmega328, ATmega1280, ATmega2560) with varying amounts of flash
memory, pins, and features. The 32-bit Arduino Due, based on the Atmel SAM3X8E was
introduced in 2012. The boards use single or double-row pins or female headers that facilitate
connections for programming and incorporation into other circuits. These may connect with
add-on modules termed shields. Multiple and possibly stacked shields may be individually
addressable via an I²C serial bus. Most boards include a 5 V linear regulator and a 16 MHz
crystal oscillator or ceramic resonator. Some designs, such as the LilyPad, run at 8 MHz and
dispense with the onboard voltage regulator due to specific form-factor restrictions.

Arduino microcontrollers are pre-programmed with a boot loader that simplifies uploading of
programs to the on-chip flash memory. The default bootloader of the Arduino UNO is the
optiboot bootloader. Boards are loaded with program code via a serial connection to another
computer. Some serial Arduino boards contain a level shifter circuit to convert between RS-
232 logic levels and transistor–transistor logic(TTL) level signals. Current Arduino boards
are programmed via Universal Serial Bus(USB), implemented using USB-to-serial adapter
chips such as the FTDI FT232. Some boards, such as later-model Uno boards, substitute the
FTDI chip with a separate AVR chip containing USB-to-serial firmware, which is
reprogrammable via its own ICSP header. Other variants, such as the Arduino Mini and the
unofficial Boarduino, use a detachable USB-to-serial adapter board or cable, Bluetooth or
other methods. When used with traditional microcontroller tools, instead of the Arduino IDE,
standard AVR in-system programming(ISP) programming is used.

22
Many Arduino-compatible and Arduino-derived boards exist. Some are functionally
equivalent to an Arduino and can be used interchangeably. Many enhance the basic Arduino
by adding output drivers, often for use in school-level education, to simplify making buggies
and small robots. Others are electrically equivalent but change the form factor, sometimes
retaining compatibility with shields, sometimes not. Some variants use different processors,
of varying compatibility.

5.4 ARDUINO UNO

Arduino Uno is a microcontroller board based on 8-bit ATmega328P microcontroller. Along


with ATmega328P, it consists other components such as crystal oscillator, serial
communication, voltage regulator, etc. to support the microcontroller. Arduino Uno has 14
digital input/output pins (out of which 6 can be used as PWM outputs), 6 analog input pins, a
USB connection, A Power barrel jack, an ICSP header and a reset button.

5.5 ARDUINO NANO

Arduino Nano is a small, compatible, flexible and breadboard friendly Microcontroller board,
developed by Arduino.cc in Italy, based on ATmega328p ( Arduino Nano V3.x) /
Atmega168 ( Arduino Nano V3.x). It comes with exactly the same functionality as in
Arduino UNO but quite in small size. It comes with an operating voltage of 5V, however, the
input voltage can vary from 7 to 12V. Arduino Nano comes with a crystal oscillator of
frequency 16 MHz. It is used to produce a clock of precise frequency using constant voltage.

5.6 ARDUINO SOFTWARE DESCRIPTION

A program for Arduino hardware may be written in any programming language with
compilers that produce binary machine code for the target processor. Atmel provides a
development environment for their 8-bit AVRand 32-bit ARM Cortex-M based
microcontrollers: AVR Studio (older) and Atmel Studio (newer)

5.6.1 IDE

The Arduino integrated development environment (IDE) is a cross-platform application (for


Windows, macOS, Linux) that is written in the programming language Java. It originated
from the IDE for the languages Processing and Wiring. It includes a code editor with features
such as text cutting and pasting, searching and replacing text, automatic indenting, brace
matching, and syntax highlighting, and provides simple one-click mechanisms to compile and

23
upload programs to an Arduino board. It also contains a message area, a text console, a
toolbar with buttons for common functions and a hierarchy of operation menus. The source
code for the IDE is released under the GNU General Public License, version 2

The Arduino IDE supports the languages C and C++ using special rules of code structuring.
The Arduino IDE supplies a software library from the Wiring project, which provides many
common input and output procedures. User-written code only requires two basic functions,
for starting the sketch and the main program loop, that are compiled and linked with a
program stub main() into an executable cyclic executiveprogram with the GNU toolchain,
also included with the IDE distribution. The Arduino IDE employs the program avrdude to
convert the executable code into a text file in hexadecimal encoding that is loaded into the
Arduino board by a loader program in the board's firmware.

5.6.2 TOOLS USED

Arduino IDE development tools for the Arduino atmega328 Microcontroller Architecture
support every support every level of software developer from the professional applications
Arduino can sense the environment by receiving input from a variety of sensors and can
affect its surroundings by controlling lights, motors, and other actuators.

The microcontroller on the board is programmed using the Arduino programming language
(based on Wiring) and the Arduino development environment (based on Processing). Arduino
projects can be stand-alone or they can communicate with software on running on a computer
(e.g. Flash, Processing, and Max MSP). Arduino is a cross-platform program. You’ll have to
follow different instructions for your personal OS. Check on the Arduino site for the latest
instructions.

Tools to be used in Arduino

1. Verify: Compiles and approves your code. It will catch errors in syntax (like missing semi-
colons or parenthesis).

2. Upload: Sends your code to the Red Board. When you click it, you should see the lights
on your board blink rapidly.

3. New: This buttons opens up a new code window tab

4. Open: This button will let you open up an existing sketch.

5. Save: This saves the currently active sketch.

24
6. Serial Monitor: This will open a window that displays any serial information your Red
Board is transmitting. It is very useful for debugging.

7. Sketch Name: This shows the name of the sketch you are currently working on.

8. Code Area: This is the area where you compose the code for your sketch.

9. Message Area: This is where the IDE tells you if there were any errors in your code.

10. Text Console: The text console shows complete error messages. When debugging, the
text console is very useful.

11. Board and Serial Port: Shows you what board and the serial port selections.

5.6.3 SELECTION OF ARDUINO UNO BOARD

Before we can start jumping into the experiments, there are a couple adjustments we need to
make. This step is required to tell the Arduino IDE which of the many Arduino boards we
have. Go up to the Tools menu. Then hover over Board and make sure Arduino Uno is
selected. Please note: Your Spark Fun Red Board and the Arduino UNO are interchangeable
but you won’t find the Red Board listed in the Arduino Software. Select “Arduino Uno”
instead

Fig 5.1 Arduino IDE Overview

25
Select a Serial Port

Next up we need to tell the Arduino IDE which of our computer’s serial ports the Red Board
is connected to. For this, again go up to Tools, then hover over Port (Serial Port in older
Arduino versions) and select your Red Board’s serial port. Window Users: This is likely to be
com3 or higher (COM1 and COM2 are usually reserved for hardware serial ports).

To find out, you can disconnect your Red Board and re-open the menu; the entry that
disappears should be the Red Board. Reconnect the board and select that serial port

Fig: 5.1.2 Select your Arduino Uno board

Fig 5.1.3 Select a Serial Port

26
5.6.4 REQUIREMENTS

Arduino works on any versions of Windows, except Windows 95.10Mb of disk space is
required. As mentioned earlier, we are automating two different routines in our project and
hence we used the method of polling to continuously monitor those tasks and act accordingly.

The recommended range is 7 to 12 volts. The power pins are as Vin. The input voltage to the
Arduino/Genuino board when it's using an external power source (as opposed to 5 volts from
the USB connection or other regulated power source).

5.6.5 SKETCH

A sketch is a program written with the Arduino IDE. Sketches are saved on the development
computer as text files with the file extension .ino. Arduino Software (IDE) pre-1.0 saved
sketches with the extension .pde.

A minimal Arduino C/C++ program consists of only two functions:

setup(): This function is called once when a sketch starts after power-up or reset. It is used to
initialize variables, input and output pin modes, and other libraries needed in the sketch.

loop(): After setup() function exits (ends), the loop() function is executed repeatedly in the
main program. It controls the board until the board is powered off or is reset.

5.6.6 LIBRARIES

The open-source nature of the Arduino project has facilitated the publication of many free
software libraries that other developers use to augment their projects.

27
CHAPTER 6

HARDWARE DESCRIPTION

6.1 ACCELEROMETER

An accelerometer is a device that measures proper acceleration (“g-force”). Proper


acceleration is not the same as coordinate acceleration (rate of change of velocity).0020For
example, an accelerometer at rest on the surface of the Earth will measure an acceleration g=
9.81m/s^2 straight upwards. By contrast, accelerometers in free fall orbiting and accelerating
due to gravity of earth will measure zero. An accelerometer measures proper acceleration,
which is the acceleration it experiences relative to free all and is the acceleration felt by
people and objects. ADXL345 which is manufactured by ADI Company is used as the falling
detection equipment. ADXL345 is a Tri-axis accelerometer sensor with digital outputs based
on MEMS (Micro Electro Mechanical Systems) technology. Accelerometers are recently
developed solid state electronics devices that makes it very easy to measure acceleration.
They are completely modular and very tiny devices which gives voltage proportional to
acceleration. These type are called analog accelerometers as their output is voltage. Some
other gives a PWM output or direct binary digital data, they are called digital accelerometers.

Its main features are as follows: multiple measuring ranges including +/-2,+/-4,+/-8 and +/-
16g; highest resolution:13bit; fixed sensitivity:4mg/LSB; super low power consumption:40-
14uA; standard I2C or SPI digital interface; Level -32 FIFO storage; multiple motion state
detection ;and flexible termination mode. These features can greatly simplify the falling
detection algorithm, so ADXL345 is very suitable for falling detection.

Fig 6.1 Accelerometer

28
Accelerometers have multiple applications in industry as science. Highly sensitive
accelerometer is components of inertial navigation systems for aircraft and missiles.

6.1.1 USES OF ACCELEROMETER

Accelerometer is also increasingly used in the biological science. High frequency recordings
of bi-axial or tri-axial acceleration allow the discrimination of behavioural patterns while
animals are out of sight. Accelerometer is used in tablet computers and digital cameras so that
images on screens are always displayed upright. Accelerometer is used to measure the motion
and vibration of a structure that is exposed to dynamic load. Accelerometers are used to
detect and monitor vibration in rotating machinery. Accelerometer is used in drones for flight
stabilisation.

Accelerometers are used to measure the motion and vibration of a structure that is exposed to
dynamic loads. Dynamic loads originate from a variety of sources including:

 Human activities – walking, running, dancing or skipping


 Working machines – inside a building or in the surrounding area
 Construction work – driving piles, demolition, drilling and excavating
 Moving loads on bridges
 Vehicle collisions
 Impact loads – falling debris
 Concussion loads – internal and external explosions
 Collapse of structural elements
 Wind loads and wind gusts
 Air blast pressure
 Loss of support because of ground failure
 Earthquakes and aftershocks

Under structural applications, measuring and recording how a structure dynamically responds
to these inputs is critical for assessing the safety and viability of a structure. This type of
monitoring is called Health Monitoring, which usually involves other types of instruments,
such as displacement sensors -Potentiometers, LVDTs, etc.- deformation sensors -Strain
Gauges, Extensometers-, load sensors -Load Cells, Piezo-Electric Sensors- among others.

Accelerometers have multiple applications in industry and science. Highly sensitive


accelerometers are components of inertial navigation systems for aircraft and missiles.

29
Accelerometers are used to detect and monitor vibration in rotating machinery.
Accelerometers are used in tablet computers and digital cameras so that images on screens
are always displayed upright. Accelerometers are used in drones for flight stabilisation.
Coordinated accelerometers can be used to measure differences in proper acceleration,
particularly gravity, over their separation in space; i.e., gradient of the gravitational field.
This gravity gradiometer is useful because absolute gravity is a weak effect and depends on
local density of the Earth which is quite variable.

Pairs of accelerometers extended over a region of space can be used to detect differences
(gradients) in the proper accelerations of frames of references associated with those points.
These devices are called gravity gradiometers, as they measure gradients in the gravitational
field. Such pairs of accelerometers in theory may also be able to detect gravitational waves.

Accelerometers can measure acceleration in 2 dimensional or 3 dimensional space. They are


called 2D and 3D accelerometers respectively. Accelerometers have certain range, i.e. the
maximum acceleration they can measure. It is specified in terms of g. 'g' is the acceleration
due to gravity of earth and it is equal to 9.80665m/s2. Common accelerometers can have a
range of 1.5g to 6g. It is obvious that 1.5g accelerometer is more precise than 6g. So use 1.5g
where more accuracy is needed while use 6g for much more harsh experiments. Renault R26
can pick up 100km/hr is about 1.7 sec! Even this beast don't give more acceleration that 1.6g,
so a 6g sensor can be used for much harsh experiments. A high g roller coaster can give a g-
force of about 3.5 to 6.3g.

Single- and multi-axis models of accelerometer are available to detect magnitude and
direction of the proper acceleration, as a vector quantity, and can be used to sense orientation
(because direction of weight changes), coordinate acceleration, vibration, shock, and falling
in a resistive medium (a case where the proper acceleration changes, since it starts at zero,
then increases). Micro machined microelectromechanical systems (MEMS) accelerometers
are increasingly present in portable electronic devices and video game controllers, to detect
the position of the device or provide for game input.

One interesting fact about accelerometer is that they always measure acceleration relative to
the earth’s gravity. That means if it is NOT at all accelerating, like being placed on table or
held in hand, it will show an acceleration along the direction of earths gravitational field. And
when it free falls (that means actually accelerating due to g) it will show a 0 acceleration.

30
Accelerometers are generally low-power devices. The required current typically falls in the
micro (µ) or milliamp range, with a supply voltage of 5V or less. The current consumption
can vary depending on the settings (e.g., power saving mode versus standard operating
mode). These different modes can make accelerometers well suited for battery powered
applications.

6.1.2 PIN CONFIGURATION

Fig 6.2 Accelerometer Pin Configuration

The pin configuration of the ADXL 345 Accelerometer is as shown in the figure above. The
pins of the accelerometer are:
VCC: Power supply pin i.e. connect 5V here.
X_OUT: X axis analog output.
Y_OUT: Y axis analog output.
Z_OUT: Z axis analog output.
GND: Ground pin i.e. connect ground here.
ADXL335 accelerometer provides analog voltage at the output X, Y, Z pins; which is
proportional to the acceleration in respective directions i.e. X, Y, Z.

6.1.3 ANGLE OF INCLINATION

Angle of inclination means by how much angle the device is tilted from its plane of surface.
We can calculate angle of inclination or tilt by using X, Y, Z’s value. Also, we can calculate

31
Roll, Pitch and Yaw angles with respect to X, Y and Z axis. So first we need to convert 10-bit
ADC values into g unit.
As per ADXL335 datasheet maximum voltage level at 0g is 1.65V and sensitivity scale factor
of 330mV/g.
ADC value ∗ Vref
− voltage level at 0g
𝐴𝑜𝑢𝑡 = 1024
Sensitivity Scale Factor

Above formula gives us acceleration values in g unit for X, Y and Z axis a


Axout = (((X axis ADC value * Vref) / 1024) – 1.65) / 0.330
Ayout = (((Y axis ADC value * Vref) / 1024) – 1.65) / 0.330
Azout = (((Z axis ADC value * Vref) / 1024) – 1.65) / 0.330
Note that, practically we get slightly different voltage at 0g. So, put the practical value of
voltage at 0g.

6.1.4 ANGLE OF ROTATION

Now let’s find a complete angle of rotation (0° to 360°) around X, Y, Z axis, which we can
also call as,
Roll - Angle of rotation along the X axis
Pitch - Angle of rotation along the Y axis
Yaw - Angle of rotation along the Z axis
All of them are shown in below conceptual diagram.

Fig 6.3 Rotation along X, Y and Z axes

32
These angles are in degrees and can give readings of a complete rotation. Now let’s calculate
these angles. As we get Θ, Ψ and Φ in the range of -90° to +90°. Here we need to make these
values in the range of -180° to +180° so that we can calculate complete 360° angle of
rotation. We get roll, pitch and yaw angles as,
Roll = (atan2(Ayout, Azout)) *57.29577951+180
Pitch = (atan2(Azout, Axout)) *57.29577951+180
Yaw = (atan2(Axout, Ayout)) *57.29577951+180
Rotation along X (roll) and Y (pitch) axis will produce change in acceleration but rotation
along with Z axis (yaw) will not produce any change in acceleration as it is perpendicular to
the plane of surface. Hence using only accelerometer, yaw cannot be calculated.
We can also see this effect on X and Y axis when these axes are made perpendicular with
plane of surface.
6.1.5 WORKING MECHANISM

Fig 6.4 Accelerometer Working Mechanism

As we can see from the above figure, basic structure of accelerometer consists fixed plates
and moving plates (mass).
Acceleration deflects the moving mass and unbalances the differential capacitor which results
in a sensor output voltage amplitude which is proportional to the acceleration.
Phase-sensitive demodulation techniques are then used to determine the magnitude and
direction of the acceleration.

33
6.2 ZIGBEE MODULE
ZIGBEE is low-cost, low-power, wireless mesh networking standard. The low cost allow the
technology to be widely deployed in wireless control and monitoring applications, the low
power-usage allows longer life with smaller batteries, and the mesh networking provides high
reliability and larger range [27].
The current list of application profiles either published or in the work are:
• Home Automation
• ZIGBEE Smart Energy
• Telecommunication Applications
• Personal Home
• Hospitals Care
It is a standard global protocol which is supported by around 30 countries in the world and
provides us with specification of security, network and its applications for the low power and
low data rate IEEE802.15.4 PHY and MAC specifications. Some of the general characters of
ZIGBEE include low power consumption with low duty cycles, supports multiple topologies
with a large number of devices, and has range of about 50 meters with secure
communication. Although for wireless communication both ZIGBEE and Bluetooth can be
used but ZIGBEE has more advantage as it can work in active as well as sleep mode with
quick transmission and reception with detachment. Moreover, it is more efficient with smaller
packet size and shows better transmission efficiency than Bluetooth
ZIGBEE provides highest achievable data rate of 250Kbps and 16 communication channel
between 2.GHZ to 2.4835GHZ at the physical layer. Typical communication distances are
within 30 meter in an indoor non line of sight environment depending on specification of
module. But the problem related to range can be solved by applying Routing algorithm at the
network layer.
ZIGBEE 2.4GHZ bands are commonly accepted wireless communication products
throughout the world because of ISM (Industrial, scientific, medical) Band.
ZIGBEE device types
Three types of ZIGBEE devices:
I. ZIGBEE coordinator (ZC): The most capable device, the coordinator forms the root of the
network tree and might bridge to other networks. There is exactly one ZIGBEE coordinator
in each network since it is the device that started the network originally. It stores information
about the network, including acting as the Trust Center & repository for security keys.

34
II. ZIGBEE router (ZR): As well as running an application function, a router can act as an
intermediate router, passing on data from other devices.
III. ZIGBEE End Device (ZED): Contain just enough functionality to talk to the parent node
(either the coordinator or a router); it cannot relay data from other devices. This relationship
allows the node to be asleep a significant amount of the time thereby giving long battery life.
A ZED requires the least amount of memory, and therefore can be less expensive to
manufacture than a ZR or ZC.
This project consists of two ZIGBEE module. One with gesture controlled sensor and other
with robot part. One ZIGBEE module is to send data to other module through RF
communication. ZIGBEE technology is used to communicate between the transmission and
reception modules of the project. One device was selected as a coordinator and the other was
selected as an end device. The end device was connected to the microcontroller reading the
data from IMU. The coordinator device was placed on the vehicle.
6.2.1 ZIGBEE TRANSMITTER MODULE

Fig 6.5 ZIGBEE Transmitter Module

The ZIGBEE transmitter module is connected to Arduino NANO and accelerometer. The
Arduino continuously takes input from the accelerometer. This input is transmitted to the
ZIGBEE receiver module in the receiver section through the ZIGBEE transmitter module.
Upon receiving input, appropriate signals are sent to the motor driver which causes some
motion in the wheels.

35
6.2.2 ZIGBEE RECEIVER MODULE

Fig 6.6 ZIGBEE Receiver Module

The ZIGBEE receiver module is connected to Arduino UNO. It receives the motion of the
accelerometer as input from the ZIGBEE transmitter. According to this input, appropriate
signals are generated in the motor driver and creates motion in the wheels.
6.2.3 ZIGBEE PIN CONFIGURATION

Fig 6.7 ZIGBEE Module


The pin configuration of the ZIGBEE module is as shown in the above figure. The ZIGBEE
module consists of the following pins.
GND: Ground.
5V: Power Supply.
Dout: Data output pin.
Din: Data input pin.

36
6.2.4 FEATURES OF ZIGBEE
 The main features of ZIGBEE are
 Low power consumption
 High density of network
 Simple protocol, global implementation
 Network flexibility
 Small size less then 9mm*9mm.
 Due to all the above feature, usage of ZIGBEE module is more preferred.
6.2.5 ZIGBEE APPLICATIONS
 Home Entertainment and control
 Home Awareness
 Mobiles Services
 Commercial Building
 Industrial plant
 Water sensor
 Fire sensor
 Health centres
6.2.6 ADVANTAGES OF ZIGBEE
 Reliable and self-healing
 Supports large number of nodes
 East to deploy
 Very long battery life
 Low power consumption
 Low cost
 Easily implemented
 Flexible network structure

37
6.3 ARDUINO NANO
The Arduino Nano is a small, complete, and breadboard-friendly board based on the
ATmega328 (Arduino Nano 3.x) or ATmega168 (Arduino Nano 2.x). It has more or less the
same functionality of the Arduino Duemilanove, but in a different package.
Arduino Nano V3.0
It lacks only a DC power jack, and works with a Mini-B USB cable instead of a standard one.
The Arduino Nano can be powered via the Mini-B USB connection, 6-20V unregulated
external power supply (pin 30), or 5V regulated external power supply (pin 27). The power
source is automatically selected to the highest voltage source.
Arduino Nano comes with a crystal oscillator of frequency 16 MHz. It is used to produce a
clock of precise frequency using constant voltage. There is one limitation using Arduino
Nano i.e. it doesn’t come with DC power jack, means you cannot supply external power
source through a battery. Flash memory is 16KB or 32KB that all depends on the Atmega
board i.e Atmega168 comes with 16KB of flash memory while Atmega328 comes with a
flash memory of 32KB. Flash memory is used for storing code. The 2KB of memory out of
total flash memory is used for a bootloader.

6.3.1 TECHNICAL SPECIFICATIONS:


The technical specifications of the Arduino Nano are
 Microcontroller: Atmel ATmega168 or ATmega328
 Operating Voltage(logic level): 5 V
 Input Voltage(recommended): 7-12 V
 Input Voltage(limits): 6-20 V
 Digital I/O Pins: 14 (of which 6 provide PWM output)
 Analog Input Pins: 8
 DC Current per I/O Pin: 40 mA
 Flash Memory: 16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used
by bootloader
 SRAM: 1 KB (ATmega168) or 2 KB (ATmega328)
 EEPROM: 512 bytes (ATmega168) or 1 KB (ATmega328)
 Clock Speed: 16 MHz

38
6.3.2 PIN CONFIGURATION

Fig 6.8 Arduino Nano Pin Configuration


Pin Category Pin Name Details
Vin: Input voltage to Arduino when using an external
power source (6-12V).

5V: Regulated power supply used to power


Vin, 3.3V, 5V, microcontroller and other components on the board.
Power
GND
3.3V: 3.3V supply generated by on-board voltage
regulator. Maximum current draw is 50mA.

GND: Ground pins.


Reset Reset Resets the microcontroller.
Analog Pins A0 – A7 Used to measure analog voltage in the range of 0-5V
Digital Pins D0 - Can be used as input or output pins. 0V (low) and 5V
Input/Output Pins
D13 (high)
Serial Rx, Tx Used to receive and transmit TTL serial data.
External Interrupts 2, 3 To trigger an interrupt.
PWM 3, 5, 6, 9, 11 Provides 8-bit PWM output.
10 (SS), 11
(MOSI), 12
SPI Used for SPI communication.
(MISO) and 13
(SCK)
Inbuilt LED 13 To turn on the inbuilt LED.
A4 (SDA), A5
IIC Used for TWI communication.
(SCA)
AREF AREF To provide reference voltage for input voltage.

Table 6.1 Arduino Nano Pin Configuration

39
6.4 ARDUINO UNO
The Arduino UNO is an open-source microcontroller board based on the Microchip
ATmega328P microcontroller and developed by Arduino.cc. The board is equipped with sets
of digital and analog input/output (I/O) pins that may be interfaced to various expansion
boards (shields) and other circuits. The board has 14 Digital pins, 6 Analog pins, and
programmable with the Arduino IDE (Integrated Development Environment) via a type B
USB cable. It can be powered by a USB cable or by an external 9 volt battery, though it
accepts voltages between 7 and 20 volts. It is also similar to the Arduino Nano and Leonardo.
The hardware reference design is distributed under a Creative Commons Attribution Share-
Alike 2.5 license and is available on the Arduino website. Layout and production files for
some versions of the hardware are also available. "Uno" means one in Italian and was chosen
to mark the release of Arduino Software (IDE) 1.0. The Uno board and version 1.0 of
Arduino Software (IDE) were the reference versions of Arduino, now evolved to newer
releases. The Uno board is the first in a series of USB Arduino boards, and the reference
model for the Arduino platform. The ATmega328 on the Arduino Uno comes preprogramed
with a bootloader that allows uploading new code to it without the use of an external
hardware programmer. It communicates using the original STK500 protocol.
6.4.1 TECHNICAL SPECIFICATIONS:
The technical specifications of the Arduino UNO are
 Microcontroller: Microchip ATmega328P [7]
 Operating Voltage: 5 Volts
 Input Voltage: 7 to 20 Volts
 Digital I/O Pins: 14 (of which 6 provide PWM output)
 Analog Input Pins: 6
 DC Current per I/O Pin: 20 mA
 DC Current for 3.3V Pin: 50 mA
 Flash Memory: 32 KB of which 0.5 KB used by bootloader
 SRAM: 2 KB
 EEPROM: 1 KB
 Clock Speed: 16 MHz
 Length: 68.6 mm
 Width: 53.4 mm
 Weight: 25 g

40
6.4.2 PIN CONFIGURATION

Fig 6.9 Arduino UNO Pin Configuration

Pin Category Pin Name Details


Vin: Input voltage to Arduino when using an external
power source.

5V: Regulated power supply used to power


Vin, 3.3V, 5V, microcontroller and other components on the board.
Power
GND
3.3V: 3.3V supply generated by on-board voltage
regulator. Maximum current draw is 50mA.

GND: ground pins.


Reset Reset Resets the microcontroller.
Analog Pins A0 – A5 Used to provide analog input in the range of 0-5V
Input/Output Pins Digital Pins 0 - 13 Can be used as input or output pins.
Serial 0(Rx), 1(Tx) Used to receive and transmit TTL serial data.
External Interrupts 2, 3 To trigger an interrupt.
PWM 3, 5, 6, 9, 11 Provides 8-bit PWM output.
10 (SS), 11
(MOSI), 12
SPI Used for SPI communication.
(MISO) and 13
(SCK)
Inbuilt LED 13 To turn on the inbuilt LED.
A4 (SDA), A5
TWI Used for TWI communication.
(SCA)
AREF AREF To provide reference voltage for input voltage.

Table 6.2 Arduino Uno Pin Configuration


41
6.5 MOTOR DRIVER
L293D is a typical Motor driver or Motor Driver IC which allows DC motor to drive on
either direction. L293D is a 16-pin IC which can control a set of two DC motors
simultaneously in any direction. It means that you can control two DC motor with a single
L293D IC The Device is a monolithic integrated high voltage, high current four channel
driver designed to accept standard DTL or TTL logic levels and drive inductive loads (such
as relays solenoids, DC and stepping motors) and switching power transistors. To simplify
use as two bridges each pair of channels is equipped with an enable input. A separate supply
input is provided for the logic, allowing operation at a lower voltage and internal clamp
diodes are included. This device is suitable for use in switching applications at frequencies up
to 5 kHz.
The L293D is assembled in a 16 lead plastic package which has 4 centre pins connected
together and used for heatsinking The L293DD is assembled in a 20 lead surface mount
which has 8 centre pins connected together and used for heatsinking.

Fig 6.10 Motor Driver


It works on the concept of H-bridge. H-bridge is a circuit which allows the voltage to be
flown in either direction. As you know voltage need to change its direction for being able to
rotate the motor in clockwise or anticlockwise direction, Hence H-bridge IC are ideal for
driving a DC motor.

42
In a single L293D chip there are two h-Bridge circuit inside the IC which can rotate two dc
motor independently. Due its size it is very much used in robotic application for controlling
DC motors. Given below is the pin diagram of a L293D motor controller.
6.5.1 MOTOR DRIVER PIN CONFIGURATION

Fig 6.11 Motor Driver Pin Configuration

Pin No Function Name


1 Enable pin for Motor 1; active high Enable 1,2
2 Input 1 for Motor 1 Input 1
3 Output 1 for Motor 1 Output 1
4 Ground (0V) Ground
5 Ground (0V) Ground
6 Output 2 for Motor 1 Output 2
7 Input 2 for Motor 1 Input 2
8 Supply voltage for Motors; 9-12V (up to 36V) Vcc 2
9 Enable pin for Motor 2; active high Enable 3,4
10 Input 1 for Motor 1 Input 3
11 Output 1 for Motor 1 Output 3
12 Ground (0V) Ground
13 Ground (0V) Ground
14 Output 2 for Motor 1 Output 4
15 Input2 for Motor 1 Input 4
16 Supply voltage; 5V (up to 36V) Vcc 1

Table 6.3 Motor Driver Pin Configuration

43
Working of L293D
There are 4 input pins for l293d, pin 2,7 on the left and pin 15 ,10 on the right as shown on
the pin diagram. Left input pins will regulate the rotation of motor connected across left side
and right input for motor on the right hand side. The motors are rotated on the basis of the
inputs provided across the input pins as LOGIC 0 or LOGIC 1.
In simple you need to provide Logic 0 or 1 across the input pins for rotating the motor.
L293D Logic Table.
Lets consider a Motor connected on left side output pins (pin 3,6). For rotating the motor in
clockwise direction the input pins has to be provided with Logic 1 and Logic 0.
• Pin 2 = Logic 1 and Pin 7 = Logic 0 | Clockwise Direction
• Pin 2 = Logic 0 and Pin 7 = Logic 1 | Anticlockwise Direction
• Pin 2 = Logic 0 and Pin 7 = Logic 0 | Idle [No rotation] [Hi-Impedance state]
• Pin 2 = Logic 1 and Pin 7 = Logic 1 | Idle [No rotation]
Voltage Specification
VCC is the voltage that it needs for its own internal operation 5v; L293D will not use this
voltage for driving the motor. For driving the motors it has a separate provision to provide
motor supply VSS (V supply). L293d will use this to drive the motor. It means if you want to
operate a motor at 9V then you need to provide a Supply of 9V across VSS Motor supply.
The maximum voltage for VSS motor supply is 36V. It can supply a max current of 600mA
per channel.Since it can drive motors Up to 36v hence you can drive pretty big motors with
this l293d.
VCC pin 16 is the voltage for its own internal Operation. The maximum voltage ranges from
5v and upto 36v.
6.6 DC MOTORS
Many of us could have come across this Hobby DC motors through kids toys such as remote
controlled cars, trains etc, hence this motor is also called as Toy motor. Nevertheless this
motor can also be used for many other common purposes and is mostly used by beginner
level electronics hobbyist. They are very rugged and easy to use and control with commonly
available and wide range of voltage levels. These motors can rotate in either direction and
speed control is also possible, however do not expect a very fast speed and high torque from
these small guys. The good news is that this motor is relatively cheap compared to other
motors. So if you are looking for a pocket friendly motor for some basic electronics projects,
then this motor could be the right choice for you.

44
As the name suggests the Hobby DC motor is highly used by hobbyists who start exploring
electronics. Hence this motor is very simple and easy to use. You can use any normal 9V
battery or even a 5V supply since this motor has a operating range from 4.5V to 9V. In order
to make it rotate just connect the positive (+) side of battery to one terminal and the Negative
(-) sign of the battery to the other end and you should see the motor rotating. If you want to
reverse the speed of the motor simply interchange the terminals and direction will also be
reversed.
Also remember that the motor can consume upto 250mA during loaded conditions so make
sure you supply could source it. If you are controlling it through any Digital IC or any
Microcontroller you should use a motor driver IC like L293D or ULN2003 these IC’s will
also let you to control the direction of the motor easily.

Fig 6.12 DC Motor

Motor Specifications:
Standard 130 Type DC motor
Operating Voltage: 4.5V to 9V
Recommended/Rated Voltage: 6V
Current at No load: 70mA (max)
No-load Speed: 9000 rpm
Loaded current: 250mA (approx.)
Rated Load: 10g*cm
Motor Size: 27.5mm x 20mm x 15mm
Weight: 17 grams.

45
CHAPTER 7
ACCELEROMETER & ZIGBEE LIBRARY
7.1 HOW TO USE THE LIBRARY OF ACCELEROMETER
This shows you how to read from the ADXL3xx series (e.g. ADXL320, ADXL321,
ADXL322, and ADXL335) accelerometer and receive the values in the serial monitor of the
Arduino Software (IDE) or another application that receives data over the serial port.
This tutorial was built using the breakout boards from Sparkfun. The adafruit accelerometer
breakout board also works, though it must be wired differently.
The ADXL3xx outputs the acceleration on each axis as an analog voltage between 0 and 5
volts. To read this, all you need is the analogRead() function.
7.1.1 ACCELEROMETER PIN CONFIGURATION

Fig 7.1 Accelerometer Pin Configuration

Breakout Board Self Z Y X


Pin Test Axis Axis Axis Ground VCC
Arduino Analog
Input Pin A0 A1 A2 A3 A4 A5

Table 7.1 Accelerometer Pin Configuration

46
7.1.2 ACCELEROMETER LIBRARY CODE

The accelerometer connections are defined as constants at the beginning of the sketch, using
the two Analog pins 4 and 5 as source of power. This is accomplished using them as Digital
I/O pins 18 and 19. If needed, A0 is D14, A1 is D15 and so on.
CODE:
// These constants describe the pins. They won't change:
const int groundpin = 18;
const int powerpin = 19;
const int xpin = A3;
const int ypin = A2;
const int zpin = A1;
void setup() {
Serial.begin(9600);
pinMode(groundpin, OUTPUT);
pinMode(powerpin, OUTPUT);
digitalWrite(groundpin, LOW);
digitalWrite(powerpin, HIGH);
}
void loop() {
// print the sensor values:
Serial.print(analogRead(xpin));
// print a tab between values:
Serial.print("\t");
Serial.print(analogRead(ypin));
// print a tab between values:
Serial.print("\t");
Serial.print(analogRead(zpin));
Serial.println();
// delay before next reading:
delay(100);
}

47
7.2 HOW TO USE THE LIBRARY OF ZIGBEE
The Arduino Wireless Shield allows your Arduino board to communicate wirelessly using
ZigBee. This documentation describes the use of the shield with the XBee ZB ZigBee RF
Modules module. The XBee ZB ZigBee RF Modules and the XBee 802.15.4 OEM RF
Modules are not compatible over-the-air because they use different chipsets. In particular in
XBee 802.15.4 OEM RF Modules implements the 802.15.4 protocol while the the XBee®ZB
ZigBee® RF Modules implements the ZigBee protocol or the ZNet 2.5 protocol. Digi
International continues to support both ZigBee and Znet 2.5, so you are free to use either on
the Series 2 radios. Remember that only radios with the same type of firmware can
communicate with each other.
The Xbee 802.15.4 modules support point-to-point or multipoint communication without
routing, so they are ready out of the box to establish peer communication between two radios
without any configuration.
ZigBee module could be embedded in the system. Next step is to set ZigBee Module Source
address and Destination address, it is very important for us to transfer data by transparently
from one ZigBee module.
7.2.1 ZIGBEE PIN CONFIGURATION

Fig 7.2 ZigBee Pin Configuration

Breakout D-OUT D-IN GROUND Vin


Board Pin
Arduino Input Tx Rx Gnd 5v
Pin

Table 7.2 ZigBee Pin Configuration

48
7.1.2 ZIGBEE LIBRARY CODE

To upload a sketch to an Arduino board with a Wireless shield, place the switch in the USB
position. Then, you can upload a sketch normally from the Arduino environment. In this case,
upload the Communication | Physical Pixel sketch to one of the boards. This sketch instructs
the board to turn on the LED attached to pin 13 whenever it receives an 'H' over its serial
connection, and turn the LED off when it gets an 'L'. You can test it by connecting to the
board with the Arduino serial monitor (be sure it's set at 9600 baud), typing an H, and
pressing enter (or clicking send). The LED should turn on. Send an L and the LED should
turn off. If nothing happens, you may have an Arduino board that doesn't have a built-in LED
on pin 13 (see the board index to check for sure), in this case you'll need to supply your own.

Once you've uploaded the Physical Pixel sketch and made sure that it's working, unplug the
first Arduino board from the computer. Change the switch to the Micro setting. Now, you
need to upload a sketch to the other board. Make sure its switch is in the USB setting. Then
upload the following sketch to the board:
CODE:
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.print('H');
delay(1000);
Serial.print('L');
delay(1000);
}
When it's finished uploading, check that it's working with the Arduino serial monitor. You
should see H's and L's arriving one a second. Turn off the serial monitor and unplug the
board. Change the switch to the Micro setting. Now connect both boards to power. After a
few seconds, you should see the LED on the first board turn on and off, once a second.

49
CHAPTER 8
STEPS INVOLVED IN MAKING THE HAND GESTURE
WHEEL CHAIR
There are mainly three blocks: input, controller, and output. The input consists of an
Accelerometer ADXL335 that is capable of sending analog information to Arduino Nano
board, which determines the movement of hand in X, Y, Z axis direction. The output consists
of a ZigBee transmitter which transmits the information through antenna into air medium and
from air medium the ZigBee receiver receives the information through antenna which is in
the form of digital data that is sent to Tx pin of the Arduino Uno from there according to the
given instruction the dc motors will react according to which we already written in the code
section. Similarly controlling of motor 2 will be done in same process.
8.1 INTERFACING THE TRANSMITTER SECTION WITH ARDUINO NANO

Now it's time to wire the Arduino! This is pretty easy and doesn't have any complicated
wiring. See the schematics below and carefully connect all parts to the Arduino. I used an
accelerometer ADXL335 as input to the Arduino Nano using jumper wires and ZigBee i.e.
Output is connected to the Arduino Nano using jumper wires. You can see the wiring
diagram below.

Fig 8.1 Connecting the Components of a Transmitter Section to Arduino Nano

50
Here are the connections for each part:
 Accelerometer VCC to Arduino 5V.
 Accelerometer GND to Arduino GND.
 Accelerometer ST to Arduino A0.
 Accelerometer X Axis to Arduino A3.
 Accelerometer Y Axis to Arduino A2.
 Accelerometer Z Axis to Arduino A1.
 ZigBee VCC to Arduino 5V.
 ZigBee GND to Arduino GND.
 ZigBee DOUT to Arduino TX.
 ZigBee DIN to Arduino RX.

8.1.1 INTERFACING THE RECEIVER SECTION WITH ARDUINO UNO

Now it's time to wire the Arduino! This is pretty easy and doesn't have any complicated
wiring. See the schematics below and carefully connect all parts to the Arduino. I used an
accelerometer ZigBee as input to the Arduino Uno using jumper wires and Motor Driver
L293D as Output and is connected to the Arduino Uno using jumper wires. You can see the
wiring diagram below.

Fig 8.2 Connecting the Components of a Receiver Section to Arduino Uno

51
Here are the connections for each part:
 Motor Driver M1 in to Arduino A5
 Motor Driver M1 in to Arduino A4
 Motor Driver M2 in to Arduino A3
 Motor Driver M2 in to Arduino A2
 Motor Driver M1 out to DC motor1
 Motor Driver M2 out to DC motor2
 ZigBee VCC to Arduino 5V.
 ZigBee GND to Arduino GND.
 ZigBee DOUT to Arduino TX.
 ZigBee DIN to Arduino RX.
 Power Supply 9V to Arduino Uno and Motor Driver.

Fig 8.3 Arduino after connecting the components (Transmitter Section)

Fig 8.4 Arduino after connecting the components (Receiver Section)

52
8.2 UPLOADING THE CODE FOR TRANSMITTING SECTION USING ARDUINO
Code for Transmitting Section:
#include <Wire.h>
#include <MechaQMC5883.h>
MechaQMC5883 qmc;
void setup() {
Wire.begin();
Serial.begin(9600);
qmc.init();
//qmc.setMode(Mode_Continuous,ODR_200Hz,RNG_2G,OSR_256);
}
void loop() {
int x,y,z;
qmc.read(&x,&y,&z);
// Serial.print('s');
if(x>=200){
Serial.print('l');
}
else if(x<=-300){
Serial.print('r');
}
else if(z<=-300){
Serial.print('b');
}
else if(z>=300){
Serial.print('f');
}
else{
Serial.print('s');
}
delay(200);
}

53
8.2.1 UPLOADING THE CODE FOR RECEIVING SECTION USING ARDUINO
Code for Receiver Section:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(0, 1);
#define lm1 A5
#define lm2 A4
#define rm1 A3
#define rm2 A2
int value;
void forward(){
digitalWrite(lm1,HIGH);
digitalWrite(lm2,LOW);
digitalWrite(rm1,HIGH);
digitalWrite(rm2,LOW);
}
void backward(){
digitalWrite(lm2,HIGH);
digitalWrite(lm1,LOW);
digitalWrite(rm2,HIGH);
digitalWrite(rm1,LOW);
}
void right(){
digitalWrite(lm1,HIGH);
digitalWrite(lm2,LOW);
digitalWrite(rm1,LOW);
digitalWrite(rm2,LOW);
}
void left(){
digitalWrite(lm1,LOW);
digitalWrite(lm2,LOW);
digitalWrite(rm1,HIGH);
digitalWrite(rm2,LOW);
}
void halt(){

54
digitalWrite(lm1,LOW);
digitalWrite(lm2,LOW);
digitalWrite(rm1,LOW);
digitalWrite(rm2,LOW);
}
void setup(){
mySerial.begin(9600);
pinMode(lm1,OUTPUT);
pinMode(lm2,OUTPUT);
pinMode(rm1,OUTPUT);
pinMode(rm2,OUTPUT);
}
void loop(){
value=mySerial.read();
if(value == 'f'){
forward();
}
if(value == 'b'){
backward();
}
if(value == 'r'){
right();
}
if(value == 'l'){
left();
}
if(value == 's'){
halt();
}
delay(200);
}

55
8.3 RESULT

FORWARD

BACKWARD

RIGHT

LEFT

56
CHAPTER 9
CONCLUSIONS AND FUTURE SCOPE
9.1 CONCLUSION
The design and development of the project using both hardware and software components to
best of its application in order in improvise the existing system to the level of maximum
utility and also to have the maximum number of operation carried and done on a single
robotic device.

We proposed a fast and simple algorithm for hand gesture recognition for controlling robot.
We have demonstrated the effectiveness of this computationally efficient algorithm on real
images we have acquired. In our system of gesture controlled robots, we have only
considered a limited number of gestures. Our algorithm can be extended in a number of ways
to recognize a broader set of gestures. The gesture recognition portion of our algorithm is too
simple, and would need to be improved if this technique would need to be used in
challenging operating conditions. Reliable performance of hand gesture recognition
techniques in a general setting require dealing with occlusions, temporal tracking for
recognizing dynamic gestures, as well as 3D modelling of the hand, which are still mostly
beyond the current state of the art.

The advantage of using neural networks is that you can draw conclusions from the network
output. If a vector is not classified correct we can check its output and work out a solution.

Even with limited processing power, it will be possible to design very efficient algorithms by:
• Advanced DSP processor can reduce the size of module. • Understand their (static) gestures.
• Control for other biometric uses. Our software has been designed to be reusable for much
behaviour that is more complex, which may be added to our work. Because we limited
ourselves to low processing power, our work could easily be made more performing by
adding a state-of-the-art processor.

Our system has shown the possibility that interaction with machines through gestures is a
feasible task and the set of detected gestures could be enhanced to more commands by
implementing a more complex model of a advanced vehicle for not only in limited space
while also in broader area as in the roads too . In the future, service robot executing many
different tasks from private movement to a fully-fledged advanced automotive that can make
disabled to able in all sense.

57
9.2 FUTURE SCOPE
The proposed system is applicable in hazardous environment where a camera can be attached
to the robot and can be viewed by the user who is in his station. This system can also be
employed in medical field where miniature robot are created that can help doctors for
efficient surgery operations For more efficient response, threshold values can be used to
detect gesture and advanced features such as finger counts that provide different functional
commands can be used like many in that some of the examples are given below.

 Medical Applications – Advanced robotics systems with gesture recognition can be


placed in hospitals or homes to recognize and treat life threatening conditions like
heart attacks or strokes.
 Alternative computer interfaces – Gesture recognition, along with voice
recognition, facial recognition, lip movement recognition and eye tracking combined
can be used to create something called a perceptual user interface (PUI), a completely
different way to interact with computer systems which will improve usability and
creativity by leaps and bounds.
 Entertainment applications – Most videogames today are played either on game
consoles, arcade units or PCs, and all require a combination of input devices. Gesture
recognition can be used to truly immerse players in the game world like never before.
 Automation systems – In homes, offices, transport vehicles and more, gesture
recognition can be incorporated to greatly increase usability and reduce the resources
necessary to create primary or secondary input systems like remote controls, car
entertainment systems with buttons or similar.
 An easier life for the disabled – One of the biggest challenges faced today is
providing separate and equally non cumbersome services to the differently abled and
handicapped. While there are special provisions around the world, there’s still huge
room for improvement to bring all lives on equal footing. Gesture recognition
technology can eliminate a lot of manual labour and make life much easier for those
who aren’t as fortunate as most of us are.
 Leap – Motion now for what is perhaps the most accessible and easy to use gesture
recognition platform, Leap Motion. Growing from investor interest in 2010, Leap
Motion just started selling their devices in July 2013 commercially. So what exactly is
Leap Motion? It’s a hardware sensor device that tracks hand and finger motions and
translates it into input.

58
CHAPTER 8

REFERENCES

[1] Diksha Goyal , Dr. S.P.S. Saini ,” Accelerometer Based Hand Gesture Controlled
Wheelchair”, in International Journal on Emerging Technologies , Vol. 2,2013

[2] Amornched Jinda-apiraksa, Warong Pongstiensak, and Toshiaki Kondo,” A Simple


Shape-Based Approach to Hand Gesture Recognition , Electrical Engineering/Electronics
Computer Telecommunications and Information Technology (ECTI-CON), 2010
International Conference on 2010

[3] Akira Utsumi, Tsutomu Miyasato and Fumio Kishino,” MultiCamera Hand Pose
Recognition System Using Skeleton Image”, Robot and Human Communication, 1995. RO-
MAN'95 TOKYO, Proceedings., 4th IEEE International Workshop on 1995

[4] J. Davis, M. Shah, “Visual gesture recognition”, IEEE Proc.-Vis. Image Signal Process.,
Vol. 141, No. 2, April 1994

[5] Chin-Chen Chang, I-Yen Chen and Yea-Shuan Huang,” Hand Pose Recognition Using
Curvature Scale Space”, Pattern Recognition, 16th International Conference on 2002,
Volume: 2

[6] Harish Kumar Kaura, Vipul Honrao, Sayali Patil, Pravish Shetty, “Gesture Controlled
Robot using Image Processing” in (IJARAI) International Journal of Advanced Research in
Artificial Intelligence, Vol. 2, No. 5, 2013

[7] R. Cipolla and A. Pentland, Computer Vision for Human-Machine Interaction,


Cambridge University Press, 1998, ISBN 978-0-521-62253-0

[8] Matthias Rehm, Nikolaus Bee, Elisabeth André, Wave Like an Egyptian -
Accelerometer Based Gesture Recognition for Culture Specific Interactions, British
Computer Society, 2007

[9] Michael Barr. "Embedded Systems Glossary". Neutrino Technical Library. Retrieved
2016-06-03.

59

Vous aimerez peut-être aussi