You are on page 1of 70

Department of CSE

1. INTRODUCTION
While the needs of many individuals with disabilities can be satisfied with power
wheelchairs, some members of the disabled community find it is difficult or impossible
to operate a standard power wheelchair. This project could be part of an assistive
technology. It is for more independent, productive and enjoyable living. The
background, objectives, problem statement and scopes of the project will be discussed
in this chapter.

1.1 PROBLEM DEFINITION


A handicapped person with locomotive disabilities needs a wheelchair to perform
functions that require him or her to move around. He can do so manually by pushing
the wheelchair with his hands. However many individuals have weak upper limbs or
find the manual mode of operating too tiring. Hence it is desirable to provide them with
a motorized wheelchair that can be controlled by moving a joystick or through voice
commands. Since the motorized wheelchair can move at a fair speed, it is important
that it be able to avoid obstacles automatically in real time. All this should be achieved
at a cost that is affordable for as many handicapped people as possible, as well as for
organizations that support them. With these requirements in mind we propose an
automated wheelchair with real-time obstacle avoidance capability.
The power wheelchair control interfaces currently still not enough to provide truly
independent mobility for substantial number of person with disabilities.
Through research and design wise, the power wheelchair to control development along
safe and effective use of the provision independence and self-use mobility.
This project will provide disability weight innovative solutions to handle the wheel
chairs to use voice interface.

This project describes a wheelchair which can be controlled only by using the user's
voice. This project aims to facilitate the movement of the disabled people and elderly
people who cannot move properly then enable them to lead better lives without any
problem. Speech recognition technology is a key technology which can provide a new
way of human interaction with machines or tools for controlling a wheelchair. This
project consists of two parts which is software and hardware. It is realized by using the
microphone as an intermediary which is used as the input of human voice.

1|Page
Voice Controlled Wheelchair
Department of CSE

1.2 PROJECT OVERVIEW


In this project we are using Android Application and Voice Recognition
System. But many of individuals with disabilities who need wheelchairs are satisfied
with it, few members of the disabled community find it is difficult or impossible for
operating a standard power wheelchair. This project is included in assistive technology.
For handicapped and depended disable it is more independent, productive and
enjoyable living. To perform functions a handicapped person with locomotive
disabilities needs a wheelchair that require him or her to move around. He/She can do
so manually by pushing the wheelchair with his/her hands. However many of us have
weak upper limbs or find the manual mode of operating too tiring. Therefore it is
desirable to provide them with a motorized wheelchair which is controlled by moving
a voice commands. Since motorized wheelchair is important that it be able to avoid
obstacles automatically in real time, it can move at a fair speed. Cost of this motorized
wheelchair is affordable for many handicapped people as possible, as well as for
organizations that support it. With these requirements in mind we propose an automated
wheelchair with real-time Herald avoidance capability. The power wheelchair control
interfaces currently still not enough to provide mobility for substantial number of
person with disabilities. Through research and design wise, the wheelchair to control
development along safe and effective use of the provision independence and self-use
mobility. This project will provide disability weight innovative solutions to handle the
wheel chairs to use voice interface. this project describes a wheelchair which can be
controlled only by using the android application and user's voice also. The main aim of
this project is to facilitate the movement of the disabled people and elderly people who
cannot move properly so with this we can enable them to lead better lives without any
problem. Speech recognition is a key technology which can provide human interaction
with machines for controlling a wheelchair. This project includes two parts which is
software and hardware. It is realized that for input of human voice we are using
Android phone as an intermediary. In this project, Ardiuno kit (Atmega 328) is used as
controller to control the movement of wheelchair based on the human voice as an input.
There are five options for basic motions of a wheelchair to be applied by the user. The
five conditions of the wheelchair can be described as the following:
i. Moving forward
ii. Moving backward

2|Page
Voice Controlled Wheelchair
Department of CSE

iii. Turning to the right


iv. Turning to the left
v. Stop condition
This project describes the design and development of the motion control using voice
recognition for a wheelchair application.

The 2011 census reported increase in country's disabled population by 22.4%


between 2001 and 2011. In 2001 count of disabled was 2.19 crore in 2001, which to
2.68 crore in 2011 of which 1.5 crore are males and 1.18 crore are females. Most of the
disabled are those with physical disability, accounting for 20.3% for total disabled
population. The population of disability is increasing due to various reasons as road
accidents, premises fall, suicide attempts, natural disasters such as earthquakes, etc.
There should be some means of machine that could provide this population to make
locomotion (locomotion means to move from one place to another).The locomotion
may in a limited environment i.e. inside the house or external environment.
This population needs a support that is provided by wheelchair. The normal pushing
wheelchair is the primitive one in which the user has to push the chair with the hands.
It has a stress on the user when travelling for a long distance. So with the help of
technology and human intelligence the idea of automated wheelchair was evolved. An
automated wheelchair is based on some input interfacing machine which provides input
to the motor. The motor processes the input provided and takes the corresponding action
(in terms of movement – move left, front, back, right). With the introduction of android
Smartphone in the system, the working becomes less complex. The system becomes
quite user-friendly to the user.

3|Page
Voice Controlled Wheelchair
Department of CSE

1.3 HARDWARE SPECIFICATION


 Arduino UNO.
 L293D Motor Shield.
 Bluetooth Module HC-05.
 Ultrasonic Sensor HC-SR-04.
 Wheel chair chassis.
 MT3608 DC-DC Step Up Ultra Small Power Module Booster.
 Battery 12 volts.
 2 DC Motors (12 V 200 rpm).
 Android phone.
 Power supply.
 6mm Shaft Wheel for DC Motors.
 Caster Wheel.
 Bread Board.
 Switch.
 Cables.
 Wires.
 Jumper Wires.

1.4 SOFTWARE SPECIFICATION


 Arduino IDE.
 Android Application.
 Coding language: Arduino programming (java & C++).

4|Page
Voice Controlled Wheelchair
Department of CSE

2. LITERATURE SURVEY
This population needs a support that is provided by wheelchair. The normal pushing
wheelchair is the primitive one in which the user has to push the chair with the hands.
It has a stress on the user when travelling for a long distance. So with the help of
technology and human intelligence the idea of automated wheelchair was evolved. An
automated wheelchair is based on some input interfacing machine which provides input
to the motor. The motor processes the input provided and takes the corresponding action
(in terms of movement – move left, front, back, right). With the introduction of android
Smartphone in the system, the working becomes less complex. The system becomes
quite user-friendly to the user.

2.1 EXISTING SYSTEM

In the past few years, many projects related to wheelchair have been developed. Some
of the existing systems are based on the input provided by joystick, eye-ball
movements, gesture-based, voice based, patterns made by hand In last few years, many
projects related to wheelchair and brain signal ( neural ) based etc. In joystick based
wheelchair person with different disabilities may find it difficult to move joystick as it
requires considerable amount of force moreover it may affect the reaction time of the
wheelchair which may be dangerous. In the eye-ball movements controlled wheelchair
and head/neck movement controlled wheelchair, the user has more stress on the
eyes/head/neck. In this case, user has restricted sight as the motion of the eye-
ball/head/neck is taken as an input by system that can give wrong output for that
instance. Voice controlled system can provide inaccurate response in noisy
environment and it can become difficult for the user to locomote in such environment.

In Accelerometer-based controlled system, the tilting direction of the mobile phone


