Sei sulla pagina 1di 39

Bus recognition Method for Visually

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.

To overcome the drawbacks of currently available assistive devices, we propose a


Wireless sensor network system with ZigBee for blind identification by the bus and
embedded system for providing the bus number. the project basically consist of two
circuit one is bus circuit known as bus module and another one is the VIP person
digital assistant is the hand held device for the visually impaired person. The VIP
device consist of zigbee IC cc2500 is a transceiver device which is to transmit the
signal as well as receive. The audio IC APR 9600 which is the single chip voice
recording & playback Device 60 second duration, the keyboard for the input. The
bus module consist the zigbee transceiver device for transmit and receive the signal,
the LCD to show the presence of the blind people, so that the bus driver knows the
blind people status.

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.

Visually impaired people have difficulty accessing information about public


transportation systems. Several systems have been developed for assisting visually
impaired and blind people to use the city bus. Most systems provide only one-way
communication and require high-cost and complex equipment. The purpose of this
study is to reduce the difficulties faced by visually impaired people when taking city
buses, using an interactive wireless communication system. The system comprised
a user module and a bus module to establish a direct one-to-one connection. When
the user inputs 4-digit numbers, the user module immediately sends out the
information. If the bus module receives the matched bus number, it buzzes and the
warning LED flashes to notify the bus driver that someone is waiting to board on the
bus. User tests were conducted by two visually impaired people in a simulated
vehicle and a city bus. The success rate of interactive wireless communication,
recognizing the arrival of the bus and boarding the correct bus reached 100% in all
of the tests. The interactive wireless communication aid system is a valid and low-
cost device for assisting visually impaired people to use city buses.

EMERGENCY SERVICES IN FUTURE INTELLIGENT


TRANSPORTATION SYSTEMS BASED ON VEHICULAR
COMMUNICATION NETWORKS

AUTHOR: MARTINEZ, F.J. ; CHAI-KEONG TOH ; CANO, J.-C. ; CALAFATE, C.T.


; MANZONI, P.

Over the years, we have harnessed the power of computing to improve the

speed of operations and increase in productivity. Also, we have witnessed the

merging of computing and telecommunications. This excellent combination of two

important fields has propelled our capability even further, allowing us to

communicate anytime and anywhere, improving our work flow and increasing our

quality of life tremendously. The next wave of evolution we foresee is the

convergence of telecommunication, computing, wireless, and transportation

technologies. Once this happens, our roads and highways will be both our

communications and transportation platforms, which will completely revolutionize

when and how we access services and entertainment, how we communicate,

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

vehicular communication networks with road transportation.


Existing System
Several systems had been proposed for guiding blind people. Here, we will just mention the most
related ones to the theme of our system. One of these systems is a central announcement system
based on Bluetooth technology. In this system, Bluetooth devices are installed in both the bus and
the bus station which are connected to a processing subsystem. When a bus approaches the station,
the two Bluetooth devices of the bus and the station will connect to each other. After that, the bus
Bluetooth device will transmit a message containing bus information to the station’s processing
subsystem. The trans-mitted message will be read by a text to speech converter which is interfaced
with the processing subsystem in the bus station. Then, an announcement message that contains
the bus information will be generated through a speaker. But there are two disadvantages in this
system: it allows connection of only two devices at once and the connection between devices may
be lost under certain conditions.

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

Keypad Pic 16F877A

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 1: PIC Microcontroller

MODULE 2: LCD Module

MODULE 3: Zigbee

MODULE 4: Keypad

MODULE 5: Voice Module


POWER SUPPLY

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

a full-wave rectified voltage that is initially filtered by a simple capacitor filter to

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 RECTIFIER FILTER IC REGULATOR LOAD

Fig 5.3 Block Diagram of Power supply


WORKING PRINCIPLE:

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

will give only RMS output.

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

A will forward bias D3 and reverse bias D4.

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

A fixed three-terminal voltage regulator has an unregulated dc input voltage, Vi,


applied to one input terminal, a regulated dc output voltage, Vo, from a second
terminal, with the third terminal connected to ground.

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

Microcontroller PIC16F877A is one of the PIC Micro Family microcontroller which


is popular att his moment, start from beginner until all professionals. Because very
easy using PIC16F877A and use FLASH memory technology so that can be write-
erase until thousand times. The superiority this Risc Microcontroller compared to
with other microcontroller 8-bit especially at a speed of and his code compression.
PIC16F877A have 40 pin by 33 path of I/O.PIC16F877A perfectly fits many uses,
from automotive industries and controlling home appliances to industrial
instruments, remote sensors, electrical door locks and safety devices. It is also ideal
for smart cards as well as for battery supplied devices because of its low
consumption. EEPROM memory makes it easier to apply microcontrollers to
devices where permanent storage of various parameters is needed (codes for
transmitters, motor speed, receiver frequencies, etc.). Low cost, low consumption,
easy handling and flexibility make PIC16F877A applicable even in areas where
microcontrollers had not previously been considered (example: timer functions, inter
face replacement in larger systems, coprocessor applications, etc.).In System
Programmability of this chip (along with using only two pins in data transfer) makes
possible the flexibility of a product, after assembling and testing have been
completed.
Pin Diagram

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.

