Wheelchair Important
Wheelchair Important
BACHELOR OF TECHNOLOGY IN
ELECTRONICS AND COMMUNICATION ENGINEERING
Submitted by
ASSISTANT PROFESSOR
i
ACKNOWLEDGMENT
We would like to express our deep gratitude to our project guide Mr. N.Ram Kumar
Assistant Professor, Department of Electronics and Communication Engineering,
ANITS, for his guidance with unsurpassed knowledge and immense encouragement.
We are grateful to Dr. B.Jagadeesh, Head of the Department, Electronics and
Communication Engineering, for providing us with the required facilities for the
completion of the project work.
We are very much thankful to the Principal and Management, ANITS, Sangivalasa,
for their encouragement and cooperation to carry out this work.
We would like to thank our parents, friends, and classmates for their encouragement
throughout our project period. At last, but not the least, we thank everyone for
supporting us directly or indirectly in completing this project successfully.
PROJECT STUDENTS
iii
ABSTRACT
This project is intended to help the elderly and those with physical limitations
who are unable to move on their own due to frailty. The goal of this work is to design
and implementation of health monitoring and alerting smart wheel chair for physically
disabled people. The designed wheelchair can be operated by using voice commands
via the provided input. The wheelchair that was designed includes an automatic obstacle
detection system that uses ultrasonic sensors. If the person is in fire accident the sensor
detects the fire using flame sensor module and send notifications to the guardians. This
wheel chair will also monitor the health condition of the person like heart rate, internal
body temperature and blood oxygen level. For the purpose of determining heart rate
and blood oxygen levels, we incorporate a MAX30100 pulse oximeter heart rate sensor.
The interior body temperature can be determined with an LM35 sensor. If the pulse and
temperature are not in normal conditions it will send notifications and alerts their
caretakers using blynk app. The person in the wheel chair can automatically control the
room appliances by the commands provided by the user through voice recognition
module by transmitter and receiver. Therefore, the evolved health monitoring and
alerting smart wheelchair can help physical disabled and older people.
Keywords— LM35 sensor, Flame sensor, Ultrasonic sensor, Voice recognition module,
Pulse Oximeter and Heartrate sensor
iv
CONTENTS
CHAPTER 1 INTRODUCTION 1
1.1 Introduction 2
2.20 DC Motors 18
v
CHAPTER 3 METHODOLOGY 22
CHAPTER 5 RESULT 38
5.1 Result 39
6.1 Conclusion 43
REFERENCES 44
APPENDIX(CODE) 47
CONFERENCE 61
vi
LIST OF FIGURES
vii
LIST OF TABLES
viii
CHAPTER 1
INTRODUCTION
1
1.1 INTRODUCTION
The information above suggests that people with impairments have a big need
for wheelchairs. The need for wheelchairs is essential for their comfort and to make life
simpler. We are recommending a smart wheelchair that monitors health and sends alerts
in light of the issues experienced by people with disabilities.
This project’s goal is to use voice control to steer a wheelchair. It allows people
who are unable to move their hands or legs to get around on their own by using a voice
recognition system. This project aims to use voice control to steer a wheelchair. It
makes it feasible for people who are unable to move their hands or legs to move around
on their own by employing voice recognition software coupled with motors to facilitate
mobility as much as possible.
2
In contrast to manual wheelchairs, this one can be driven by the user via voice
commands. Moreover, voice-controlled wheelchairs operate far more quickly than
manual and joystick wheelchairs. Those who are unable to move their hands can utilise
this wheelchair. The voice recognition system processes the received voice, extracting
the voice command's feature, and compares it to a sample already present in the
database. The module transmits control messages to the microcontroller after
identifying the voice. Wheelchairs can move in several directions, including forward,
back, left, and right.
Also, the wheel chair will be embedded with flame sensor which will detect fire
accidents. The wheel chair also has health monitoring system which monitors the blood
oxygen levels, heart rate, temperature. And the person in wheel chair can also control
the appliances which are connected by giving voice commands to voice recognition
module. Even it is a voice-controlled wheelchair when something suddenly comes
across the wheelchair path the person may not speak suddenly so we are using obstacle
detection with the help of ultrasonic sensor.
Until the user is capable of doing the task, the obstacle sensor will aid the rider
navigate the wheelchair by avoiding object which are in the way of wheelchair. The
speech command we give the voice recognition model is person-dependent, much like
the voice command itself.
The system consists of transmitter and receiver. Function keys helps to store the
voice commands in the data base. This wheelchair will automatically recognize the
object which is in its way and it will automatically stop.
One of the drawbacks of the smart wheel chairs is they have highest price when
comparing with the manual wheel chair.so we are commercializing the product with
good price estimation.
3
1.2 PROBLEM IDENTIFICATION
The wheelchairs on the market are too pricey and out of the grasp of families
from lower- and middle-class backgrounds. We are developing a wheelchair that will
be inexpensive and versatile. This project intends to improve the lives of old and
disabled persons who are unable to move properly and make life easier for them.
We concentrate on helping those who are incapable of moving even their hands.
We therefore suggest a voice-activated smart wheelchair that can not only move in the
direction that is commanded by the user but also avoid impediments in the way of the
intended path.
It is hard for the disabled persons to control the electrical appliances as their
hands are not functional, with the help of this smart wheel chair we are enabling a
function where the disabled person can also control the appliances just with the help of
voice.
We have incorporated a flame sensor so that it can detect whenever that person
is caught under the circumstances of a fire since it can be tough for that person to move
in the case of emergency fire mishaps. Along with that, we are also incorporating a
healthcare system that monitors a person's body temperature, heart rate, and blood
oxygen level while providing a daily update to the Guardian.
4
1.3 OBJECTIVES OF THE PROJECT
1. To develop a voice-controlled wheel chair system by using visual basic for wheel
chair control.
2.To implement a wheel chair whose movement is controlled by the voice commands.
3.Providing the service by the help of this wheelchair for people who are unable to
control their hands as well as legs.
4.Providing the facilities to control the room appliances by the disabled person.
6.We are placing flame sensor so this wheel chair indicates when the person stuck in
the fire accidents.
The aspects of this type of problem are incredibly complicated and change with
time. We reviewed several related articles to find the most efficient and effective
solution. The key things in study are summarized below.
Design and development of a smart wheelchair for the disabled people. It was proposed
by Foez Ahmed et al [8]. This study presents a wheelchair that incorporates primarily
two types of control systems: control by thumb and control by gesture. The user can
select their preferred control system from the user menu. They can navigate the menu
with their thumbs, but it is inaccessible to people who have lost their arms.
5
Other features which will include the ability to communicate with anyone whose
contact information is stored in the system, such as family, police, or healthcare
facilities, by using the gesture sensor.
Smart Wheel Chair. It was proposed by Sarmad Hameed et al [1]. In this model, the
individual can operate the wheel chair with hand gestures via smartphone. However, if
indeed the person is unable to move their hand, this method is ineffective.
6
CHAPTER 2
HARDWARE DESCRIPTION
7
2.1 ARDUINO
8
Digital Pins 2-13
Reset Button - S1
Analog in Pins 0-5
Power and Ground Pins
External Power Supply In (9-12VDC)
USB (used for uploading sketches to the board and for serial communication
between the board and the computer; can be used to power the board)
3. External power supply or 9V battery (for stand-alone operation). Rather than being
powered by a USB connection to a computer, the board is powered by a battery.
4. External circuits are built on a breadboard, and connections are made with solid wire.
9
Fig 2.2 NODE MCU
10
On V3, voice commands are organised into one sizable group that resembles a library.
Any of the seven voice commands available in the library might be loaded into
recognizer. This indicates that seven commands are in use simultaneously.
Parameters:
Voltage: 4.5-5.5V
Current: <40mA
Digital Interface: 5V TTL level for UART interface and GPIO
Analog Interface: 3.5mm mono-channel microphone connector + microphone
pin interface
Size: 31mm x 50mm
Recognition accuracy: 99% (under ideal environment)
11
2.4 ULTRASONIC SENSOR
As their name suggests, ultrasonic sensors measure distance using ultrasonic waves.
The sensor head emits an ultrasonic wave and then picks up the reflected wave from
the target. Ultrasonic sensors determine the distance to the target by measuring the
interval between the emission and reception of sound waves.
Distance L = 1/2 × T × C
where L stands for length, T for the interval between emission and reception, and C for
the sound speed. T is the amount of time needed to travel the distance and return, hence
the value is split by half.
12
2.5 BREADBOARD
Usually, the board is connected to a power supply using the two bigger wires that run
along either side. They are frequently referred to as power rails.
Circuit components are made from of smaller segments of wire that run perpendicularly
across the board
13
2.6 LM35 SENSOR
A temperature sensor called the LM35 produces an analogue output proportional to the
ambient temperature. It is simple to convert the output voltage to a temperature value
in degrees Celsius. Compared to thermistors, the lm35 has the benefit of not requiring
external calibration. Additionally, the covering prevents it from overheating.
The LM35 can monitor temperatures between -55 and 150 degrees Celsius. When used
at the right temperature and humidity, the accuracy level is very high. The process of
converting the output voltage to degrees Celsius is similarly easy and clear.
The input voltage range for the LM35 is +4 to 30 volts. It uses about 60 microamperes
of current total.
14
2.7 FLAME SENSOR
The most sensitive sensor to ambient light is a flame sensor. As a result, this sensor
module is used in fire alarms. Flames and light from the light source with wavelengths
between 760 and 1100 nm are picked up by this sensor. High temperatures can easily
harm this sensor. This sensor can therefore be positioned at a particular distance from
the flame. Flame detection is possible at a distance of 100 cm with a detection angle of
600. This sensor can produce either an analogue or digital output. These sensors serve
as a flame alert in firefighting robots.
The pin arrangement for this sensor is displayed below. These are the four pins that
are included with it. The pins are connected to a microcontroller when this module is
used with one.
15
2.8 PULSE OXIMETER SENSOR(MAX30100)
MAX30100 features:
Here are some of the MAX30100 Heart Rate Oxygen Pulse Sensor's features and
specifications.
16
2.9 MOTOR DRIVER(L298N)
The mechanism that links the motor to the microcontroller is known as a motor driver.
This is because the voltage levels at which the motor and microprocessor work differ.
The microcontroller will use less power than the engine.
When connecting two devices that run at various current levels to a power supply
voltage, a motor driver module is necessary. A motor serves as a third component in
this scenario, ramping up or down the voltage supply.
Integrated circuits (ICs) make up the vast majority of motor drivers that are
commercially available. Driver motors come in a variety of forms, each with a unique
set of properties. The motor controller and motor driver ICs are connected by a H bridge
circuit.
Input pins:
These are the input pins for Motor A: IN1, IN2. These are used to regulate the rotational
direction of Motor A. Motor A starts to rotate in a particular direction when one of them
is HIGH and the other is LOW. If both inputs appear to be HIGH or LOW, Motor A
will stop
17
These are the input pins for Motor B: IN3, IN4. These are utilised to regulate the
rotating axis of Motor A. Motor A starts to rotate in a particular direction when one of
them is HIGH and the other is LOW. If both inputs are either HIGH or LOW, Motor A
will stop.
The L298n motor driver module uses the pulse width modulation technology to regulate
the rotational speed of a DC motor. A DC motor's speed can be managed by adjusting
its input voltage.
By sending a series of ON-OFF pulses, the Pulse Width Modulation (PWM) technique
calculates the median value supplied by the input voltage. The Duty Cycle, often known
as the relationship between average voltage and pulse width, is used to describe this
relationship.
The average voltage is applied to the DC motor (High Speed) when the duty cycle is
high, and the average voltage is applied to the DC motor (Low Speed) when the duty
cycle is low.
2.10 DC MOTOR
18
Fig 2.10 DC Motor
The RF transmitter uses its RF antenna to wirelessly transmit serial data after receiving
it. Between 1 and 10 Kbps are the available transmission rates. The RF receiver, which
utilises the same frequency as the transmitter, receives the transmitted data.
Since RF modules have more uses than IR, we employ them for data transmission and
reception. In order to send and receive data, the RF transceiver module will always
operate in pairs, requiring a transmitter and a receiver. Data can only be sent from one
end to the other, not the other way around, because a transmitter can only send data and
a receiver can only receive it.
19
Features of RF Module:
In order to connect two sites without soldering, jumper wires are simple wires with
connector pins on each end.
20
When using breadboards and other prototype tools, jumper wires are frequently utilised
to make changing a circuit a breeze.
Typically, there are three types of jumper wires: male-to-male, male-to-female, and
female-to-female. The wire's end point is where the difference exists.
Female ends are used to plug into items while male ends have a protruding pin and can
plug into objects. Jumper wires that connect two males are the most prevalent and often
utilised. Two breadboard ports must be connected using a male-to-male cable.
21
CHAPTER 3
METHODOLOGY
22
3.1 BLOCK DIAGRAM AND DESCRIPTION
Primary function of the project is to move the wheel chair using voice
commands. These are the four main functionalities of our project. To attain all these,
23
we will be using some sensors and modules which you can see in the figure.Voice
recognition module receives voice commands from the person in a wheelchair and
forwards them to the microcontroller. Before using this voice recognition module, we
have to train this with certain commands, other than these commands the module does
not take other commands.
A wheel chair's surroundings are detected using an ultrasonic sensor. Without the
user's command, the wheelchair will stop travelling if it detects any objects or
obstructions while it is in motion in order to prevent a collision. The temperature of the
individual seated in the wheelchair is measured using an LM35 sensor. With the aid of
the Blynk app, it will immediately alert the guardian if the temperature rises above a
certain level.
With voice commands he can control the room appliances like fan, light etc. Voice
recognition module receives the commands and forwards those to microcontroller, it
validates the commands and through RF Transmitter module it address those
commands to RF Receiver module which is connected to the appliances. It receives the
commands and act according to those commands.
Motor driver is bridge of the motors which are connected to the wheel chair to control
speed and direction. According to the user inputs the motors will rotate.
24
The L298n motor driver module uses the pulse width modulation method to regulate
the DC motor rotational speed. Using this method, a DC motor's speed can be adjusted
by changing the i/p voltage. By transmitting a series of ON-OFF pulses, the Pulse Width
Modulation technology modifies the input voltage’s average value. The Duty Cycle,
also known as the width of the pulses, determines how much voltage is present on
average. The average voltage is applied to the DC motor (High Speed) when the duty
cycle is higher, and (Low Speed) when the duty cycle is lower.
Flame sensors are utilised to find the flames. In case of any fire accidents if it detects
those flames, it automatically alerts the care taker or nearby fire station through a
message. The user's body temperature is determined using the LM35 temperature
sensor., and the pulse oximeter and heart rate sensor are used to measure the user's
blood oxygen and heart rate. If any of the parameters increases their threshold value it
alerts the care taker or nearby hospital with a message.
25
3.2 FLOW CHART FOR VOICE CONTROL
Start
valid
Micro controller
yes
Is voice
forward?
No
yes
Is voice
backward?
No
yes
Is voice,
right?
No
yes
Is voice
left?
No
yes Obstacle
detected by
Is voice ultra sonic?
Stop
stop?
No
RF module
Wheel chair movement
Is voice Turn on
turn on? appliance
Motors moves in
specified direction
RF module
26
3.3 FLOW CHART FOR HEALTH MONITORING
start
yes
Imbalance body
temperature
No
yes
Fire detected
No
yes
Imbalance heart
rate
No
yes
Imbalance
blood oxygen
levels
No
Node MCU
Node MCU
Blynk cloud
Blynk app
Text message to
guardian Shows values in mobile
stop
27
Flow chart for voice control description:
28
CHAPTER 4
SOFTWARE DESCRIPTION
29
4.1 ARDUINO IDE
The Arduino Uno, Arduino Mega, Arduino Leonardo, Arduino Micro, and
many other modules are available. Each has a microcontroller on the board that accepts
information in the form of code and has been programmed. Eventually, the primary
code, also referred to as a sketch, created on the IDE platform will produce a Hex File,
which is then transferred and uploaded into the board's controller.
The Arduino IDE is currently available in two versions: IDE 1.x.x and IDE 2.x.
The IDE 2.x is a significant improvement over the IDE 1.x.x in terms of speed and
power. It includes advanced coding and debugging features, as well as a more modern
editor and a more responsive interface.
The steps below will walk you through using the offline IDE (IDE 1.x.x or IDE
2.x):
30
1. Get the Arduino Software Development Kit (IDE) and install it:
Arduino IDE 1.x.x (Mac OS, Windows, Linux, Portable IDE for Windows
and Linux, chromeOS).
2. Connect your Arduino board to your device using the Arduino IDE version 2.x.
2. The message area displays errors and provides feedback, during saving and exporting
4. The text console displays error messages and other data from the Arduino Software
(IDE).
In the bottom right-hand corner of the window, the configured board and serial port are
shown
31
Let's try to make one of your boards blink once you've got everything set up!
6. Select the appropriate core and board. To do so, navigate to Tools > Board > Arduino
AVR Boards > Board. Make sure the board you're using is selected. If your board is
missing, go to Tools > Board > Boards Manager and add it.
7. Now, select the port to ensure the computer recognises your board. This is simple to
do by going to Tools > Port and selecting your board from the list.
8.Here is an example: select File > Examples > 01. Fundamentals > Blink.
9. By clicking the arrow in the top left corner it will be uploaded to your board. This
process takes a few seconds, and the board must not be disconnected during this time.
The message "Done uploading" will appear in the bottom output area, If the upload is
successful
10. When the upload is finished, the yellow LED on your board with a L next to it
should start blinking. By changing the delay number in the parenthesis to 100 and re-
uploading the Blink sketch, you can change the blinking speed. The LED should now
blink much more quickly.
1. A toolbar containing common function buttons as well as a series of menus. You can
verify programmes and upload programmes, create sketches, open sketches, and save
sketches, select your board and port, and launch the serial monitor using the toolbar
buttons.
2. Frequently used tools contained by sidebar. It allows you to quickly access board
managers, libraries, board debugging, and a search and replacement tool.
32
4. Console controls allow you to control the console's output.
5. The text output from the Arduino Software (IDE) will be displayed by text console,
such as error messages and other data.
Serial port and configured board are shown in the bottom right-hand corner of the
window.
Once you've completed your setup, let's attempt to make the board blink!
2. Choose the correct board and port. This is done through the toolbar. Make sure the
board you're using is selected. If you can't find your board, you can add it using the
board manager in the sidebar.
3. Here's an example: go to File > Examples > 01. Basics > Blink.
4. Click the arrow in the top left corner to upload it to your message board. The board
cannot be disconnected during this brief process, which takes place. The "Done
uploading" message will show up in the bottom output area if the upload was successful
5.When the upload is completed, the yellow LED on your board with the letter L next
to it should start blinking. By setting the parenthesis' delay value to 100 and uploading
the Blink sketch again, you can change the blinking speed. The LED should now blink
much more quickly.
33
Blynk is a no-coding app builder that enables us to prototype, deploy, and
manage integrated electronic equipment at any scale, from private work to millions of
products used by clients.
With Blynk, you can operate a motor or LED from your phone without having to
programme them. Both businesses and tech enthusiasts use the robust and scalable
Blynk tool.
Soil humidity can be monitored by phone in your vegetable garden and control the
irrigation or garage door. It can also be used to control smart furniture that learns from
your habits, to incorporate IoT and AI into traditional industrial goods like boiler, and
to improve the safety of the oilfields.
Blynk is free to use for individual use and prototyping. Selling subscriptions to
businesses looking to publish Blynk-powered applications for their products or services
generates revenue.
In this project, we use the blynk app for monitoring the blood oxygen level,
heart rate level and internal body temperature of the person sitting in the wheelchair.
Along with this we are using fire sensor in front of wheel chair so we should know
about the state of the fire sensor.
To stream all the things, we are designing the webpage according to the requirements.
34
• Begin by connecting all of these components to the Node MCU board.
We use,
1. MCU Node
2. Temperature sensor Lm35
3. Max30100(heart rate and pulse oximeter sensor)
4. Fire detector
• To begin, go to the Blynk website and sign up for a new account with your
email address. Log in to your account if you have one.
• Create a new project with Node MCU as the device and WIFI as the connection
type.
• Make a new template for this project and name it whatever you want.
• Now, select the data stream tab and, by clicking on new data streams, create
data streams for this project.
• Navigate to new data streams, then virtual pins, and name that data stream
before selecting a specific virtual pin after that give its ranging.
LM35 temperature sensor
Virtual pin > Name-Temperature > pin-V0 > Data Type- integer > Min-0
> Max- 60
Virtual pin > Name-Heart rate > pin-V0 > Data Type-Integer > Min-0 >
Max- 150
Virtual pin > Name-Blood Oxygen > pin-V1 > Data Type- integer > Min-0
> Max- 100
35
For fire sensor
Virtual Pin > Name-Fire alarm> pin-V1 > Data Type- integer >Min-
0>Max-1
Here we used two node mcu’s both the flame sensor and lm35 are connected to
a single node mcu and max30100 is connected to another node mcu. So, here
virtual pins are repeating.
Next, select the web dash board tab. Then, on the dash board, drag and drop
three gauge widgets and one LED widget.
Temperature, spo2(blood oxygen level), and pulse rate are all gauged.
The led is used for fire detection. If there is a fire, it will spread.
Next, in the widgets, click on the setting icons one by one and select the data
streams that we created earlier.
Finally, arrange these widgets however you want.
Now go to events, give the event a name like temperature, a type like warning,
a description, and turn on "send event to notification tab."
Add three more events for heart rate, blood oxygen levels, and fire.
Then, click the search icon to add a new device. Choose the template you
created earlier for this. Then we get the authentication code, which is used later
in the code.
First, download and install the Blynk app on your smartphone. Then, sign in to your
account and select the template we previously created.
Then, on the dashboard, click the "Setup Dashboard" button and add the Three Gauge
widgets and one LED widget. After that, arrange these widgets as desired.
Now, one by one, click on the widgets and select the data streams that we created in the
web dashboard
36
The Blynk Mobile dash board is now available.
Now, upload the code to the node mcu and test all of these parameters (heart rate,
temperature, spo2, and fire).
We will include some threshold values for all of these parameters in the code. If any
of these parameters exceeds the threshold value, we will be notified via email.
37
CHAPTER 5
RESULT
38
5.1 RESULT
This is the prototype of our project “health monitoring and alerting smart wheel chair
for physically disabled”.
The voice commands are key function of this wheelchair. we used four voice commands
for the movement of wheelchair as shown in table 1 and a stop command to halt the
wheelchair.
39
COMMAND LEFT MOTOR RIGHT MOTOR
Table 1: Commands used and directions for each motor either on clockwise or
anticlockwise
Fig 5.2 Blynk Applicat ion Interface Fig 5.3 Wheelchair Protot ype
40
We placed flame sensor in front of wheel chair and both the lm35 and flame sensor are
connected to single node Mcu. If there are any abnormalities means if the readings of
the sensors are above threshold value the notification will be sent to the guardian in the
form of email.
From the above figures we can see that fire is detected near wheel chair so led is on as
shown in fig 6.3 and notification is sent to guardian by blynk as shown in figure 6.4.
Similarly, it will send notifications if there are any abnormalities in person body like
heart rate, blood oxygen levels and temperature.
41
CHAPTER 6
CONCLUSION AND FUTURESCOPE
42
6.1 CONCLUSION
We target on the people who are unable to move even their hands. So, we are
proposing a voice controlled smart wheel chair which can not only move in a certain
instructed direction with the help of the voice but also can avoid obstacles in between
the original path. With the help of this smart wheel chair, we are enabling a function
where the disabled person can also control the appliances just with the help of voice. In
case of emergency fire accidents, it’s difficult for that person to move so we have
included flame sensor so that it can detect whenever that person is caught under the
circumstances of fire. With that we are also including Health care system which keeps
track of the person’s blood oxygen level, body temperature, Heart rate and gives update
to the Guardian daily. All of this should be accomplished at a cost that people and
organizations supporting them could still afford. We designed a health monitoring and
alerting smart wheel chair with all of these features in mind.
In future, we can add a feature which makes wheelchair to rotate specific angle
using voice command like turn left 45 degree, turn right 90 degree to be precise etc. For
the convenience of the patient the chair can be modified and can be implemented as a
chair cum bed. We can add brakes to the wheel chair, so that even he is any slope area
he can easily stop the wheel chair.
43
REFERENCES
44
REFERENCES
[1] Sarmad Hameed, Muhammad Hamza Shaukat, Abdur Rafay Khan, khwaja
Mobeenharoon,” SMART WHEEL CHAIR”, Department of Mechatronics
Engineering, Shaheed Zulfiqar Ali Bhutt Institute of Science and Technology
(SZABIST), University in Karachi, Pakistan
[3] John Benson, Steven Barrett,” Next generation autonomous wheelchair control”.
Electrical and Computer Engineering Department, University of Wyoming, 1000 E.
University Avenue, Laramie, WY 82071, USA. prince@uwyo.edu
[6] Mubdi-UI alam sajid, Md Feroz Mahmud, Imteaz Rahman, Saquib shahriar, Mim
Naz Rahman implemented “DESIGN OF INTELLIGENT WHEEEL CHAIR FOR
HADICAPPED PEOPLE CONDUCTING BY BODY MOVEMENT”. Department of
Mechatronics, RUET rajshahi University of Engineering and Technology, 2020.
[7] Mohammad Saad Amin, Syed Tahir Hussain Rizvi, Zaid Bin Faheem, Ammar
Liaqat, Sameer Malik implemented “SMART WHEEL CHAIR AN
IMPLEMENTATION OF VOICE AND ANDROID CONTROLLED SYSTEM”,
45
Department of Computer Engineering the University of Lahore, Lahore, Pakistan,
2021.
[8] Foez Ahmed, Robi Paul, Md. Mufassal Ahmad, Arif Ahammad, Showmik Singha
implemented “DESIGN AND DEVELOPMENT OF A SMART WHEEL CHAIR FOR
THE DISABLED PEOPLE” Department of Electrical & Electronic Engineering,
Shahjalal University of Science and Technology, Bangladesh, 2021.
[9] Krishna pal Tiwari, Mr.Kranti Kumar Dewangan, “Voice Controlled Autonomous
Wheel Chair” , Department Of Computer Science And Engineering,ITM – University,
School of Engineering and research, uparwara New Raipur, Raipur 492002 Chattisgarh,
India
[11] R.Posada Gomez, L.H.Sanchez Medel, “A Hand Gesture System Of Control For
An Intelligent Wheelchair”,Proc.ICEEE,P.68-71,5-7,sept.2007.
46
APPENDIX(CODE)
47
CODE USED IN TRANSMITTER SIDE OF ARDUINO
#include <SoftwareSerial.h>
#include "VoiceRecognitionV3.h"
#include <VirtualWire.h>
char *data;
int LeftMotorForward = 5;
int RightMotorForward = 7;
int LeftMotorBackward = 6;
int RightMotorBackward = 8;
int speed1;
const int trigPin = 10;
const int echoPin = 11;
long duration;
int distance;
/
Connection
Arduino VoiceRecognitionModule
2 -------> TX
3 -------> RX
*/
VR myVR(2,3); // 2:TX 3:RX, you can choose your favourite pins.
48
uint8_t buf[64];
49
Serial.print(buf[2], DEC);
Serial.print("\t\t");
if(buf[0] == 0xFF){
Serial.print("NONE");
}
else if(buf[0]&0x80){
Serial.print("UG ");
Serial.print(buf[0]&(~0x80), DEC);
}
else{
Serial.print("SG ");
Serial.print(buf[0], DEC);
}
Serial.print("\t");
Serial.print(buf[1], DEC);
Serial.print("\t\t");
if(buf[3]>0){
printSignature(buf+4, buf[3]);
}
else{
Serial.print("NONE");
}
Serial.println("\r\n");
}
void setup()
50
{
/ initialize */
myVR.begin(9600);
vw_set_tx_pin(12);
vw_setup(2000);
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT);
pinMode(LeftMotorForward, OUTPUT);
pinMode(RightMotorForward, OUTPUT);
pinMode(LeftMotorBackward, OUTPUT);
pinMode(RightMotorBackward, OUTPUT);
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorForward, LOW);
Serial.begin(115200);
Serial.println("Elechouse Voice Recognition V3 Module\r\nControl LED sample");
if(myVR.clear() == 0){
Serial.println("Recognizer cleared.");
}
else{
Serial.println("Not find VoiceRecognitionModule.");
Serial.println("Please check connection and restart Arduino.");
while(1);
}
if(myVR.load((uint8_t)forward) >= 0){
Serial.println("forward loaded");
}
51
if(myVR.load((uint8_t)backward) >= 0){
Serial.println("backward loaded");
}
if(myVR.load((uint8_t)right) >= 0){
Serial.println("right loaded");
}
if(myVR.load((uint8_t)left) >= 0){
Serial.println("left loaded");
}
if(myVR.load((uint8_t)stopp) >= 0){
Serial.println("stopp loaded");
}
if(myVR.load((uint8_t)turnon) >= 0){
Serial.println("turnon loaded");
}
if(myVR.load((uint8_t)off) >= 0){
Serial.println("off loaded");
}
}
void loop()
{
int ret;
ret = myVR.recognize(buf, 50);
52
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance = duration * 0.034 / 2;
if(distance <12){
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorForward, LOW);
}
if(ret>0){
switch(buf[1]){
case forward:
digitalWrite(RightMotorForward, HIGH);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(LeftMotorForward, HIGH);
digitalWrite(LeftMotorBackward, LOW);
53
break;
case backward:
digitalWrite(RightMotorForward, LOW);
digitalWrite(RightMotorBackward, HIGH);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(LeftMotorBackward, HIGH);
break;
case right:
digitalWrite(RightMotorForward, LOW);
digitalWrite(RightMotorBackward, HIGH);
digitalWrite(LeftMotorForward, HIGH);
digitalWrite(LeftMotorBackward, LOW);
break;
case left:
digitalWrite(RightMotorForward, HIGH);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(LeftMotorBackward, HIGH);
break;
case stopp:
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorForward, LOW);
break;
case turnon:
54
data="a";
vw_send((uint8_t *)data, strlen(data));
vw_wait_tx();
delay(500);
break;
case off:
data="b";
vw_send((uint8_t *)data, strlen(data));
vw_wait_tx();
delay(500);
break;
default:
Serial.println("Record function undefined");
break;
}
/** voice recognized */
printVR(buf);
}
}
55
CODE USED IN RECEIVING SIDE OF ARDUINO
#include <VirtualWire.h>
#define ledPin 6
void setup()
{
vw_set_rx_pin(11);
vw_setup(2000);
pinMode(ledPin, OUTPUT);
vw_rx_start();
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)){
if(buf[0]=='a')
{
digitalWrite(ledPin,HIGH);
}
else if(buf[0]=='b')
{
digitalWrite(ledPin,LOW);
}
}
}
56
CODE USED IN NODE MCU (LM35 AND FLAME SENSOR)
void loop() {
temp_val = (analogRead(A0) * (3.3/1023) * 80); /* Convert adc value to
equivalent voltage */
Serial.print("Temperature = ");
Serial.print(temp_val);
Blynk.virtualWrite(V0,temp_val);
Serial.print(" Degree Celsius\n");
57
if(temp_val > 29){
Blynk.email("test@gmail.com", "Alert", "temperature Detected!");
Blynk.logEvent("body_temperature","temperature Detected");
}
flame = digitalRead(flamepin);// read FLAME sensor
if(flame == LOW)
{
Serial.println("Fire! Fire!");
Blynk.email("test@gmail.com", "Alert", "fire Detected!");
Blynk.logEvent("fire_alarm","fire Detected");
led1.on();
}else{
Serial.println("Peace");
led1.off();
}
delay(2000);
Blynk.run();
}
58
CODE USED IN NODE MCU (MAX30100)
#define BLYNK_TEMPLATE_ID "TMPLaETIbBUq"
#define BLYNK_TEMPLATE_NAME "healths"
#define BLYNK_AUTH_TOKEN "FMwRwATmM7jR8J80wF8zqV20Si3OT5Ng"
#include <Wire.h>
#include "MAX30100_PulseOximeter.h"
#include <ESP8266WiFi.h>
#define BLYNK_PRINT Serial
#include <BlynkSimpleEsp8266.h>
59
pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA);
pox.setOnBeatDetectedCallback(onBeatDetected);
}
void loop() {
pox.update();
if (millis() - tsLastReport > REPORTING_PERIOD_MS)
{
int h = pox.getHeartRate();
Serial.print("Heart rate:");
Serial.print(h);
int b =pox.getSpO2();
Serial.print("bpm / SpO2:");
Serial.print(b);
Serial.println("%");
Blynk.virtualWrite(V0,h);
if(pox.getHeartRate()> 90){
Blynk.email("test@gmail.com", "Alert", "heart rate Detected!");
Blynk.logEvent("heart_rate","heart rate Detected");
}
Blynk.virtualWrite(V1, b);
if(pox.getSpO2()> 90){
Blynk.email("test@gmail.com", "Alert", "blood oxygen Detected!");
Blynk.logEvent("blood_oxygen","blood oxygen Detected");
}
Blynk.run();
tsLastReport = millis();
}
}
60
CONFERENCE
Punumajji Divya Sri, Attada Pavan Sadhguna, Sirukuri Avinash, Ravi kumar Kanuri, “
VOICE CONTROLLED SMART WHEEL CHAIR FOR PHYSICALLY
DISABLED PEOPLE “, International Conference on Advancement in Electronic
Systems and Communication Technologies(ICAESCT 2022), Department of
Electronics and Communication Engineering, Anil Neerukonda Institution of
Technology and Sciences(ANITS), Visakhapatnam, INDIA.
61
62
62