should be precise to receive accurate result. And moreover it will be complex for people
with disabilities in wrist movements. And pattern recognition based system will require
training of the user as well as the system. The training of the system will vary for
different users. Also in brain signal controlled system acquires and converts the brain
signal to give direction signals. This signals are generated due to electrical activity that

5|Page
Voice Controlled Wheelchair
Department of CSE

is stimulated by brain. But brain signal cannot be relied on for motion of wheelchair as
in some external electric field the device may not able to capture the accurate signal.

2.2 PROPOSED SYSTEM

In this project, the movements of the wheelchair are controlled with the help of an
Android application. Graphical User Interface (GUI) is provided via the application to
the user to control the wheelchair movements.

Fig 1: Block Diagram of Andro-Voice Chair

6|Page
Voice Controlled Wheelchair
Department of CSE

The above figure is the block diagram of Andro voice chair. The proposed system uses
touch-screen -based android mobile to control the wheelchair. An android application
is to be developed for this purpose. The android mobile is connected to microcontroller
fitted inside wheelchair via Bluetooth controller. The provided application gives simple
user interface to the user for selection of direction for motion of wheelchair. Based on
selected input, the corresponding signal is sent via Bluetooth controller to
microcontroller, which takes actions as a form of output. If the user selects the front
direction, than both the motors are made to move in the same direction and with same
speed. Similarly is for the reverse direction. If the user wants to move in the left/right
direction than polarity of both the motors are reversed correspondingly.

2.3 FEASIBILITY STUDY

The feasibility of the project is analyzed in this phase and business proposal is put forth
with a very general plan for the project and some cost estimates. During system analysis
the feasibility study of the proposed system is to be carried out. This is to ensure that
the proposed system is not a burden to the company. For feasibility analysis, some
understanding of the major requirements for the system is essential.
Three key considerations involved in the feasibility analysis are

7|Page
Voice Controlled Wheelchair
Department of CSE

ECONOMICAL FEASIBILITY

This study is carried out to check the economic impact that the system will have on the
organization. The amount of fund that the company can pour into the research and
development of the system is limited. The expenditures must be justified. Thus the
developed system as well within the budget and this was achieved because most of the
technologies used are freely available. Only the customized products had to be
purchased.

TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high demand on
the available technical resources. This will lead to high demands on the available
technical resources. This will lead to high demands being placed on the client. The
developed system must have a modest requirement, as only minimal or null changes
are required for implementing this system.

SOCIAL FEASIBILITY

The aspect of study is to check the level of acceptance of the system by the user. This
includes the process of training the user to use the system efficiently. The user must not
feel threatened by the system, instead must accept it as a necessity. The level of
acceptance by the users solely depends on the methods that are employed to educate
the user about the system and to make him familiar with it. His level of confidence must
be raised so that he is also able to make some constructive criticism, which is welcomed,
as he is the final user of the system.

8|Page
Voice Controlled Wheelchair
Department of CSE

3. SYSTEM ANALYSIS AND DESIGN


The Android application contains the functionality of handling the movement of wheel
chair and additional features like Emergency calling to the care taker and it can also
send the emergency message to the intended person whose number is given when we
starts the application. We have used incremental model to design application because
if we want to make any changes in future then it will be easily accommodated.
Incremental model should be used in such a project where requirements are well
defines, but the realization will may be delayed. In Incremental model the whole
requirement is divided into various builds. Multiple development cycles take place here,
making the life cycles take place here, making life cycle a “Multi-waterfall” cycle.
Cycle are divided up into smaller, more easily managed module passed through
requirements, design, implementation and testing phases A working version of software
is produced during the first module. So we get working software early on during the
Software life cycle [3]. Each subsequent release of module adds function to previous
release. The process continues till the complete system is achieved. Incremental model
is more flexible and less costly to change scope and requirements. In this model it is
easy to test and debug during a smaller iteration.

METHODOLOGY: In this project Android application is connected to the


wheel chair via Bluetooth. For connection the HC-05 module is used inside
Microcontroller. The figure 4.1 shows the system architecture which defines the actual
working of system. We have provided the IR sensors which helps to avoid accidents
happens due to any obstacle. User can use two features provided in application either
Voice or Touch mode and these commands will be forwarded to the Microcontroller
mounted on wheel chair via Bluetooth. We have used battery as power supply which
helps to accommodate large distance.

9|Page
Voice Controlled Wheelchair
Department of CSE

3.1 REQUIREMENT SPECIFICATION

3.1.1 ARCHITECTURE

For implementation of hardware part we have used Arduino UNO microcontroller,


L293D the DC motor driver.The work is mainly divided in three modules in which first
are: creation of application and User interaction with application. This module creates
Graphical Interface for any non-technical user can also interact with application. It will
also provides options like select different modes of controlling wheel chair like (Voice
and Touch commands) for controlling. In this microcontroller maintains unique
information of commands and match that commands with user input and perform action
like moving Left, Right, Forward, Reverse, Stop. The second module is Connection of
application to Microcontroller. In this Module Android application is started first and
then it is connected to the Microcontroller via the Bluetooth. After starting the
Bluetooth we will get the list of devices near available and need to pair with the
Microcontroller and then after connecting it becomes ready to perform action on wheel
chair. And third module is Connection of Microcontroller to the Wheel chair. This
module describes the working of microcontroller and actual connection with Device
Driver and wheel chair. After forming connection with application, microcontroller
initializes the connection with device driver (i.e. Left and right side Motor) and after
taking the input from user it will send that input in the form of bits to the Device driver

Fig 2: System Architecture

10 | P a g e
Voice Controlled Wheelchair
Department of CSE

3.1.2 HARDWARE DESCRIPTION

I. ARDUINO UNO: Arduino is a prototype platform (open-source) based on


an easy-to-use hardware and software. It consists of a circuit board, which
can be programed (referred to as a microcontroller) and a ready-made
software called Arduino IDE (Integrated Development Environment),
which is used to write and upload the computer code to the physical board.
The key features are:

different sensors and turn it into an output such as activating a motor, turning
LED on/off, connect to the cloud and many other actions.

the microcontroller on the board via Arduino IDE (referred to as uploading


software).

programmable circuit boards, Arduino does not


need an extra piece of hardware (called a programmer) in order to load a
new code onto the board. You can simply use a USB cable.

it easier to learn to program.

of the micro-controller into a more accessible package.

The one we are using is Arduino UNO R3 ATMEGA328


microcontroller. The detailed description is shown as

11 | P a g e
Voice Controlled Wheelchair
Department of CSE

Fig 3: Arduino UNO Description


(1) Power USB
Arduino board can be powered by using the USB cable from your computer.
All you need to do is connect the USB cable to the USB connection (1).

(2) Power (Barrel Jack)


Arduino boards can be powered directly from the AC mains power supply
by connecting it to the Barrel Jack (2).

(3) Voltage Regulator


The function of the voltage regulator is to control the voltage given to the
Arduino board and stabilize the DC voltages used by the processor and other
elements.

(4) Crystal Oscillator


The crystal oscillator helps Arduino in dealing with time issues. How does
Arduino calculate time? The answer is, by using the crystal oscillator. The
number printed on top of the Arduino crystal is 16.000H9H. It tells us that
the frequency is 16,000,000 Hertz or 16 MHz.

12 | P a g e
Voice Controlled Wheelchair
Department of CSE

(5, 17) Arduino Reset


You can reset your Arduino board, i.e., start your program from the
beginning. You can reset the UNO board in two ways. First, by using the
reset button (17) on the board. Second, you can connect an external reset
button to the Arduino pin labelled RESET (5).

