Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Impaired Person
Abstract
Numerous tools have recently made conspicuous changes in several domains. Blind
peoples feel precise difficult to identify their actual bus. They requisite other's help
to identify the bus. This project is developed for the blind peoples to identify their
bus through voice alert system using Zigbee. It consists of two modules called user
module and bus stand module. The microcontroller sends a data through zigbee
transducer. The other zigbee transducer connected in the bus stand module receives
the data and searches for the particular bus. Accordingly it sends the voice data
through transmitter. The receiver connected with the user module receives the voice
data. Thus the blind person hears the Bus information through voice. This project is
very useful for blind people to identify their bus in the bus stand. The microcontroller
used in this project is PIC 16F8777A. The microcontroller program is written in
assembly language.
Introduction
Buses play an important role for the transportation in all cities. For a majority of
blind and visually impaired persons, public transport is the only viable mobility
option to seek education, work and social connectivity. Out the 6.7 billion people
that populate the world, 161 million are visually impaired. Each visually impaired
individual faces different challenges based on their specific level of vision. With the
rise of various support-based organizations, more visually impaired people have
been given the opportunity to education and many other means. But still the issues
of navigation for the blind are very complex and troublesome especially when they
walked down in street and also navigate to distant places by public transport system.
For a visually impaired person, doing things such as reading traffic. Signals and
street signs can be extremely challenging, if not it is impossible to do.
Many documents have been available and much work has been done on this issue
yet this paper presents an all new and simple approach towards the design. Bus
Identification System for Visually Impaired Person, Next Generation Mobile
Applications, Services and Technologies, Passenger BUS Alert System for Easy
Navigation of Blind (NGMAST) has been referred. Many electronic devices have
already been developed and implemented in some areas to assist the blind people
like Sonic Guide, Mow at Sensor, Laser Cane and Nav belt. But all of them are to
assist them while pedestrian crossing and there hasn‘t been developed any successful
device to assist them boarding a bus.
In order to overcome these challenges, a visually impaired person might use walking
cane, guide dog, and sighted guide. These alternatives also called as assistive devices
can be helpful to the blind but not so effective. The sighted guide can be immensely
effective, as well provide social comfort, but it. Restricts the independence of the
blind individual. Guide dogs and walking canes allow for a more independent means
of travelling, but they are limited in unfamiliar environments.
When the signal sent by the blind person is match with bus no then bus transceiver
also give the status about the availability of the bus. if the bus is right the blind people
know the status with the speaker connected on receive side and if the bus is wrong
he also know the same from the speaker.
Literature Review
Many technologies have recently made noticeable changes in several domains. This
paper will shed the light on the field of transportation to improve the life quality of
visually impaired persons (VIPs) using some of these technologies such as Radio
Frequency identification (RFID) and wireless sensors network. Furthermore,
mechatronic system architecture and an appropriate design for its components will
be proposed. This system will allow VIPs to safely catch buses with the help of an
audio device and a tactile interface through a wireless communication system (Wi-
Fi) between the transmitter and the receiver. VIPs will have the opportunity to get
information about bus/transit stop locations and departure times or other transit
schedule information. The motivation behind this project is that buses are vital in
enabling blind people to participate fully in society, access to facilities and services.
Over the years, we have harnessed the power of computing to improve the
communicate anytime and anywhere, improving our work flow and increasing our
technologies. Once this happens, our roads and highways will be both our
commute, navigate, etc., in the coming future. This paper presents an overview of
the current state-of-the-art, discusses current projects, their goals, and finally
highlights how emergency services and road safety will evolve with the blending of
Disadvantages
1. It is not efficient
2. Ultrasonic sensors used to find the bus
3. More noise
Proposed System
This system will allow blind people to safely catch buses with the help of audio device, alarm and
a tactile interface through a wireless communication system between the transmitter and the
receiver. VIPs will have the opportunity to get information about bus arrival and departure time as
well as assist the bus operator to know the presence of a VIP on the road. Talking signs, guide
cane, echolocations are all useful in navigating the visually challenged people to reach their
destination, but the main objective is not reached that it fails to join them with traffic. In this project
we propose a bus system using wireless sensor networks (WSNs).The blind people in the bus
station is provided with a ZigBee unit which is recognized by the ZigBee in the bus and the
indication is made in the bus that the blind people is present in the station. So the bus stops at the
particular station. The desired bus that the blind want to take is notified to him with the help Single-
Chip Voice Recording & Playback Device. The blind gives the input about the place he has to
reach using keyboard .The input is then analyzed by the microcontroller which generates the bus
numbers corresponding to the location provided by the blind.
Block Diagram
Transmitter
Power
Supply
Zigbee
Voice
Module
Receiver
Power
Supply
Zigbee
Pic 16F877A LCD
Hardware Requirements
PIC Microcontroller
Zigbee
Keypad
Max232
LCD
Software Requirements
Keil C Compiler
Embedded C
LIST OF MODULES
MODULE 3: Zigbee
MODULE 4: Keypad
Block Diagram
The ac voltage, typically 220V rms, is connected to a transformer, which steps that
ac voltage down to the level of the desired dc output. A diode rectifier then provides
produce a dc voltage. This resulting dc voltage usually has some ripple or ac voltage
variation.
A regulator circuit removes the ripples and also remains the same dc value even if
the input dc voltage varies, or the load connected to the output dc voltage changes.
This voltage regulation is usually obtained using one of the popular voltage regulator
IC units.
TRANSFORMER
The potential transformer will step down the power supply voltage (0-230V) to (0-
6V) level. Then the secondary of the potential transformer will be connected to the
precision rectifier, which is constructed with the help of op–amp. The advantages of
using precision rectifier are it will give peak voltage output as DC, rest of the circuits
BRIDGE RECTIFIER:
When four diodes are connected as shown in figure, the circuit is called as bridge
rectifier. The input to the circuit is applied to the diagonally opposite corners of the
network, and the output is taken from the remaining two corners.
Let us assume that the transformer is working properly and there is a positive
potential, at point A and a negative potential at point B. the positive potential at point
IC VOLTAGE REGULATORS:
Voltage regulators comprise a class of widely used ICs. Regulator IC units contain
the circuitry for reference source, comparator amplifier, control device, and overload
protection all in a single IC. IC units provide regulation of either a fixed positive
voltage, a fixed negative voltage, or an adjustably set voltage. The regulators can be
selected for operation with load currents from hundreds of milli amperes to tens of
amperes, corresponding to power ratings from milli watts to tens of watts.
Fig 2.6 Circuit Diagram Of Power Supply
The series 78 regulators provide fixed positive regulated voltages from 5 to 24 volts.
Similarly, the series 79 regulators provide fixed negative regulated voltages from 5
to 24 volts.
For ICs, microcontroller, LCD --------- 5 volts
For alarm circuit, op-amp, relay circuits ---------- 12 volts
PIC Microcontroller
Introduction
The Central Processing Unit (CPU) is responsible for using the information in the program
memory (instructions) to control the operation of the device. Many of these instructions operate
on data memory. To operate on data memory, the Arithmetic Logical Unit (ALU) is required. In
addition to performing arithmetical and logical operations, the ALU controls status bits (which are
found in the STATUS register). The results of some instructions force status bits to a value
depending on the state of the result.
The machine codes that the CPU recognizes are show in Table.
The Mid-Range MCU instructions can be broken down into four general formats as shown
in Figure. As can be seen the opcode for the instruction varies from 3-bits to 6-bits. This variable
opcode size is what allows 35 instructions to be implemented.
The CPU can be thought of as the “brains” of the device. It is responsible for fetching the
correct instruction for execution, decoding that instruction, and then executing that instruction.
The CPU sometimes works in conjunction with the ALU to complete the execution of the
instruction (in arithmetic and logical operations).
The CPU controls the program memory address bus, the data memory address bus, and
accesses to the stack.
Instruction Clock
Each instruction cycle (TCY) is comprised of four Q cycles (Q1-Q4). The Q cycle time is
the same as the device oscillator cycle time (TOSC). The Q cycles provide the timing/designation
for the Decode, Read, Process Data, Write, etc., of each instruction cycle. The following diagram
shows the relationship of the Q cycles to the instruction cycle.
The four Q cycles that make up an instruction cycle (TCY) can be generalized as:
Each instruction will show a detailed Q cycle operation for the instruction.
Q Cycle Activity
PIC micro MCUs contain an 8-bit ALU and an 8-bit working register. The ALU is a general
purpose arithmetic and logical unit. It performs arithmetic and Boolean functions between the data
in the working register and any register file.
The W register is an 8-bit working register used for ALU operations. It is not an
addressable register.
Depending on the instruction executed, the ALU may affect the values of the Carry (C),
Digit Carry (DC), and Zero (Z) bits in the STATUS register. The C and DC bits operate as a borrow
bit and a digit borrow out bit, respectively, in subtraction. See the SUBLW and SUBWF
instructions for examples.
STATUS Register
The STATUS register, shown in Figure, contains the arithmetic status of the ALU, the
RESET status and the bank select bits for data memory. Since the selection of the Data Memory
banks is controlled by this register, it is required to be present in every bank. Also, this register is
in the same relative position (offset) in each bank
The STATUS register can be the destination for any instruction, as with any other register.
If the STATUS register is the destination for an instruction that affects the Z, DC or C bits, then
the write to these three bits is disabled. These bits are set or cleared according to the device logic.
Furthermore, the TO and PD bits are not writable. Therefore, the result of an instruction with the
STATUS register as destination may be different than intended.
For example, CLRF STATUS will clear the upper-three bits and set the Z bit. This leaves
the STATUS register as 000u u1uu (where u = unchanged).
It is recommended, therefore, that only BCF, BSF, SWAPF and MOVWF instructions are
used to alter the STATUS register because these instructions do not affect the Z, C or DC bits
from the STATUS register. For other instructions, not affecting any status bits, see Table.
Note 1:
Some devices do not require the IRP and RP1 (STATUS<7:6>) bits. These bits are not
used by the Section 5. CPU and ALU and should be maintained clear. Use of these bits as general
purpose R/W bits is NOT recommended, since this may affect upward code compatibility with
future products.
Note 2:
The C and DC bits operate as a borrow and digit borrow bit, respectively, in subtraction.
STATUS Register
Bit 7 IRP: Register Bank Select bit (used for indirect addressing)
For devices with only Bank0 and Bank1 the IRP bit is reserved, always maintain this bit clear.
Bit 6:5 RP1:RP0: Register Bank Select bits (used for direct addressing)
Each bank is 128 bytes. For devices with only Bank0 and Bank1 the IRP bit is reserved,
always maintain this bit clear.
Bit 1 DC: Digit carry/borrow bit (ADDWF ADDLW, SUBLW, SUBWF instructions) (for borrow the
polarity sreversed)
1 = A carry-out from the 4th low order bit of the result occurred
Note:
For borrow the polarity is reversed. A subtraction is executed by adding the two’s
complement of the second operand. For rotate (RRF,RLF ) instructions, this bit is loaded with
either the high or low order bit of the source register.
OPTION_REG Register
The OPTION_REG register is a readable and writable register which contains various
control bits to configure the TMR0/WDT prescaler, the external INT Interrupt, TMR0, and the weak
pull-ups on PORTB.
OPTION_REG Register
The Power Control (PCON) register contains flag bit(s), that together with the TO and PD
bits, allows the user to differentiate between the device resets.
Note 1:
BOR is unknown on Power-on Reset. It must then be set by the user and checked on
subsequent resets to see if BOR is clear, indicating a brown-out has occurred. The BOR status
bit is a don't care and is not necessarily predictable if the brown-out circuit is disabled (by clearing
the BODEN bit in the Configuration word).
Note 2:
It is recommended that the POR bit be cleared after a power-on reset has been
PCON Register
0 = A Power-on Reset occurred (must be set in software after a Power-on Reset occurs)
0 = A Brown-out Reset occurred (must be set in software after a Brown-out Reset occurs)
LCD DISPLAY
LCD stands for liquid crystal; this is a output device with a limited viewing
angle. The choice of LCD as an output device was Because of its cost of use and is
better with alphabets when compared with a 7-segment LED display. We have so
many kinds of LCD today and our application requires a LCD with 2 lines and 16
characters per line, this gets data from the microcontroller and displays the same. It
has 8 data lines, 3 control line, a supply voltage Vcc (+5v and a GND. This makes
the whole device user friendly by showing the balance left in the card. This also
shoes the card that is currently being used.
In recent years the LCD is finding widespread use replacing LED’s. This is
due to the following reasons:
While VCC and VSS provide +5v and ground respectively, VEE is used for
controlling LCD contrast.
There are two very important registers inside the LCD. The RS pin used for
their selection as follows. If RS=0, the instruction command code register is selected,
allowing the user to sent a command such as clear display, cursor at home ,etc .IF
RS=1 the data register is selected, allowing the user to sent data to be displayed on
the LCD.
R/W READ/WRITE
R/W input allows the user to write information to the LCD or read information
from it.
The enable pin is used by the LCD to latch information present to its data pins.
When data is supplied to data pins, a high to low pulse must be applied to this pin in
order for the LCD to latch in the data present at the data pins. This pulse must be a
minimum of 450ns wide.
D0-D7
The 8-bit data pins, D0-D7, are used to sent information to LCD or read the
contents of the LCD’s internal registers.
The LCD commands codes are as shown in table.4. To display letters and
numbers, we send ASCII codes for the letters A-Z, a-z, and numbers 0-9 to these
pins while making RS=1.
2 Return home
4 Decrement cursor
6 Increment cursor
LO
40
31 39 14 D B7
EA/VP P0.0 38 13 D B6
P0.1
19 37 12 D B5 VCC HI
X1 P0.2
P0.3
36 11 D B4 2 +5V
11.0592 35 10 D B3
P0.4
18 34 9 D B2 POT
X2 P0.5 33 8 D B1 V EE 10K
P0.6
1mf AT89S52 P0.7
32 7 D B0 3
2 1 9
RESET 21 6 EN V SS
P2.0 22 5 R/W 1
12 AT 89C52 P2.1 23 4 RS
13 INT0 P2.2 24
0 14 INT1 P2.3 25 0
15 T0 P2.4 26
T1 P2.5 27
1 P2.6 28
2 P1.0 P2.7
3 P1.1 17
P1.2 RD
4 16 L C D JH D 1 6 2 A
5 P1.3 WR 29
6 P1.4 PSEN 30
7 P1.5 ALE/P 11
8 P1.6 TXD 10
P1.7 RXD
20
0
Before you may really use the LCD, you must initialize and configure it. This
is accomplished by sending a number of initialization instructions to the LCD.
The first instruction we send must tell the LCD whether we'll be
communicating with it with an 8-bit or 4-bit data bus. We also select a 5x8 dot
character font. These two options are selected by sending the command 38h to the
LCD as a command. As you will recall from the last section, we mentioned that the
RS line must be low if we are sending a command to the LCD. The second byte of
the initialization sequence is the instruction 0Eh. Thus we must repeat the
initialization code from above, but now with the instruction. Thus the next code
segment is: The last byte we need to send is used to configure additional operational
parameters of the LCD. We must send the value 06h.
Thus, the first character in the upper left-hand corner is at address 00h. The
following character position (character #2 on the first line) is address 01h, etc. This
continues until we reach the 16th character of the first line which is at address 0Fh.
Thus we need to send a command to the LCD that tells it to position the cursor
on the second line. The "Set Cursor Position" instruction is 80h. To this we must add
the address of the location where we wish to position the cursor.
ZIgbee
ZigBee networking has a diverse range of applications, including but not limited to
home automation, inventory tracking, and healthcare. This chapter reviews a number
of the application scenarios in which ZigBee devices can increase efficiency and/or
reduce cost. Full ZigBee protocol implementation has the advantage of reliable mesh
networking capability. However, if the application is simple, it might be possible to
implement only IEEE 802.15.4 layers.
ZigBee-based wireless devices operate in 868 MHz, 915 MHz, and 2.4 GHz
frequency bands. The maximum data rate is 250 K bits per second. ZigBee is
targeted mainly for battery-powered applications where low data rate, low cost, and
long battery life are main requirements. In many ZigBee applications, the total time
the wireless device is engaged in any type of activity is very limited; the device
spends most of its time in a power-saving mode, also known as sleep mode . As a
result, ZigBee enabled devices are capable of being operational for several years
before their batteries need to be replaced. One application of ZigBee is in-home
patient monitoring. A patient’s blood pressure and heart rate, for example, can be
measured by wearable devices. The patient wears a ZigBee device that interfaces
with a sensor that gathers health-related information such as blood pressure on a
periodic basis. Then the data is wirelessly transmitted to a local server, such as a
personal computer inside the patient’s home, where initial analysis is performed.
Finally, the vital information is sent to the patient’s nurse or physician via the
Internet for further analysis.
Since no key in this row is closed there is no path for current through any of
the pull-up resistors and all 4 columns (on P1.4 to P1.7) are HIGH. Therefore, the
key pressed was not found while scanning row 1.The diagram below illustrates
scanning row 2.
The keypad is initialized in the main program; all rows are cleared. Therefore,
when a key is pressed, since all rows are LOW, then one of the columns (the one
containing the key that has been pressed) will be connected to 0 V. This logic 0 into
the AND gate will result in a logic 0 out. Since the output of the AND gate is
connected to INT0-bar, a key press will result in an external 0 interrupt.
If the first column is not 0, R0 is incremented (it now holds 1) and the next
column is tested. If it is 0 then key 1 was pressed and this value is in R0 - therefore
the keyFound flag is set and the subroutine returns.
This is repeated for all columns until the key is found.
The external 0 interrupt flag (IE0) is then cleared because it may have been
set as the key bounces and as we scanned the keyboard (remember, disabling an
interrupt does not prevent the interrupt from occurring - a 0 on INT0 will still set the
flag, IE0). If we did not clear this flag, once we again enable the external 0 interrupt
the system would again vector to key Pressed ISR.
KEIL SOFTWARE
The µVision2 IDE from Keil Software, combines project management, make
facilities, source code editing, program debugging, and complete simulation in one
powerful environment. µVision2 helps you get programs working faster than ever
while providing an easy-to-use development platform. The editor and debugger are
integrated into a single application and provide a seamless embedded project
development environment.
The device data base which automatically sets the assembler, compiler,
and linker options for the chip you select. This prevents you from wasting
your time configuring the tools and helps you get started writing code
faster.
A robust project manager which lets you create several different
configurations of your target from a single project file. Only the Keil
µVision2 IDE allows you to create an output file for simulating, an output
file for debugging with an emulator, and an output file for programming
an EPROM--all from the same Project file.
An integrated make facility with automatic dependency generation. You
don't have to figure out which header files and include files are used by
which source files. The Keil compilers and assemblers do that
automatically.
Interactive error correction. As your project compiles, errors and warnings
appear in an output window. You may make corrections to the files in your
project while µVision2 continues to compile in the background. Line
numbers associated with each error or warning is automatically
resynchronized when you make changes to the source.
2.8.1. 8051 C Compiler
ANSI C, full featured and portable, supporting all standard data types
Reliable - mature, embedded tools and technology
Unlimited number of source files
Multiple optimization levels
Comprehensive C library with all source code provided
Includes support for 32-bit IEEE floating point and 32-bit long data types
Mixed C and assembler programming
Listings showing generated assembler
Optimizing assembler
Full linker, with overlaying of local variables to minimize RAM usage
(small and medium models)
Compatible - integrates into the Cygnal IDE, Phyton IDE, and many 3rd-
party development tools
Runs on multiple platforms: Windows, Linux, and UNIX.
Conclusion
An interactive wireless communication aid system for the visually impaired to use
city buses was developed in this study. Using the ultra-high frequency radio waves,
we have shown implementing a system which will use the zigbee and reader setup
along with customized program that will help the blind in identifying exact bus.
Results of tests indicated that this system could help users to successfully board their
desired buses, using the interactive communication modules. Thus showing the
possibility of using the zigbee technology to help the blind.
Reference