Mid-Range MCU Instruction Set


General Instruction Format

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.

General Format for Instructions


Central Processing Unit (CPU)

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:

Q1: Instruction Decode Cycle or forced No operation


Q2: Instruction Read Data Cycle or No operation

Q3: Process the Data

Q4: Instruction Write Data Cycle or No operation

Each instruction will show a detailed Q cycle operation for the instruction.

Q Cycle Activity

Arithmetic Logical Unit (ALU)

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.

Operation of the ALU and W Register


The ALU is 8-bits wide and is capable of addition, subtraction, shift and logical operations.
Unless otherwise mentioned, arithmetic operations are two's complement in nature. In two-
operand instructions, typically one operand is the working register (W register). The other operand
is a file register or an immediate constant. In single operand instructions, the operand is either
the W register or a file register.

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)

1 = Bank 2, 3 (100h - 1FFh)

0 = Bank 0, 1 (00h - FFh)

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)

11 = Bank 3 (180h - 1FFh)

10 = Bank 2 (100h - 17Fh)

01 = Bank 1 (80h - FFh)

00 = Bank 0 (00h - 7Fh)

Each bank is 128 bytes. For devices with only Bank0 and Bank1 the IRP bit is reserved,
always maintain this bit clear.

Bit 4 TO: Time-out bit

1 = After power-up, CLRWDT instruction, or SLEEP instruction

0 = A WDT time-out occurred

Bit 3 PD: Power-down bit

1 = After power-up or by the CLRWDT instruction

0 = By execution of the SLEEP instruction

Bit2 Z: Zero bit

1 = The result of an arithmetic or logic operation is zero


0 = The result of an arithmetic or logic operation is not zero

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

0 = No carry-out from the 4th low order bit of the result

Bit 0 C: Carry/borrow bit (ADDWF, ADDLW, SUBLW, SUBWF instructions)

1 = A carry-out from the most significant bit of the result occurred

0 = No carry-out from the most significant 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

Bit 7 RBPU: PORTB Pull-up Enable bit

1 = PORTB pull-ups are disabled


0 = PORTB pull-ups are enabled by individual port latch values

Bit 6 INTEDG: Interrupt Edge Select bit

1 = Interrupt on rising edge of INT pin

0 = Interrupt on falling edge of INT pin

Bit 5 T0CS: TMR0 Clock Source Select bit

1 = Transition on T0CKI pin

0 = Internal instruction cycle clock (CLKOUT)

Bit 4 T0SE: TMR0 Source Edge Select bit

1 = Increment on high-to-low transition on T0CKI pin

0 = Increment on low-to-high transition on T0CKI pin

Bit 3 PSA: Prescaler Assignment bit

1 = Prescaler is assigned to the WDT

0 = Prescaler is assigned to the Timer0 module

bit 2-0 PS2:PS0 : Prescaler Rate Select bits


PCON 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

Detected, so that subsequent power-on resets may be detected.

PCON Register

Bit 7 MPEEN: Memory Parity Error Circuitry Status bit

This bit reflects the value of the MPEEN configuration bit.

Bit 6:3 Unimplemented: Read as '0'

Bit 2 PER: Memory Parity Error Reset Status bit


1 = No error occurred

0 = A program memory fetch parity error occurred

(must be set in software after a Power-on Reset occurs)

Bit 1 POR: Power-on Reset Status bit

1 = No Power-on Reset occurred

0 = A Power-on Reset occurred (must be set in software after a Power-on Reset occurs)

Bit 0 BOR: Brown-out Reset Status bit

1 = No Brown-out Reset occurred

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:

1. The declining prices of LCD’s.


2. The ability to display numbers, characters and graphics. This is in contrast to
LED’s, which are limited to numbers and few characters.
3. Incorporation of a refreshing controller into the LCD, there by relieving the
CPU of the task of refreshing the LCD .in contrast, the Led must be refreshed
by the CPU to keep displaying the data.
4. Ease of programming for characters and graphics.

2.6.1. LCD PIN DESCRIPTIONS

VCC, VSS and VEE

While VCC and VSS provide +5v and ground respectively, VEE is used for
controlling LCD contrast.

RS, REGISTER SELECT

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.

R/W=1 when reading; R/W=0 when writing.


E, ENABLE

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.

1 Clear display screen

2 Return home

4 Decrement cursor

6 Increment cursor

5 Shift display right

7 Shift display left