(6, 7, 8, 9) Pins (3.3, 5, GND, Vin)

volt and 5 volt.

of which can be used to ground your circuit.

duino board from


an external power source, like AC mains power supply.

(10) Analog pins


The Arduino UNO board has five analog input pins A0 through A5. These
pins can read the signal from an analog sensor like the humidity sensor or
temperature sensor and convert it into a digital value that can be read by the
microprocessor.

(11) Main microcontroller


Each Arduino board has its own microcontroller (11). You can assume it as
the brain of your board. The main IC (integrated circuit) on the Arduino is
slightly different from board to board. The microcontrollers are usually of
the ATMEL Company. You must know what IC your board has before
loading up a new program from the Arduino IDE. This information is
available on the top of the IC. For more details about the IC construction
and functions, you can refer to the data sheet.

13 | P a g e
Voice Controlled Wheelchair
Department of CSE

(12) ICSP pin


Mostly, ICSP (12) is an AVR, a tiny programming header for the Arduino
consisting of MOSI, MISO, SCK, RESET, VCC, and GND. It is often
referred to as an SPI (Serial Peripheral Interface), which could be considered
as an "expansion" of the output. Actually, you are slaving the output device
to the master of the SPI bus.

(13) Power LED indicator


This LED should light up when you plug your Arduino into a power source
to indicate that your board is powered up correctly. If this light does not turn
on, then there is something wrong with the connection.

(14) TX and RX LEDs


On your board, you will find two labels: TX (transmit) and RX (receive).
They appear in two places on the Arduino UNO board. First, at the digital
pins 0 and 1, to indicate the pins responsible for serial communication.
Second, the TX and RX led (13). The TX led flashes with different speed
while sending the serial data. The speed of flashing depends on the baud rate
used by the board. RX flashes during the receiving process.

