Академический Документы
Профессиональный Документы
Культура Документы
142
be the voice guidance and specific vibration will be the
output of the cane module as shown in Table II and Table
III.
TABLE
SMART HANDHELD DEVICE MODULE
Module Smart Handheld Device
Inputs - User Voice
- ON/OFF Button
- QR Code.
- Power
Outputs - Voice Instruction
- Bluetooth signal
Functionality The module will accept users voice instruction,
ON/OFF button and QR code as inputs. Then it
will process and it sends voice guidance as FIGURE 3
output. In addition, it will send some information MOBILE APPLICATION MODULE FLOWCHART
to Cane module through Bluetooth.
TABLE
CANE MODULE
Module Cane FIGURE 4
Inputs - Sensor QR MODULE FLOWCHART
- Bluetooth Signal
- Switch Voice Recognition Sequence Diagram
- Power Internet-based voice recognition engine is used to convert
Outputs - Vibration voice to text. The handheld device will receive and record
Functionality The Cane will receive signals from the sensor
and smart handheld device. Depending on the the voice instruction. Then, the recorded audio will be send
coming signal, the cane will produce a specific to Google server and the reply will return as a text
vibration. The switch is used to turn ON/OFF the conversion of the voice command. Figure 5 illustrates the
Cane.
operation of the voice recognition module.
Smart Handheld Device Module
Functional decomposition level 2 for the smart handheld
device is shown in Figure 2. The Activate module is
responsible for starting the voice recognition module which
will convert user voice to text and forward it to the
application module. The QR code module is used to detect
and capture the QR image and transforms it to text to the
application module.
Flowchart of Mobile Application Module
The mobile application waits for users instruction and voice
command. When the user gives the "Navigation command,
the system will ask the user to supply its current location FIGURE 5
either by voice or scanning a QR code. We assume the VOICE RECOGNITION SEQUENCE DIAGRAM
143
importance of the communication link to guide the user in smart handheld devices such as mobile phones. Therefore,
the correct path. Bluetooth is the selected communication method.
VI. Constraints Effects on System Design
Previously mentioned constrains forced the design towards
specific directions. Health and safety constraints forced the
designers to add a cane to the system to detect obstacles.
Cultural and social constrains resulted in adding extra
program functions to support Arabic language. Economic
FIGURE 6 constraints limited the selection of some components
COMMUNICATION LINK FLOWCHART
because the objective was to design a system affordable to
V. System Circuit Design students.
After describing the functionalities of major system
SYSTEM IMPLEMENTATION AND TESTING
modules, this section sheds some light on the selection
criteria of the components constituting the system. NavEye is the name of the designed blind guiding system.
Components Selection It consists of two main modules which are; the mobile
System requirements and constraints such as cost, accuracy application and a cane. This section will describe NavEye
and functionality should be considered when selecting implementation and Testing.
components. To do that, alternatives of every component are
VII. System Implementation
compared against each other to select the best option that
will satisfy the requirements and constraints. NavEye consists of two main modules; a mobile application
Microcontroller Selection on smart handheld device and a cane. Each module is
Many alternatives are available such as; AVR Atmega8 or separately implemented and tested. Bluetooth
Atmega tiny from Atmega Family. Atmega tiny has few communication technology is used to link both modules.
ports not sufficient to be used in our system. In addition, it Figure 7 shows the user interface of NavEye. Footpath
does not support serial communication such as RS232 and library is used to provide indoor navigation. The library was
SPI. Atmega 16 and 32 supports additional functionality and modified and extended to meet the project requirements.
extended ports. So, Atmel Atmega8 is a suitable choice.
Sensor Selection
There are two distance sensors alternative: Ultrasonic and
InfraRed (IR) sensor. IR sensors are affected by the
surrounding lighting and its range is limited compared to
ultrasonic sensors. In addition, ultrasonic sensors are more
accurate. Therefore, ultrasonic sensor is a suitable option for
the project needs.
Motor Selection
DC motor or stepper motor is needed to generate vibrations. FIGURE 7
NAVEYE USER INTERFACE
Stepper motor can rotate clock-wise or counter clock-wise in
a step of 18 degrees. Stepper motor needs 12 DC V which is
much larger than the voltage needed for DC motor (5-7 System Developing Tools
Volts). Stepper Motor provides functionalities that we dont Eclipse: is a development tool based on Java. Used in
need and consumes power greater than DC motor. multiple programming languages and it is one of the
Therefore, DC motor provides sufficient functionalities for common tools available to develop android mobile
the objectives of the project therefore it was chosen. application.
Communications Technology Selection JOSM (Java OpenStreet Map Editor): FootPath function
There are several options for the intermediate connection using an OpenStreet maps which is an open source map.
between the cane and the smart handheld device. Examples JOSM was used to draw and configure the paths for the
include, direct cable connection, Bluetooth and ZigBee. The navigation process.
cable is not easy to use because of impeding and controlling Voice Recognition Implementation
the movement of the blind person and both ends of cable Android operating system supports voice recognition online.
must be connected and the blind doesnt enjoy vision to do Offline voice recognition could be a desirable alternative
that easily which fell short with the ease of system usage because it doesnt require an Internet connection. By testing
requirement. On the other hand, ZigBee and Bluetooth give the offline voice recognition we found that the accuracy is
the user the freedom to move around compared to cable low compared to online voice recognition. Therefore,
connections. However, Bluetooth is more compatible with Google online voice recognition is used to achieve fast and
144
accurate voice to text recognition. An additional Class has representing the cane and simulated its operation using
been added to record the voice of the user and handle the Proteus simulation software and we observed the circuits
reply. The application depends on the resulted text to behaviour. Figure 11 shows the circuit layout and the
identify the users request. Therefore, we have tried to connection between different components in the cane.
recognize the same voice command and came up with
several possibilities and tried to match them with single
instruction to increase the reliability of the application.
QR Code Implementation
Many QR Code Reader implementations exists. Zxing
library is one of those implementations with the ability to be
embedded with other applications. QR Code reader is used
in two different scenarios: Reading QR code image of the FIGURE 8 FIGURE 9
starting point of the journey and checking the users current SNAPSHOT OF RECEIVING SMS SNAPSHOT OF CURRENT LOCATION
location by reading the nearest QR code. AT SENDER SIDE
Bluetooth Communication Implementation
Bluetooth is needed to establish a communication channel
between the smart handheld device and the cane. An extra
class has been created to handle the Bluetooth connection. It
contains three sub functions. Firstly, BTturn and it is used to
check whether the Bluetooth device of the smart handheld
device is ON or OFF. Secondly, BTConnect and it is used to
establish a connection with the cane. Finally, BTSend and it
is used to handle sending data process.
FIGURE 10
Emergency Situation
SNAPSHOTS OF COMMAND MATCHES
The worst case that may happen to a blind student is when
he/she gets lost while navigating from one point to another. Cane Implementation
The problem is to detect the current location during the The Cane is a central module in NavEye. In order to
navigation. The developed application can determine the implement the cane module, we must have general
starting location coordinates (latitude, longitude) and it can information about the components to be used and the
also keep track and update the location coordinates during connections. In this section, more details are shown on how
navigation. Therefore, we have added an extra feature as an the cane module was implemented. We designed the circuit
emergency solution. In case if the user is lost, he/she can representing the cane and simulated its operation using
supply help voice command which will initiate a phone Proteus simulation software and we observed the circuits
call and at the same time send SMS that contains the current behaviour. Figure 11 shows the circuit layout and the
location to a predefined phone number. Figure 8 shows a connection between different components in the cane.
snapshot of the received SMS that contains a link to Google The system contains sub modules that will be discussed
map to show the exact location of the user. Figure 9 shows below:
the map and pointer that point to the users location.
Atmel Atmega8 Microcontroller : Processing unit
Multi Language Support
Bluetooth Module : Receiver module
One of the cultural constraints is to support Arabic language.
3 Voltage Regulator: Voltage Divider.
In addition, the voice recognition results are not consistent
due to the errors occurring in the voice recognition process. DC motor: Vibration generator.
Therefore, there is a need for an extra feature to solve this The ultrasonic sensor HC-SR04 is connected to the
issue. Our solution is to add a dynamic dictionary that maps microcontroller through serial port. The microcontroller
the original command with other possibilities from voice triggers the sensor to send a pulse and run a timer at the
recognition and also match the original command to other same time. When an echo is received signal reflected by an
language words. Figure 10 shows a screenshot of commands object the timer will stop and time interval is obtained.
translated from English to Arabic. The user can issue a voice The Distance is calculated by knowing the time interval
command from any language he/she prefers. and using special formula (1) to calculate the distance as
Cane Implementation shown below:
The Cane is a central module in NavEye. In order to
implement the cane module, we must have general (1)
information about the components to be used and the
connections. In this section, more details are shown on how
the cane module was implemented. We designed the circuit
145
There are many traditional methods to help a blind person to
navigate. Today, technological methods are being used to
guide blind people. The objective of this project is to design
and prototype a navigation system to help blind student
navigate from and to classrooms. Different design
alternatives exist; however, an application on a handheld
device was the design choice that met our pre-defined
requirements and existing engineering constraints. The
system communicates with the user through voice command
and it can read QR Code to identify the current location. A
cane was developed to help the blind student avoid obstacles
and stay in the prescribed path. NavEye can be extended
FIGURE 11 in the future to permit synchronizing the application with the
CANE MODULE
student study timetable. At the beginning of the semester,
NavEye will identify the classes that have to be visited daily
by the blind student and automatically generate the
navigation path. We anticipate that NavEye will have a
positive impact on the society and will help blind students
navigate safely.
FIGURE 12
ACTUAL IMPLEMENTATION OF THE CANE
146