8 Display off, cursor off

A Display off, cursor on

C Display on, cursor off

E Display on, cursor blinking


F Display on, cursor blinking

10 Shift cursor position to left

14 Shift cursor position to right

18 Shift the entire display to the left

1C Shift the entire display to the right

80 Force cursor to beginning of the 1st line

C0 Force cursor to beginning of the 2nd line

38 2 lines and 2*7 matrix

TABLE.4. LCD COMMAND CODES

2.6.2. LCD PROGRAMMING CHART

The LCD programming chart is as shown in the fig.13.


2.6.3. +5V
LCD CIRCUIT DIAGRAM

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

FIG.14. LCD CIRCUIT DIAGRAM

2.6.4. PROGRAMMING THE LCD

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.

However, the first character of line 2, as shown in the memory map, is at


address 40h. This means if we write a character to the last position of the first line
and then write a second character, the second character will not appear on the second
line. That is because the second character will effectively be written to address 10h-
-but the second line begins at address 40h.

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.

One of the common ways to establish a communication network (wired or wireless)


is to use the concept of networking layers . Each layer is responsible for certain
functions in the network. The layers normally pass data and commands only to the
layers directly above and below them. Dividing a network protocol into layers has a
number of advantages. For example, if the protocol changes over time, it is easier to
replace or modify the layer that is affected by the change rather than replacing the
entire protocol. Also, in developing an application, the lower layers of the protocol
are independent of the application and can be obtained from a third party, so all that
needs to be done is to make changes in the application layer of the protocol. The
software implementation of a protocol is known as protocol stack software.
A 2.4 GHz transceiver may support 868/915 MHz bands, but it is not required by
IEEE 802.15.4. There is room for only a single channel in the 868 MHz band. The
915 MHz band has 10 channels (excluding the optional channels). The total number
of channels in the 2.4 GHz band is 16. The 2.4 GHz ISM band is accepted worldwide
and has the maximum data rate and number of channels. For these reasons,
developing transceivers for the 2.4 GHz band is a popular choice for many
manufacturers. However, IEEE 802.11b operates in the same band and the
coexistence can be an issue in some applications.
KEYPAD
The above decoder function can be implemented in software. The keypad could be
interfaced with the 8051 as detailed below.

With the above configuration, an interrupt is generated on the INT0-bar line


when a key is pressed. We will deal with how this works in a moment. Firstly, let's
see how the keyboard is scanned.
The steps are:
 Scan row 1
 Scan row 2
 Scan row 3
 Scan row 4
Scanning a row is achieved by applying 0 V to the port pin for that row and 5
V to the other three rows, then scanning each individual column to see if one of them
is LOW. If it is, then the key at the junction between the current row and column
being scanned is the pressed key.
 Clear row 1, set other 3
 Scan column 1
 Scan column 2
 Scan column 3
 Scan column 4
 Clear row 2, set other 3
 Scan column 1
 Scan column 2
 Scan column 3
 Scan column 4
 Clear row 3, set other 3
 Scan column 1
 Scan column 2
 Scan column 3
 Scan column 4
 Clear row 4, set other 3
 Scan column 1
 Scan column 2
 Scan column 3
 Scan column 4
For example, let's say the key being pressed is key 6. When scanning the first
row, P1.0 will be cleared while the other 3 rows (P1.1, P1.2 and P1.3) are set, as
detailed in the diagram below.

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.

µVision2 provides unique features like:

 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

Features of the compiler include:

 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

1. Abdullah Rehman, Mohsin Murad, Arif Ali Shah, Salim Ullah,


Muhammad Fahad, Khawaja M. Yahya , ''RFAIDE--An RFID Based
Navigation and Object Recognition Assistant for Visually Impaired
People'', University of Engineering and Technology, Peshawar,
Pakistan, 978-1-4577-0768-1/11/2011 IEEE.
2. Andreas Hub, Joachim Diepstraten, Thomas Ertl, ''Design and
Development of an Indoor Navigation and Object Identification System
for the Blind'', Visualization and Interactive Systems Institute
University of Stuttgart.
3. Abdelsalam (Sumi) Helal, Steven Edwin Moore, Balaji Ramachandran,
''Drishti: An Integrated Navigation System for Visually Impaired and
Disabled'', University of Florida,Gainesville, FL-32611.
4. Guth, D.A.; Rieser, J.J. ''Perception and the control of locomotion by
blind and visually impaired pedestrians''. Foundations of Orientation
and Mobility, (Second Edition), AFB Press, pp. 9-38, 1997.
5. H. Mori, S. Totani, ''Robotic Travel Aid for the Blind: HARUNOBU-
6''. In Proceedings of the Second European Conference On Disability,
Virtual Reality, and Assistive Technology, Sövde, Sweden, 1998.

Potrebbero piacerti anche