(15) Digital I / O
The Arduino UNO board has 14 digital I/O pins (15) (of which 6 provide
PWM (Pulse Width Modulation) output. These pins can be configured to
work as input digital pins to read logic values (0 or 1) or as digital output
pins to drive different modules like LEDs, relays, etc. The pins labeled “~”
can be used to generate PWM.

(16) AREF
AREF stands for Analog Reference. It is sometimes, used to set an external
reference voltage (between 0 and 5 Volts) as the upper limit for the analog
input pins.

14 | P a g e
Voice Controlled Wheelchair
Department of CSE

II. L293D MOTOR SHIELD FOR ARDUINO :


The Arduino Motor Shield allows you to easily control motor direction and
speed using an Arduino. By allowing you to simply address Arduino pins,
it makes it very simple to incorporate a motor into your project. It also
allows you to be able to power a motor with a separate power supply of up
to 12v.

Fig 4: L293D Motor Shield

Install
The pins of the official Arduino motor shield will only align with Arduino
Uno Rev. 3.

Fig 5: Motor Shield Installation

15 | P a g e
Voice Controlled Wheelchair
Department of CSE

Shield Features
The motor shield has 2 channels, which allows for the control of two DC
motors, or 1 stepper motor.

It also has 6 headers for the attachment of Tinkerkit inputs, outputs, and
communication lines. The use of these pins is somewhat limited, and
therefore not covered in this tutorial.

With an external power supply, the motor shield can safely supply up to 12V
and 2A per motor channel (or 4A to a single channel).

There are pins on the Arduino that are always in use by the shield. By
addressing these pins you can select a motor channel to initiate, specify the
motor direction (polarity), set motor speed (PWM), stop and start the motor,
and monitor the current absorption of each channel.
The pin breakdown is as follows:

Channel Channel
Function
A B

Digital Digital
Direction
12 13

Speed Digital
Digital 3
(PWM) 11

Brake Digital 9 Digital 8

Current Analog Analog

Sensing 0 1

16 | P a g e
Voice Controlled Wheelchair
Department of CSE

Using the L239D motor driver IC of Motor Shield


From microcontroller we cannot connect a motor directly because microcontroller can
not give sufficient current to drive the DC motors. Motor driver is a current enhancing
device, it can also be act as Switching Device. Thus we insert motor driver in between
motor and microcontroller. Motor driver take the input signals from microcontroller
and generate corresponding output for motor.

Motor Driver IC L293D

This is a motor driver IC that can drive two motor simultaneously. L293D IC is a dual
H-bridge motor driver IC. One H-bridge is capable to drive a dc motor in bidirectional.
L293D IC is a current enhancing IC as the output from the sensor is not able to drive
motors itself so L293D is used for this purpose. L293D is a 16 pin IC having two
enables pins which should always be remain high to enable both the H-bridges. L293B
is another IC of L293 series having

Fig 6: L293D Pin Diagram

17 | P a g e
Voice Controlled Wheelchair
Department of CSE

1. L293D can run a motor up to 600 mA whereas L293B can run up to 1 A.

2. L293D has protection diode whereas L293B doesn’t have any such protection
diode. Need to
add the protection diode manually.

Connecting L239D to motors

18 | P a g e
Voice Controlled Wheelchair
Department of CSE

Fig 7: Motor Connecting to L293D

19 | P a g e
Voice Controlled Wheelchair
Department of CSE

Points regarding L293D

Supply voltage (Vss) is the Voltage at which we wish to drive the motor.

Generally we prefer 6V for dc motor and 6 to 12V for gear motor, depending upon the
rating of the motor.

Logical Supply Voltage will decide what value of input voltage should be

considered as high or low .So if we set Logical Supply Voltage equals to +5V, then -
0.3V to 1.5V will be considered as Input Low Voltage and 2.3 V to 5V will be
considered as Input High Voltage.

L293D has 2 Channels .One channel is used for one motor.

• Channel 1 - Pin 1to 8

• Channel 2 - Pin 9 to 16

Enable Pin is use to enable or to make a channel active .Enable pin is also called as
Chip Inhibit Pin.

All Input (Pin No. 2, 7,10and 15) of L293D IC is the output from
microcontroller (ATmega8).

E.g.-We connected (Pin No. 2, 7, 10 and 15) of L293D IC to (Pin No. 14,

15,16and 17) of ATmega8 respectively in our robots, because on pin 15 and 16 of


ATmega8 we can generate PWM.

All Output (Pin No. 3, 6,11and 14) of L293D IC goes to the input of Right and

Leftmotor.

If Enable pin low, the output will be at 0 always. If its high output depend on input

20 | P a g e
Voice Controlled Wheelchair
Department of CSE

Output Connections

• OUTPUT 1 (Pin No 3) --- Negative Terminal of Right Motor

• OUTPUT 2 (Pin No 6) --- Positive Terminal of Right Motor

• OUTPUT 3 (Pin No 10) --- Positive Terminal of Left Motor

• OUTPUT 4 (Pin No 14) --- Negative Terminal of Left Motor

Outputs of the Pins for driving DC Motors

21 | P a g e
Voice Controlled Wheelchair
Department of CSE

Controlling Two Motors


Interfacing with two motors is pretty much the same as interfacing with one
motor. Simply plug the motor into Channel B.

The only difference code-wise is that you need to engage a second channel
to control the second motor.

Fig 8: Connecting DC Motors to Motor Shield

Here is code for controlling two motors:


void setup() {

//Setup Channel A
pinMode(12, OUTPUT); //Initiates Motor Channel A pin
pinMode(9, OUTPUT); //Initiates Brake Channel A pin

//Setup Channel B
pinMode(13, OUTPUT); //Initiates Motor Channel A pin

22 | P a g e
Voice Controlled Wheelchair
Department of CSE

pinMode(8, OUTPUT); //Initiates Brake Channel A pin

void loop(){

//Motor A forward @ full speed


digitalWrite(12, HIGH); //Establishes forward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 255); //Spins the motor on Channel A at full speed

//Motor B backward @ half speed


digitalWrite(13, LOW); //Establishes backward direction of Channel B
digitalWrite(8, LOW); //Disengage the Brake for Channel B
analogWrite(11, 123); //Spins the motor on Channel B at half speed

delay(3000);

digitalWrite(9, HIGH); //Engage the Brake for Channel A


digitalWrite(9, HIGH); //Engage the Brake for Channel B

delay(1000);

//Motor A forward @ full speed


digitalWrite(12, LOW); //Establishes backward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 123); //Spins the motor on Channel A at half speed

//Motor B forward @ full speed


digitalWrite(13, HIGH); //Establishes forward direction of Channel B
digitalWrite(8, LOW); //Disengage the Brake for Channel B
analogWrite(11, 255); //Spins the motor on Channel B at full speed

23 | P a g e
Voice Controlled Wheelchair
Department of CSE

delay(3000);
digitalWrite(9, HIGH); //Engage the Brake for Channel A
digitalWrite(9, HIGH); //Engage the Brake for Channel B
delay(1000);
}

III. BLUETOOTH MODULE HC-05:


HC-05 module is an easy to use Bluetooth SPP (Serial Port Protocol)
module, designed for transparent wireless serial connection setup. Serial
port Bluetooth module is fully qualified Bluetooth V2.0+EDR (Enhanced
Data Rate) 3Mbps Modulation with complete 2.4GHz radio transceiver and
baseband. It uses CSR Bluecore 04-External single chip Bluetooth system
with CMOS technology and with AFH (Adaptive Frequency Hopping
Feature). It has the footprint as small as 12.7mmx27mm. Hope it will
simplify your overall design/development cycle.

Fig 9: HC-05 Bluetooth Module

24 | P a g e
Voice Controlled Wheelchair
Department of CSE

HC-05 is a class-2 Bluetooth module with Serial Profile that can be used as Master or
Slave. In Arduino, we will use Serial Communication for various purposes. Since it
also suports Serial Communication and you can treat it as a replacement.

HC-05 Specifications

2.45Ghz Frequency

Asynchronous Speed 2.1Mbps (max) .160Kbps

Security: Authentication

Profile: Bluetooth Serial Port

Power Supply: +3.3 VDc

Working Temperature: >20C

Password: 1234

HC-05 Description

So, we have six (or four) leads in this module. But we will genuinely care about only
four of them. Where, the two are for Vcc and GND.

Vcc= Power Supply (in other words 5V or 3.3V)

GND= Ground (in other words 0 volt)

And the next two leads are for RX (Receiving End) and TX (Transmitting End). From
the basic idea, we can say the RX of the module will go to the TX of the Arduino UNO.
In the same way, we connect the TX of the module with the RX of the Arduino UNO.

Fig 10: Connecting HC-05 Bluetooth to Arduino

25 | P a g e
Voice Controlled Wheelchair
Department of CSE

IV. ULTRASONIC SENSOR HC-SR-04:


The HC-SR04 ultrasonic sensor uses SONAR to determine the distance of
an object just like the bats do. It offers excellent non-contact range detection
with high accuracy and stable readings in an easy-to-use package from 2 cm
to 400 cm or 1” to 13 feet. The operation is not affected by sunlight or black
material, although acoustically, soft materials like cloth can be difficult to
detect. It comes complete with ultrasonic transmitter and receiver module.

Fig 11: Ultrasonic Sensor

The HC-SR04 ultrasonic sensor uses sonar to determine distance to an


object like bats or dolphins do. It offers excellent non-contact range
detection with high accuracy and stable readings in an easy-to-use package.
From 2cm to 400 cm (or 1” to 13 feet). It operation is not affected by
sunlight or black material like Sharp rangefinders are (although acoustically
soft materials like cloth can be difficult to detect). It comes complete with
ultrasonic transmitter and receiver module.

26 | P a g e
Voice Controlled Wheelchair
Department of CSE

The Circuit

Fig 12: Connecting Ultrasonic Sensor to Arduino

An Ultrasonic sensor is a device that can measure the distance to an object


by using sound waves. It measures distance by sending out a sound wave at
a specific frequency and listening for that sound wave to bounce back. By
recording the elapsed time between the sound wave being generated and the
sound wave bouncing back, it is possible to calculate the distance between
the sonar sensor and the object.

Fig 13: Diagram of the basic ultrasonic sensor operation

Since it is known that sound travels through air at about 344 m/s (1129 ft/s), you
can take the time for the sound wave to return and multiply it by 344 meters (or
1129 feet) to find the total round-trip distance of the sound wave. Round-trip
means that the sound wave traveled 2 times the distance to the object before it
was detected by the sensor; it includes the 'trip' from the sonar sensor to the

27 | P a g e
Voice Controlled Wheelchair
Department of CSE

object AND the 'trip' from the object to the Ultrasonic sensor (after the sound
wave bounced off the object). To find the distance to the object, simply divide
the round-trip distance in half.

V. WHEEL CHAIR CHASSIS:


A wheelchair, often abbreviated to just "chair", is a chair with wheels, used
when walking is difficult or impossible due to illness, injury, or disability.
Wheelchairs come in a wide variety of formats to meet the specific needs of
their users. They may include specialized seating adaptions, individualized
controls, and may be specific to particular activities, as seen with sports
wheelchairs and beach wheelchairs. The most widely recognised distinction
is between powered wheelchairs ("powerchairs"), where propulsion is
provided by batteries and electric motors, and manually propelled
wheelchairs, where the propulsive force is provided either by the wheelchair
user/occupant pushing the wheelchair by hand ("self-propelled"), or by an
attendant pushing from the rear ("attendant propelled").

28 | P a g e
Voice Controlled Wheelchair
Department of CSE

VI. POWER MODULE BOOSTER:


DC-DC 2A Adjustable Boost Power Supply Converter Step Up Module 2-
24v

Fig 14: Power Booster

This budget DC-DC boost converter cranks up input voltage from as low
as 2V to an output as high as 28VDC

A benefit to mobile electronics is the spill-over we get in the form of really


cool modules to build our designs. In this case, we're talking about DC-DC
Step-up boosters using the AeroSemi MT3608 IC. Attach it to your input
voltage, and twiddle the trimpot until you get the output voltage you need
(but it has to greater than the input). There's also step-down (with display),
full-range (step up and down) DC-DC converters with different prices and
size factors, but by limiting to one function, you save space and cost.

Dropping voltage is a relatively easy process, but creating a higher voltage


out of a lower voltage almost seems like alchemy. The MT3608 uses a
clever boost circuit with an inductor to turn a low input voltage into a usable
higher output voltage. But as any good alchemist (or engineer) knows,
there's always a cost involved: You may get more voltage, but the trade-off
is a little-less than proportional output current. That means if you start with
an input that has low voltage and a set current ability, you get high voltage
and even lower current on the output. Keep this in mind, and you'll be fine!

To summarize, the positives are:

 efficient

29 | P a g e
Voice Controlled Wheelchair
Department of CSE

 It can source a good amount of current

 It's inexpensive

 It's simple to adjust to get your desired increase in voltage

Specifications:

AeroSemi MT3608 High Efficiency 1.2MHz 2A Step Up Converter design

2A maximum output current

2.0 to 24VDC input voltage range

28V maximum output voltage (trimpot adjustable)

93% peak efficiency (~200mA output current at 5Vin, 12Vout)

36 x 17 x 14mm

VII. 12 V LEAD ACID BATTERY:


The Battery is the “heart” of any DC-based electrical system. While the
Solar Stick System is engineered to work with nearly any 12 volt battery
technology, it will usually operate best with lead-acid batteries.
The following section is an easy-to-understand introduction to the most
commonly used battery technology, the 12 volt Lead-acid Battery:

Fig 15: 12 V Lead Acid Battery

30 | P a g e
Voice Controlled Wheelchair
Department of CSE

ELECTROCHEMISTRY
Discharge

Fully discharged: two identical lead sulfate plates


In the discharged state both the positive and negative plates become lead
(II) sulfate (PbSO4), and the electrolyte loses much of its dissolved
sulfuric acid and becomes primarily water. The discharge process is driven
by the conduction of electrons from the negative plate back into the cell at
the positive plate in the external circuit.
Negative plate reaction
Pb(s) + HSO−4(aq) → PbSO4(s) + H+(aq) + 2e−
Release of two conducting electrons gives lead electrode a net negative
charge
• As electrons accumulate they create an electric field which attracts
hydrogen ions and repels sulfate ions, leading to a double-layer near the
surface. The hydrogen ions screen the charged electrode from the solution
which limits further reactions unless charge is allowed to flow out of
electrode.
Positive plate reaction
PbO2(s) + HSO−4(aq) + 3H+(aq) + 2e− → PbSO4(s) + 2H2O(l)
The total reaction can be written as
Pb(s) + PbO2(s) + 2H2SO4(aq) → 2PbSO4(s) + 2H2O(l)

The sum of the molecular masses of the reactants is 642.6 g/mol, so


theoretically a cell can produce two faradays of charge (192,971
coulombs) from 642.6 g of reactants, or 83.4 ampere-hours per kilogram
(or 13.9 ampere-hours per kilogram for a 12-volt battery).[citation needed] For a
2 volts cell, this comes to 167 watt-hours per kilogram of reactants, but a
lead–acid cell in practice gives only 30–40 watt-hours per kilogram of
battery, due to the mass of the water and other constituent parts.[citation needed]

31 | P a g e
Voice Controlled Wheelchair
Department of CSE

Charging

Fully recharged: Lead anode, Lead oxide cathode and sulfuric acid
electrolyte
In the fully charged state, the negative plate consists of lead, and the
positive plate lead dioxide, with the electrolyte of concentrated sulfuric
acid.
Overcharging with high charging voltages generates oxygen and hydrogen
gas by electrolysis of water, which is lost to the cell. The design of some
types of lead-acid battery allow the electrolyte level to be inspected and
topped up with any water that has been lost.
Due to the freezing-point depression of the electrolyte, as the battery
discharges and the concentration of sulfuric acid decreases, the electrolyte
is more likely to freeze during winter weather when discharged.

Ion motion
During discharge, H+
produced at the negative plates moves into the electrolyte solution and
then is consumed into the positive plates, while HSO−
4 is consumed at both plates. The reverse occurs during charge. This
motion can be by electrically driven proton flow or Grotthuss mechanism,
or by diffusion through the medium, or by flow of a liquid electrolyte
medium. Since the density is greater when the sulfuric acid concentration
is higher, the liquid will tend to circulate by convection. Therefore, a
liquid-medium cell tends to rapidly discharge and rapidly charge more
efficiently than an otherwise similar gel cell.

32 | P a g e
Voice Controlled Wheelchair
Department of CSE

VIII. DC MOTORS:
Robot is an electromechanical device which is capable of reacting in some
way to its environment, and take autonomous decisions or actions in order
to achieve a specific task.
Roboticists develop man-made mechanical devices that can move by
themselves, whose motion must be modelled, planned, sensed, actuated and
controlled, and whose motion behavior can be influenced by
“programming”.
This definition implies that a device can only be called a “robot” if it
contains a movable mechanism, influenced by sensing, planning, and
actuation and control components. Motors and actuators are the devices
which make the robot movable. Motors and actuators convert electrical
energy into physical motion. The vast majority of actuators produce either
rotational or linear motion.

A DC motor is any of a class of rotary electrical machines that converts


direct current electrical energy into mechanical energy. The most common
types rely on the forces produced by magnetic fields. Nearly all types of DC
motors have some internal mechanism, either electromechanical or
electronic, to periodically change the direction of current flow in part of the
motor.
DC motors were the first type widely used, since they could be powered
from existing direct-current lighting power distribution systems. A DC
motor's speed can be controlled over a wide range, using either a variable
supply voltage or by changing the strength of current in its field windings.
Small DC motors are used in tools, toys, and appliances. The universal
motor can operate on direct current but is a lightweight motor used for
portable power tools and appliances. Larger DC motors are used in
propulsion of electric vehicles, elevator and hoists, or in drives for steel
rolling mills. The advent of power electronics has made replacement of DC
motors with AC motors possible in many applications.

33 | P a g e
Voice Controlled Wheelchair
Department of CSE

Principle of DC Motor
This DC or direct current motor works on the principal, when a current
carrying conductor is placed in a magnetic field, it experiences a torque
and has a tendency to move.
This is known as motoring action. If the direction of current in the wire is
reversed, the direction of rotation also reverses. When magnetic field and
electric field interact they produce a mechanical force, and based on that
the working principle of DC motor is established.

Fig 16: DC Motor working

The direction of rotation of a this motor is given by Fleming’s left hand rule,
which states that if the index finger, middle finger and thumb of your left
hand are extended mutually perpendicular to each other and if the index
finger represents the direction of magnetic field, middle finger indicates the
direction of current, then the thumb represents the direction in which force
is experienced by the shaft of the DC motor.
Structurally and construction wise a direct current motor is exactly similar
to a DC generator, but electrically it is just the opposite. Here we unlike a
generator we supply electrical energy to the input port and derive
mechanical energy from the output port. We can represent it by the block
diagram shown below.

34 | P a g e
Voice Controlled Wheelchair
Department of CSE

Fig 17: DC Motor Principle

Here in a DC motor, the supply voltage E and current I is given to the


electrical port or the input port and we derive the mechanical output i.e.
torque T and speed ω from the mechanical port or output port.
The input and output port variables of the direct current motor are related
by the parameter K.

So from the picture above we can well understand that motor is just the
opposite phenomena of a DC generator, and we can derive both motoring
and generating operation from the same machine by simply reversing the
ports.

35 | P a g e
Voice Controlled Wheelchair
Department of CSE

IX. ANDROID PHONE:


An Android phone is a powerful, high-tech smartphone that runs on the
Android operating system (OS) developed by Google and is used by a
variety of mobile phone manufacturers. Pick an Android mobile phone and
you can choose from hundreds of great applications and multitask with ease.
Android phone in our project contains an android app for giving voice
commands to the Bluetooth module which then passes to the Arduino UNO
and then to the motor shield for driving the motors forward, backward, right,
left and to stop the chair

X. POWER SUPPLY / LEAD ACID BATTERY CHARGER:


To charge a battery from AC we need a step down transformer, rectifier,
filtering circuit, regulator to maintain the constant voltage then we can give
that voltage to the battery to charge it. Think if you have only DC voltage
and charge the lead acid battery, we can do it by giving that DC voltage to
a DC-DC voltage regulator and some extra circuitry before giving to the
lead acid battery

Fig 18: Block Diagram of charger for Lead Acid Battery

As seen in the DC voltage is given to the DC voltage regulator here we use


LM317 which is a DC voltage regulator. The regulated DC out voltage is
given to battery. There is also a trickle charge mode circuitry which will
help to reduce the current when the battery is fully charged.

36 | P a g e
Voice Controlled Wheelchair
Department of CSE

Fig 19: Lead Acid Battery Charger

XI. DC MOTOR WHEELS AND CASTER WHEEL:


A wheel is a circular component that is intended to rotate on an axle bearing.
The wheel is one of the main components of the wheel and axle which is
one of the six simple machines. Wheels, in conjunction with axles, allow
heavy objects to be moved easily facilitating movement or transportation
while supporting a load, or performing labor in machines. Wheels are also
used for other purposes, such as a ship's wheel, steering wheel, potter's
wheel and flywheel.

37 | P a g e
Voice Controlled Wheelchair
Department of CSE

Fig 20: DC Motor 6mm Shaft Wheel

A caster (also castor according to some dictionaries) is a wheeled device


typically mounted to a larger object that enables relatively easy rolling
movement of the object. Casters are essentially special housings that
includes a wheel, facilitating the installation of wheels on objects. Casters
are found virtually everywhere, from office desk chairs to shipyards, from
hospital beds to automotive factories. They range in size from the very small
furniture casters to massive industrial casters, and individual load capacities
span 100 pounds (45 kg) or less to 100,000 pounds (45 t). Wheel materials

38 | P a g e
Voice Controlled Wheelchair
Department of CSE

include cast iron, plastic, rubber, polyurethane, forged steel, stainless steel,
aluminum, and more.

Fig 21: Caster Wheel

XII. BREADBOARD:
A breadboard is a construction base for prototyping of electronics.
Originally it was literally a bread board, a polished piece of wood used for
slicing bread. In the 1970s the solderless breadboard (AKA plugboard, a
terminal array board) became available and nowadays the term
"breadboard" is commonly used to refer to these.
Because the solderless breadboard does not require soldering, it is reusable.
This makes it easy to use for creating temporary prototypes and
experimenting with circuit design. For this reason, solderless breadboards
are also extremely popular with students and in technological education.
Older breadboard types did not have this property. A stripboard (Veroboard)
and similar prototyping printed circuit boards, which are used to build semi-
permanent soldered prototypes or one-offs, cannot easily be reused. A
variety of electronic systems may be prototyped by using breadboards, from
small analog and digital circuits to complete central processing units
(CPUs).

39 | P a g e
Voice Controlled Wheelchair
Department of CSE

Fig 22: Breadboard

XIII. WIRES AND JUMPER WIRES

A wire is a single, usually cylindrical, flexible strand or rod of metal. Wires


are used to bear mechanical loads or electricity and telecommunications
signals. Wire is commonly formed by drawing the metal through a hole in a
die or draw plate. Wire gauges come in various standard sizes, as expressed
in terms of a gauge number. The term wire is also used more loosely to refer
to a bundle of such strands, as in "multistranded wire", which is more
correctly termed a wire rope in mechanics, or a cable in electricity.

Wire comes in solid core, stranded, or braided forms. Although usually


circular in cross-section, wire can be made in square, hexagonal, flattened
rectangular, or other cross-sections, either for decorative purposes, or for
technical purposes such as high-efficiency voice coils in loudspeakers.
Edge-wound coil springs, such as the Slinky toy, are made of special
flattened wire.

40 | P a g e
Voice Controlled Wheelchair
Department of CSE

Fig 23: Wires

A jump wire (also known as jumper, jumper wire, jumper cable, DuPont wire, or
DuPont cable – named for one manufacturer of them) is an electrical wire or group of
them in a cable with a connector or pin at each end (or sometimes without them – simply
"tinned"), which is normally used to interconnect the components of a breadboard or
other prototype or test circuit, internally or with other equipment or components,
without soldering.

Individual jump wires are fitted by inserting their "end connectors" into the slots
provided in a breadboard, the header connector of a circuit board, or a piece of test
equipment

Fig 24: Jumper wires.

41 | P a g e
Voice Controlled Wheelchair
Department of CSE

3.1.3 SOFTWARE SPECIFICATIONS

ARDUINO IDE:

The Arduino Integrated Development Environment - or Arduino Software


(IDE) - contains a text editor for writing code, a message area, a text console, a
toolbar with buttons for common functions and a series of menus. It connects to
the Arduino and Genuino hardware to upload programs and communicate with
them.

After learning about the main parts of the Arduino UNO board, we are ready to
learn how to set up the Arduino IDE. Once we learn this, we will be ready to
upload our program on the Arduino board.

Step 1: First you must have your Arduino board (you can choose your favorite
board) and a USB cable. Here in case of Arduino UNO, we need a standard
USB cable (A plug to B plug), the kind you would connect to a USB printer

Step 2: Download Arduino IDE Software.

You can get different versions of Arduino IDE from the Download page on the
Arduino Official website. You must select your software, which is compatible
with your operating system (Windows, IOS, or Linux). After your file download
is complete, unzip the file.

Step 3: Power up your board.

The Arduino Uno automatically draw power from either, the USB connection
to the computer or an external power supply..

Connect the Arduino board to your computer using the USB cable. The green
power LED (labeled PWR) should glow.

Step 4: Launch Arduino IDE.

42 | P a g e
Voice Controlled Wheelchair
Department of CSE

After your Arduino IDE software is downloaded, you need to unzip the folder.
Inside the folder, you can find the application icon with an infinity label
(application.exe). DoubleClick the icon to start the IDE.

After that we have to write our program in the Sketch.

Writing Sketches

Programs written using Arduino Software (IDE) are called sketches. These
sketches are written in the text editor and are saved with the file extension .ino.
The editor has features for cutting/pasting and for searching/replacing text. The
message area gives feedback while saving and exporting and also displays
errors. The console displays text output by the Arduino Software (IDE),
including complete error messages and other information. The bottom righthand
corner of the window displays the configured board and serial port. The toolbar
buttons allow you to verify and upload programs, create, open, and save
sketches, and open the serial monitor.

NB: Versions of the Arduino Software (IDE) prior to 1.0 saved sketches with
the extension .pde. It is possible to open these files with version 1.0, you will be
prompted to save the sketch with the .ino extension on save.

Verify
Checks your code for errors compiling it.
Upload
Compiles your code and uploads it to the configured
board. See uploading below for details.

Note: If you are using an external programmer with


your board, you can hold down the "shift" key on your
computer when using this icon. The text will change to
"Upload using Programmer"
New
Creates a new sketch.

43 | P a g e
Voice Controlled Wheelchair
Department of CSE

Open
Presents a menu of all the sketches in your sketchbook.
Clicking one will open it within the current window
overwriting its content.

Note: due to a bug in Java, this menu doesn't scroll; if


you need to open a sketch late in the list, use the File |
Sketchbook menu instead.
Save
Saves your sketch.
Serial Monitor
Opens the serial monitor.

Additional commands are found within the five menus: File, Edit, Sketch,
Tools, and Help. The menus are context sensitive, which means only those items
relevant to the work currently being carried out are available.

Fig 25: Arduino IDE

44 | P a g e
Voice Controlled Wheelchair
Department of CSE

3.2 FLOWCHARTS

45 | P a g e
Voice Controlled Wheelchair
Department of CSE

DFD (DATA FLOW DIAGRAMS)

A data flow diagram (DFD) is a graphical representation of the "flow" of data


through an information system, modelling its process aspects. A DFD is often
used as a preliminary step to create an overview of the system, which can later
be elaborated.
Level 0:-
User gives the input into the form of voice, this voice command is recognized
by the application. Then action is performed as per the command given.

Chair

46 | P a g e
Voice Controlled Wheelchair
Department of CSE

3.3 ALGORITHM

 When the application is opened at that time a request is generated if the


Bluetooth is not turned on.
 A connect virtual button is present which is used to connect the Android mobile
phone with the hardware Bluetooth HC-05 for wireless transmission of data.
 When the Bluetooth is switched on the application scans the input when the user
touches the virtual button.
 If the requirement is forward then all the dc motors are supplied with 5V and
moved in forward directions for linear movement.
 If the requirement is reverse then all the dc motors are supplied with 5V and
moved in backward directions for linear movement.
 If the requirement is to turn left then the left dc motors are stopped and the right
dc motors are supplied with 5V and the wheelchair moves in left direction.
 If the requirement is to turn right then the right dc motors are stopped and the
left dc motors are supplied with 5V and the wheelchair moves in right direction.
 If the stop virtual button is touched then all the dc motors are stopped.
 A help virtual button is also present in order to send an SOS message to the
concern person in case of any help.
 When the person reaches his/her destination at that time the disconnect virtual
button needs to be touched so that the wireless connection is turned off.

47 | P a g e
Voice Controlled Wheelchair
Department of CSE

3.4 WORKING
Arduino is the main processing unit of the robot. Out of the 14 available digital I/O
pins, 6 pins are used in this project design.

The ultrasonic sensor has 4 pins: Vcc, Trig, Echo and Gnd. Vcc and Gnd are
connected to the supply pins of the Arduino. Trig is connected to the 11th pin and
Echo is connected to 10th pin of the Arduino.

L293D is a 16 pin IC. Pins 1 and 9 are enable pins. They are connected to Vcc. Pins
2 and 7 are control inputs from microcontroller for first motor. They are connected
to pins 9 and 8 of Arduino respectively.

Similarly, pins 10 and 15 are control inputs from microcontroller for second motor.
They are connected to pins 4 and 3 of Arduino. Pins 4, 5, 12 and 13 of L293D are
ground pins and are connected to Gnd.

First motor (consider this as the motor for left wheel) is connected across the pins
3 and 6 of L293D. The second motor, which acts as the right wheel motor, is
connected to 11 and 14 pins of L293D.

The 16th pin of L293D is Vcc1. This is connected to 5V Vcc. The 8th pins is Vcc2.
This is the motor supply voltage. This can be connected anywhere between 4.7V
and 36V. In this project, pin 8 if L293D is connected to 9V supply.

Motor Driver boards are available with on – board 5V voltage regulator. A similar
one is used in the project.

48 | P a g e
Voice Controlled Wheelchair
Department of CSE

It is important to understand how the ultrasonic sensor works. The basic principle
behind the working of ultrasonic sensor is as follows:

Using an external trigger signal, the Trig pin on ultrasonic sensor is made logic high for
at least 10µs. A sonic burst from the transmitter module is sent. This consists of 8 pulses
of 40KHz.

The signals return back after hitting a surface and the receiver detects this signal. The
Echo pin is high from the time of sending the signal and receiving it. This time can be
converted to distance using appropriate calculations.

The aim of this project is to implement an obstacle avoiding robot using ultrasonic
sensor and Arduino. All the connections are made as per the circuit diagram. The
working of the project is explained below.

When the robot is powered on, both the motors of the robot will run normally and the
robot moves forward. During this time, the ultrasonic sensor continuously calculate the
distance between the robot and the reflective surface.

This information is processed by the Arduino. If the distance between the robot and the
obstacle is less than 15cm, the left wheel motor is reversed in direction and the right
wheel motor is operated normally.

This will rotate the robot towards right. This rotation continues until the distance
between the robot and any obstacle is greater than 15cm. The process continues forever
and the robot keeps on moving without hitting any obstacle.

Connect Motor Motor Shield


To control a motor using the Arduino Motor Shield, first plug the motor's positive (red)
wire into Channel A's + terminal on the motor shield, and the motor's ground (black)
wire into Channel A's - terminal on the shield.
An external power supply is not always necessary, but it drastically improves the
motor's performance. It is recommended that you always use one.
To connect your external power supply, connect the positive (red) wire from the power
supply to the "Vin" terminal, and the ground (black) wire to the "GND" terminal.

 9v Battery connect to the Motor Shield


 Left Motor connect to M2 on the Motor Shield

49 | P a g e
Voice Controlled Wheelchair
Department of CSE

 Right Motor connect to M1 on the Motor Shield

Setup Bluetooth Module

 Now connect Bluetooth module to Arduino


 Vcc to 5v
Gnd to Gnd
 Tx to Rx
 Rx to Tx
 State to A0 pin
 Note: unplug Tx Rx connections when programming Arduino board.

Ultrasonic Sensor

Vcc to 5v

Gnd to Gnd

Tring to Arduino 3 pin

Echo to Arduino 2 pin

Applications

 Obstacle avoiding robots can be used in almost all mobile robot navigation
systems.

 They can be used for household work like automatic vacuum cleaning.

 They can also be used in dangerous environments, where human penetration


could be fatal.

50 | P a g e
Voice Controlled Wheelchair
Department of CSE

3.5 CODES FOR CONTROLLING MODULES

1) Code for controlling DC Motors through Motor Shield:


we have to include library of AFMotor first for the Motor Shield

#include <AFMotor.h>
AF_DCMotor motor(2, MOTOR12_64KHZ); // create motor #2, 64KHz pwm

void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println("Motor test!");
motor.setSpeed(150); // set the speed to 200/255
}

void loop() {
Serial.print("tick");
motor.run(FORWARD); // turn it on going forward
delay(2000);
Serial.print("tock");
motor.run(BACKWARD); // the other way
delay(2000);
Serial.print("tack");
motor.run(RELEASE); // stopped
delay(1000);
}

51 | P a g e
Voice Controlled Wheelchair
Department of CSE

2) Code for Bluetooth Module HC-05

Connections

#include <SoftwareSerial.h>

SoftwareSerial Genotronex(10,11);

int ledpin=13;

int BluetoothData;

void setup()

Genotronex.b

egin(9600);

Genotronex.println("Bluetooth On please press 1 or 0 blink LED");

pinMode(ledpin,OUTPUT);

52 | P a g e
Voice Controlled Wheelchair
Department of CSE

void loop()

if(Genotronex.available())

BluetoothData=Genotronex.read();

if(BluetoothData=='1')

digitalWrite(ledpin,1);

Genotronex.println("LED On D13 ON!");

if(BluetoothData=='0')

digitalWrite(ledpin,0);

Genotronex.println("LED On D13 Off!");

delay(100);

53 | P a g e
Voice Controlled Wheelchair
Department of CSE

3) Code for Ultrasonic Sensor

Connection

//Libraries

#include "Ultrasonic.h"

//Define pins ultrasonic(trig,echo)

Ultrasonic ultrasonic(A0,A1);

//Variables

int distance;

void setup() {

Serial.begin(9600);

void loop()

distance = ultrasonic.Ranging(CM); //Use 'CM' for centimeters or 'INC' for


inches

54 | P a g e
Voice Controlled Wheelchair
Department of CSE

//Print distance...

Serial.print("Object found at: ");

Serial.print(distance);

Serial.println("cm");

//every 1sec.

delay(1000);

Note:
 ultrasonic.Ranging(CM) will return distance from an object to centimeters
 ultrasonic.Ranging(INC) will return distance from an object to inches
 ultrasonic.Timing() will return the time (ms) where the signal took to return
from the object

55 | P a g e
Voice Controlled Wheelchair
Department of CSE

Main Code
#include <AFMotor.h> //Adafruit Motor Shield Library. First you
must download and install AFMotor library
#include <Servo.h> //Servo library. This is standard library. (Sketch ->
Include Library -> Servo)
String voice;

AF_DCMotor motor1 (1, MOTOR12_1KHZ); //create motor #1 using M1


output on Motor Drive Shield, set to 1kHz PWM frequency
AF_DCMotor motor2 (2, MOTOR12_1KHZ); //create motor #2 using M2
output on Motor Drive Shield, set to 1kHz PWM frequency
Servo myServo; //define servo name
int LED1 = A0; //define LED 1 pin
int LED2 = A1; //define LED 2 pin
int buzzerPin = A2; //define buzzer pin

void setup()
{
Serial.begin(9600); //start serial communication
myServo.attach(10); //define our servo pin (the motor shield servo1 input =
digital pin 10)
myServo.write(90); //servo position is 90 degrees
pinMode(LED1, OUTPUT); //A0 is output pin
pinMode(LED2, OUTPUT); //A1 is output pin
pinMode(buzzerPin, OUTPUT); //A2 is output pin
}

void loop()
{
while (Serial.available()){ //Check if there is an available byte to read
delay(10); //Delay added to make thing stable

56 | P a g e
Voice Controlled Wheelchair
Department of CSE

char c = Serial.read(); //Conduct a serial read


if (c == '#') {break;} //Exit the loop when the # is detected after the word
voice += c; //Shorthand for voice = voice + c
}
if (voice.length() > 0){
if(voice == "*go ahead"){
forward_car();
}
else if(voice == "*go back"){
back_car();
}
else if(voice == "*turn right") {
right_car();
}
else if(voice == "*turn left") {
left_car();
}
else if(voice == "*turn on light") {
LED_on();
}
else if(voice == "*turn off light") {
LED_off();
}
else if(voice == "*buzzer") {
buzzer_on();
}
else if(voice == "*stop") {
stop_car();
}

57 | P a g e
Voice Controlled Wheelchair
Department of CSE

voice=""; //Reset the variable after initiating


}
}

void forward_car()
{
motor1.run(FORWARD);
motor1.setSpeed(170);
motor2.run(FORWARD);
motor2.setSpeed(170);
delay(2000);
motor1.run(RELEASE);
motor2.run(RELEASE);
}

void back_car()
{
motor1.run(BACKWARD);
motor1.setSpeed(170);
motor2.run(BACKWARD);
motor2.setSpeed(170);
delay(2000);
motor1.run(RELEASE);
motor2.run(RELEASE);
}

void right_car()
{
myServo.write(0);
delay(1000);

58 | P a g e
Voice Controlled Wheelchair
Department of CSE

myServo.write(90);
delay(1000);
motor1.run(FORWARD);
motor1.setSpeed(170);
motor2.run(BACKWARD);
motor2.setSpeed(170);
delay(1000);
motor1.run(RELEASE);
motor2.run(RELEASE);
}

void left_car()
{
myServo.write(180);
delay(1000);
myServo.write(90);
delay(1000);
motor1.run(BACKWARD);
motor1.setSpeed(170);
motor2.run(FORWARD);
motor2.setSpeed(170);
delay(1000);
motor1.run(RELEASE);
motor2.run(RELEASE);
}

void LED_on ()
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);

59 | P a g e
Voice Controlled Wheelchair
Department of CSE

void LED_off ()
{
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
}

void buzzer_on ()
{
tone(buzzerPin, 100);
delay(800);
noTone(buzzerPin);
}

void stop_car ()
{
motor1.run(RELEASE);
motor2.run(RELEASE);
}

60 | P a g e
Voice Controlled Wheelchair
Department of CSE

4. RESULTS / SCREEN SHOTS

4.1 RESULT:
 The project was tested for the movement of the wheel chair using trained
voice after the design and development of the self-automated wheel chair
with its various interfacing units.
 On the basis of two important aspects, firstly, on the accuracy of the voice
system and secondly, wheelchair velocity by means of control commands
this design is experimented. This would be implemented for disabled
people. Firstly the voice recognition system will be tested in a quiet room
with only one single user. Every word was correctly recognized.
 For a next time we will test it with a different user on whom the system was
not trained .For example words like “right” were recognized as “write” in
this way about 5% errors occurred in this case.
 This was because the recognizer heard a different pronunciation. However,
after the user had to speak the word a number of times the system had
enough examples and properly determined what pronunciation the user
speak of the word.
 After this system was tested in a noisy room by turning on some music in
that room. There was no problem in correctly recognizing the words when
the music was light but the recognizer found it difficult to recognize the
user’s voice when we turned the volume high and often took commands
from what it heard in the song.

61 | P a g e
Voice Controlled Wheelchair
Department of CSE

4.2 SCREEN SHOTS:

1) Using Arduino UNO

62 | P a g e
Voice Controlled Wheelchair
Department of CSE

2) Using L293D Motor Shield

63 | P a g e
Voice Controlled Wheelchair
Department of CSE

3) Connecting Motor Shield with Arduino

64 | P a g e
Voice Controlled Wheelchair
Department of CSE

4) Program through Arduino IDE

65 | P a g e
Voice Controlled Wheelchair
Department of CSE

5) Connecting HC-05 Bluetooth Module

66 | P a g e
Voice Controlled Wheelchair
Department of CSE

6) Connecting Ultrasonic Sensor HC-SR-04

67 | P a g e
Voice Controlled Wheelchair
Department of CSE

7) Connecting DC Motors and Battery and power booster to dc motors

68 | P a g e
Voice Controlled Wheelchair
Department of CSE

5. CONCLUSIONS

 By using an Android app & voice recognition we have successfully designed


and implemented a motorized wheelchair. For most of the commands (over
95%) the voice recognition system worked.
 The system did not recognize it, only when a word was not properly vocalized.
However, for a fool proof backup in this case the joystick can always be used.
 The project implementation will help all the people who are dependent on
wheelchair for their mobility.
 All the common man can reach out for this smart wheelchair to become
independent for mobility if they hold a smart phone.
 Wheelchair is simple to operate and does not need any external help.

69 | P a g e
Voice Controlled Wheelchair
Department of CSE

6. REFERENCES

[1] “Android Based Mobile Drive System” by Dr. Sheilfali Gupta, Anand Bansal,

Deeksha, Harshdeep Singh, Janender Bansal “International Journal of

Electronics & Computer Science Engineering” Volume 3.

[2] “Touch Screen Based Wheelchair System” by Vasundhara G.Posugade, Komal

K.Shedge,Chaitali S.Tikhe “International Journal Of Engineering Research

and Applications ” Volume 2, Issue 2, MarApr-2012.

[3] “Voice operated wheelchair” by Jayesh K.Kokate,A.M.Agarkar ”international

Journal of research in engineering and technology” Volume 3,Issue 2,Feb

2014.

[4] Basics of developing android application on

http://developer.android.com/training/basics/

[5] Android Programmers Guide by Jerome DiMarzio.

70 | P a g e
Voice Controlled Wheelchair

You might also like