Sei sulla pagina 1di 41

CHAPTER 1

INTRODUCTION

Vision is the most important part of human physiology as 83% of information human
being gets from the environment is via sight. The 2011 statistics by the World Health
Organization (WHO) estimates that there are 285 billion people in world with visual
impairment, 39 billion of which are blind and 246 with low vision. The traditional and
oldest mobility aids for persons with visual impairments are the walking cane (also
called white cane or stick) and guide dogs. The most important drawbacks of these
aids are necessary skills and training phase, range of motion and very little information
conveyed. With the rapid advances of modern technology, both in hardware and
software front have brought potential to provide intelligent navigation capabilities.
Recently there has been a lot of Electronic Travel Aids (ETA) designed and devised
to help the blind navigate independently and safely. Also high-end technological
solutions have been introduced recently to help blind persons navigate independently.
While such systems are suitable for outdoor navigation, due to the need for line of
sight access to satellites, they still need additional components to improve on the
resolution and proximity detection to prevent collision of the blind persons with other
objects and hence subject his/her life to danger. However in comparison to other
technologies many blind guidance systems use ultrasound because of its immunity to
the environmental noise. Another reason why ultrasonic is popular is that the
technology is relatively inexpensive, and also ultrasound emitters and detectors are
small enough to be carried without the need for complex circuitry.
The project is based on a theoretical model and a system concept to provide a smart
electronic aid for blind people. Apart from the conventional navigation systems, blind
aid systems can be used with depth measuring circuitry which will be helpful to
measure the depth in case of dealing with the stairs and on stick vibration circuitry to
inform the obstacle alert. These different units are discussed to implement the design
of a smart stick.

1
CHAPTER 2
BLOCK DIAGRAM

Figure 1 BASIC BLOCK DIAGRAM

Figure 2 PROTOTYPE OF STICK

2
Figure 1 shows the different sensors interfaced to the controller. The functions of the
following sensors are:

1. Ultrasonic sensor is used for obstacle avoidance. The vibrator vibrates when an
obstacle is encountered which helps in alerting the blind person and allows enough
time to change their path.
2. IR sensor is used for pit and staircase detection.
3. Water sensor is used to detect the presence of water and provide an alert in time
for path change so as to avoid slipping.
4. Fire sensor is used for avoiding fire.
5. Light sensor is useful at night. It alerts the people in the surrounding area that a
blind person is walking and to allow space so that the blind person can walk easily.
6. Vibrator and buzzer are used as output devices.

3
CHAPTER 3
METHODLOGY

3.1 ATMEGA 16 MICROCONTROLLER


3.1.1 INTRODUCTION
ATmega16 is an 8-bit high performance microcontroller of Atmels Mega AVR
family with low power consumption. Atmega16 is based on enhanced RISC (Reduced
Instruction Set Computing, Know more about RISC and CISC Architecture)
architecture with 131 powerful instructions. Most of the instructions execute in one
machine cycle. Atmega16 can work on a maximum frequency of 16MHz.
ATmega16 has 16 KB programmable flash memory, static RAM of 1 KB and
EEPROM of 512 Bytes. The endurance cycle of flash memory and EEPROM is 10,000
and 100,000, respectively.
ATmega16 is a 40 pin microcontroller. There are 32 I/O (input/output) lines which
are divided into four 8-bit ports designated as PORTA, PORTB, PORTC and PORTD.
ATmega16 has various in-built peripherals like USART, ADC, Analog Comparator,
SPI, JTAG etc. Each I/O pin has an alternative task related to in-built peripherals. The
following table shows the pin description of ATmega16.

4
3.1.2 PIN DIAGRAM:

Figure 3 PIN DIAGRAM OF ATMEGA 16

TABLE 1: PIN DESCRIPTION:

Pin No. Pin name Description Alternate Function

(XCK/T0) T0: Timer0 External Counter Input.


1 I/O PORTB, Pin 0
PB0 XCK : USART External Clock I/O

2 (T1) PB1 I/O PORTB, Pin 1 T1:Timer1 External Counter Input

5
(INT2/AIN0) AIN0: Analog Comparator Positive I/P
3 I/O PORTB, Pin 2
PB2 INT2: External Interrupt 2 Input

(OC0/AIN1) AIN1: Analog Comparator Negative I/P


4 I/O PORTB, Pin 3
PB3 OC0 : Timer0 Output Compare Match Output

5 (SS) PB4 I/O PORTB, Pin 4

6 (MOSI) PB5 I/O PORTB, Pin 5 In System Programmer (ISP)

7 (MISO) PB6 I/O PORTB, Pin 6 Serial Peripheral Interface (SPI)

8 (SCK) PB7 I/O PORTB, Pin 7

Reset Pin, Active


9 RESET
Low Reset

10 Vcc Vcc = +5V

11 GND GROUND

12 XTAL2 Output to Inverting Oscillator Amplifier

13 XTAL1 Input to Inverting Oscillator Amplifier

14 (RXD) PD0 I/O PORTD, Pin 0


USART Serial Communication Interface
15 (TXD) PD1 I/O PORTD, Pin 1

16 (INT0) PD2 I/O PORTD, Pin 2 External Interrupt INT0

17 (INT1) PD3 I/O PORTD, Pin 3 External Interrupt INT1

18 (OC1B) PD4 I/O PORTD, Pin 4


PWM Channel Outputs
19 (OC1A) PD5 I/O PORTD, Pin 5

20 (ICP) PD6 I/O PORTD, Pin 6 Timer/Counter1 Input Capture Pin

Timer/Counter2 Output Compare Match


21 PD7 (OC2) I/O PORTD, Pin 7
Output

22 PC0 (SCL) I/O PORTC, Pin 0


TWI Interface
23 PC1 (SDA) I/O PORTC, Pin 1

24 PC2 (TCK) I/O PORTC, Pin 2 JTAG Interface

6
25 PC3 (TMS) I/O PORTC, Pin 3

26 PC4 (TDO) I/O PORTC, Pin 4

27 PC5 (TDI) I/O PORTC, Pin 5

PC6
28 I/O PORTC, Pin 6 Timer Oscillator Pin 1
(TOSC1)

PC7
29 I/O PORTC, Pin 7 Timer Oscillator Pin 2
(TOSC2)

30 AVcc Voltage Supply = Vcc for ADC

31 GND GROUND

32 AREF Analog Reference Pin for ADC

33 PA7 (ADC7) I/O PORTA, Pin 7 ADC Channel 7

34 PA6 (ADC6) I/O PORTA, Pin 6 ADC Channel 6

35 PA5 (ADC5) I/O PORTA, Pin 5 ADC Channel 5

36 PA4 (ADC4) I/O PORTA, Pin 4 ADC Channel 4

37 PA3 (ADC3) I/O PORTA, Pin 3 ADC Channel 3

38 PA2 (ADC2) I/O PORTA, Pin 2 ADC Channel 2

39 PA1 (ADC1) I/O PORTA, Pin 1 ADC Channel 1

40 PA0 (ADC0) I/O PORTA, Pin 0 ADC Channel 0

7
3.2 ULTRASONIC SENSOR: HC-SR04
3.2.1 INTRODUCTION
Also known as transceivers when they both send and receive, but more generally
called transducers work on a principle similar to radar or sonar which evaluate
attributes of a target by interpreting the echoes from radio or sound waves respectively.
Ultrasonic sensors generate high frequency sound waves and evaluate the echo which
is received back by the sensor. Sensors calculate the time interval between sending the
signal and receiving the echo to determine the distance to an object.

This technology can be used for measuring wind speed and direction (anemometer),
tank or channel level, and speed through air or water. For measuring speed or direction
a device uses multiple detectors and calculates the speed from the relative distances to
particulates in the air or water. To measure tank or channel level, the sensor measures
the distance to the surface of the fluid. Further applications
include: humidifiers, sonar, medical ultrasonography, burglar alarms and non-
destructive testing.

Systems typically use a transducer which generates sound waves in the ultrasonic
range, above 18,000 hertz, by turning electrical energy into sound, then upon receiving
the echo turn the sound waves into electrical energy which can be measured and
displayed.

Uses:
Medical Ultrasonic transducers.
Ultrasonic sensors are used to detect movement of targets and to measure the distance
to targets in many automated factories and process plants.

8
3.2.2 HC-SR04: ULTRASONIC MODULE

Figure 4 HC-SR04

TABLE 2: MODULE PIN DEFINITIONS AND ELECTRICAL


PARAMETERS

9
Product Features

Stable performance
Accurate distance measurement
High-density
Small blind
Application Areas: Ultrasonic Application Technology is the thing which developed
in recent decades. With the ultrasonic advance, and the electronic technology
development, especially as high-power semiconductor device technology matures, the
application of ultrasonic has become increasingly widespread:
Robotics barrier
Object distance measurement
Level detection
Public security
parking detection

3.2.3WORKING
We know that sound vibrations cannot penetrate through solids. So what happens is,
when a source of sound generates vibrations they travel through air at a speed of 220
meters per second. These vibrations when they meet our ear we describe them as
sound. As said earlier these vibrations cannot go through solid, so when they strike
with a surface like wall, they are reflected back at the same speed to the source, which
is called echo.

Ultrasonic sensor HC-SR04 provides an output signal proportional to distance


based on the echo. The sensor here generates a sound vibration in ultrasonic range
upon giving a trigger, after that it waits for the sound vibration to return. Now based
on the parameters, sound speed (220m/s) and time taken for the echo to reach the
source, it provides output pulse proportional to distance.

10
Figure 5 WORKING OF HC-SR04

As shown in figure, at first we need to initiate the sensor for measuring distance, that
is a HIGH logic signal at trigger pin of sensor for more than 10uS, after that a sound
vibration is sent by sensor, after a echo, the sensor provides a signal at the output pin
whose width is proportional to distance between source and obstacle.

This distance is calculate as, distance (in cm) = width of pulse output (in uS) / 58.
Here the width of the signal must be taken in multiple of uS (micro second or 10^-6).

11
3.3 INFRARED SENSOR
3.3.1 INTRODUCTION
An infrared sensor is an electronic device that emits and/or detects infrared radiation in
order to sense some aspect of its surroundings. Infrared sensors can measure the heat
of an object, as well as detect motion. Many of these types of sensors only measure
infrared radiation, rather than emitting it, and thus are known as passive infrared (PIR)
sensors.
All objects emit some form of thermal radiation, usually in the infrared spectrum. This
radiation is invisible to our eyes, but can be detected by an infrared sensor that accepts
and interprets it. In a typical infrared sensor like a motion detector, radiation enters the
front and reaches the sensor itself at the center of the device. This part may be
composed of more than one individual sensor, each of them being made from pyro-
electric materials, whether natural or artificial. These are materials that generate an
electrical voltage when heated or cooled.
IR sensor basically consist an IR LED and a Photodiode, this pair is generally called
IR pair or Photo coupler. IR sensor work on the principal in which IR LED emits IR
radiation and Photodiode sense that IR radiation. Photodiode resistance changes
according to the amount of IR radiation falling on it, hence the voltage drop across it
also changes and by using the voltage comparator (like LM358) we can sense the
voltage change and generate the output accordingly.

3.3.2 IR SENSOR MODULE

Components

IR pair (IR LED and Photodiode)


IC LM358
Resistor 100, 10k, 330 ohm
Variable resistor 10k
LED

12
IC LM358

The LM358 consists of two independent, high gain, internally frequency compensated
operational amplifiers which were designed specifically to operate from a single power
supply over a wide range of voltages. Operation from split power supplies is also
possible and the low power supply current drain is independent of the magnitude of
the power supply voltage.

Figure 6 PIN DIAGRAM OF LM358

Features

Available in 8-Bump micro SMD chip sized package, (See AN-1112)


Internally frequency compensated for unity gain
Large dc voltage gain: 100 dB
Wide bandwidth (unity gain): 1 MHz (temperature compensated)
Wide power supply range:
o single supply: 3V to 32V
o dual supplies: 1.5V to 16V
Very low supply current drain (500 A)essentially independent of supply
voltage
Low input offset voltage: 2 mV
Input common-mode voltage range includes ground
Differential input voltage range equal to the power supply voltage
Large output voltage swing

13
3.3.3 WORKING OF IR SENSOR MODULE

Figure 7 IR SENSOR CIRCUIT DIAGRAM

Photo diode is connected in reverse bias, inverting end of LM358 (PIN 2) is connected
to the variable resistor, to adjust the sensitivity of the sensor. And non-inverting end
(PIN 3) is connected to the junction of photodiode and a resistor. When we turn ON
the circuit there is no IR radiation towards photodiode and the Output of the
comparator is LOW. When we take some object (not black) in front of IR pair, then
IR emitted by IR LED is reflected by the object and absorbed by the photodiode. Now
when reflected IR Falls on Photodiode, the voltage across photodiode drops, and the
voltage across series resistor R2 increases. When the voltage at Resistor R2 (which is
connected to the non-inverting end of comparator) gets higher than the voltage at
inverting end, then the output becomes HIGH and LED turns ON. Voltage at inverting
end, which is also called Threshold Voltage, can be set by rotating the variable
resistors knob. Higher the voltage at inverting end (-), less sensitive the sensor and
Lower the voltage at inverting end (-), more sensitive the sensor.

14
3.3.4 USES

A heat sensor works by using pyro-electrical materials, which emit electrical


impulses when heated or cooled.
IR sensors can be used to detect proximity, receive communication signals and even
detect movement of a person.
IR Sensor can also be used to build speedometer.

15
3.4 WATER SENSOR
A water sensor is an electronic device that is designed to detect the presence of water
and provide an alert in time to allow the prevention of water damage. A common
design is a small cable or device that lies flat on a floor and relies on the electrical
conductivity of water to decrease the resistance across two contacts. The device then
sounds an audible alarm together with providing onward signaling in the presence of
enough water to bridge the contacts. These are useful in a normally occupied area near
any infrastructure that has the potential to leak water, such as HVAC, water pipes,
drain pipes, vending machines, dehumidifiers, or water tanks.

Figure 8 CIRCUIT DAIGRAM OF WATER SENSOR

16
3.5 FIRE SENSOR
3.5.1 THERMISTORS
A thermistor is a temperature-sensing element composed of sintered semiconductor
material which exhibits a large change in resistance proportional to a small change in
temperature. Thermistors usually have negative temperature coefficients which means
the resistance of the thermistor decreases as the temperature increases.

Thermistors are of two opposite fundamental types:

With NTC, resistance Decreases with temperature to protect against inrush


overcurrent conditions. Installed series in a circuit.
With PTC, resistance Increases with temperature to protect against overvoltage
conditions. Installed parallel in a circuit.

Thermistors differ from resistance temperature detectors (RTDs) in that the material
used in a thermistor is generally a ceramic or polymer, while RTDs use pure metals.
The temperature response is also different; RTDs are useful over larger temperature
ranges, while thermistors typically achieve a greater precision within a limited
temperature range, typically 90C to 130C.

Figure 9 THERMISTOR

17
3.5.2 BASIC OPERATION

Assuming, as a first-order approximation, that the relationship between resistance and


temperature is linear, then:

Where

change in resistance , change in temperature


, first-order temperature coefficient of resistance

Thermistors can be classified into two types, depending on the classification of . If


is positive, the resistance increases with increasing temperature, and the device is
called a positive temperature coefficient (PTC) thermistor, or posistor. If is
negative, the resistance decreases with increasing temperature, and the device is called
a negative temperature coefficient (NTC) thermistor. Resistors that are not thermistors
are designed to have a as close to 0 as possible, so that their resistance remains nearly
constant over a wide temperature range.

Instead of the temperature coefficient k, sometimes the temperature coefficient of


resistance (alpha sub T) is used. It is defined as

18
Figure 10 COMPARISON OF NTC WITH PTC THERMISTORS

3.5.3 FIRE DETECTION USING THERMISTOR

Figure 11 CIRCUIT DIAGRAM OF FIRE SENSOR

19
3.6 LIGHT SENSOR

Figure 12 CIRCUIT DIAGRAM OF LIGHT SENSOR

The LM358 chip in this circuit is used as a comparator to make decisions.


Photoresistor changes its resistance drastically based on the ambient lighting in an
environment. Exposed to darkness, a photoresistor has a tremendous amount of
resistance. Depending on the specific photoresistor in use, its resistance can be
anywhere from over 100K to well over 2M. When exposed to bright light, a
photoresistor's resistance drops drastically. Again, based on the photoresistor, it may
be to 5K or below or to about 30K. For any photoresistor, we can pretty much be
sure that the resistance will fall to about 30K when exposed to bright light. The use
of a voltage divider of a photoresistor and a fixed resistor, in which the voltage divided
up between the 2 components will change due to ambient lighting. In darkness, the
photoresistor will have a very high resistance. By ohm's law, more voltage is allocated
to components with a higher resistance value (V= IR). Therefore, when this voltage
divider is connected to a comparator, the voltage divider will produce a very high
voltage. When the photoresistor is exposed to bright light, will have a low resistance.
Therefore, less voltage will fall across it. So when it is hooked up to a comparator, the
voltage divider circuit will produce a voltage less than the reference voltage.

20
3.7 BUZZER
The Piezo buzzer produces sound based on reverse of the piezoelectric effect. The
generation of pressure variation or strain by the application of electric potential across
a piezoelectric material is the underlying principle. These buzzers can be used to alert
a user of an event corresponding to a switching action, counter signal or sensor input.
They are also used in alarm circuits.
The buzzer produces a same noisy sound irrespective of the voltage variation applied
to it. It consists of piezo crystals between two conductors. When a potential is applied
across these crystals they push on one conductor and pull on the other. This, push and
pull action, results in a sound wave. Most buzzers produce sound in the range 2 to 4
kHz.

Figure 13 BUZZER

21
3.8 VIBRATOR
A vibrating motor is essentially a motor that is improperly balanced. In other words,
there is an off-centered weight attached to the motor's rotational shaft that causes the
motor to wobble. The amount of wobble can be changed by the amount of weight that
you attach, the weight's distance from the shaft, and the speed at which the motor spins.

This type of motor can be used affixed to all kinds of objects, which will cause them
to vibrate and move freely about. This is a quick and dirty way to get a simple Bot to
move about, but not exactly the most elegant.

Vibrating motors can be found inside cell phones, pagers, gaming controllers, and
personal massagers.

In absence of those, you can easily build your own vibrating motor by attaching any
off centered weight to any motor shaft. They can also be created by breaking in half
balanced components already attached to motor shafts.

Figure 14 VIBRATOR

22
3.9 SOFTWARE USED

3.9.1AVR STUDIO 4

AVR Studio was created by Atmel in order to help developers to create applications
for AVR microcontrollers using C/C++ programming languages. This piece of
software comes with a large number of tutorials, which allow the users to get familiar
with the application. The program stands as a complete pack for programmers that use
C++ and other programming languages. It provides the users with access to the tools
for writing, building and debugging their codes.

The menu of this application is easy-to-use and offers access to powerful tools for both
beginners and experienced developers, making it easy for the users to find their way
through C/C++ programming. Some of the key features are: cycle correct simulator
with advanced debugging functionality, rich SDK that enables tight integration of
customer plug-ins and compatibility with many Microsoft Visual Studio plug-ins. Also
the tool provides a "split window" button that allows the users to work on more than
one project at a time.

All in all AVR Studio is a complete tool for programmers which develop, test and
debug C/C++ applications; you should give this tool a try as it comes in handy for
programming AVR microcontrollers.

STEP 1

23
STEP 2: CLICK ON NEW PROJECT

STEP 3: CLICK ON AVR GCC

WRITE THE PROJECT NAME

SELECT THE PROJECT LOCATION AND CLICK ON NEXT

24
STEP 4: CLICK ON THE AVR SIMULATOR AND SELECT YOUR CONTROLLER AND CLICK ON
THE FINISH BUTTON

STEP 5: WRITE THE CODE IN THE MAIN BODY AREA AND SAVE THE FILE.

25
STEP 6: GO TO BUILD > COMPILE

3.9.3 AVR LOADER v2.0

The software has been developed by Robosapiens Technologies Private Limited. It is


used for loading the code into the controller. It can be used to load the code in many
Atmega 128, Atmega 16, Atmega 8, Atmega 32, Atmega 64, Atmega 88, Atmega

Tiny 13, Atmega 13, Atmega 2313 etc.The hex file is loaded from the local directory
and loaded into te controller by clicking onto the write pushbutton.

26
3.9.3 PROTEUS DESIGN SUITE

The Proteus Design Suite is an Electronic Design Automation (EDA) tool including
schematic capture, simulation and PCB Layout modules. It is developed in Yorkshire,
England by Lab center Electronics Ltd with offices in North America and several
overseas sales channels. The software runs on the Windows operating system and is
available in English, French, Spanish and Chinese languages.

The micro-controller simulation in Proteus works by applying either a hex file or a


debug file to the microcontroller part on the schematic. It is then co-simulated along
with any analog and digital electronics connected to it. This enables it's used in a broad
spectrum of project prototyping in areas such as motor control, temperature control
and user interface design. It also finds use in the general hobbyist community and,
since no hardware is required, is convenient to use as a training or teaching tool.
Support is available for co-simulation of:

Microchip Technologies PIC10, PIC12, PIC16, PIC18, PIC24, dsPIC33


Microcontrollers.
Atmel AVR (and Arduino), 8051 and ARM Cortex-M3 Microcontrollers
NXP 8051, ARM7, ARM Cortex-M0 and ARM Cortex-M3 Microcontrollers.
Texas Instruments MSP430, PICCOLO DSP and ARM Cortex-M3
Microcontrollers.
Parallax Basic Stamp, Freescale HC11, 8086 Microcontrollers.

27
Figure 15 INTERFACING OF SENSORS WITH ATMEGA 16 MICROCONTROLLER

28
CHAPTER 4

RESULT

The Blind Walking Stick has been finally made into a prototype which can be used to
guide the blind. It majorly uses an ultra-sonic sensor to detect the front obstacles, an
infra-red sensor to detect the obstacles underneath, fire sensor to detect any kind of
fire hazard and water sensors that sense any kind water allowing the safe walk of the
blind people. It has buzzers incorporated into itself that gives different sounds from
different sensors making navigation very easy.

29
CHAPTER 5

FUTURE SCOPE

It can be further enhanced by using VLSI technology to design the PCB unit. This
makes the system further more compact. Also, use of active RFID tags will transmit
the location information automatically to the PCB unit, when the intelligent stick is in
its range. The RFID sensor doesnt have to read it explicitly.

A variety of future scopes are available that can be used of with the stick such as the
usage of a GSM module helping to find the tick with the help of mobile phones, usage
of GPS system incorporating the entire assembly into belt of people. The global
position of' the user is obtained using the global positioning system (GPS), and their
current position and guidance to their destination will be given to the user by voice. It
can also contain special arrangement to connect the walking stick to the aadhar card
of blinds, helping the government serve the physically disabled even better.

30
CHAPTER 6

CONCLUSION

Smart Sensors are not just a fad, they are the wave of the future. As more people realize
the value of these inventions the field will grow without bounds. This can be
demonstrated by the design specified. Its practical, cost efficient and extremely
useful. If all of these characteristics werent enough to warrant investigation into this
field of study, these inventions will also make the inventor very wealthy. This project
is application based as it has an application for blind people. It can be further improved
to have more decision taking capabilities by employing varied types of sensors and
thus could be used for different applications. It aims to solve the problems faced by
the blind people in their daily life. The system also takes measures to ensure their
safety.

31
APPENDIX

#include <avr/io.h>

//header to enable data flow control over pins

#define F_CPU 1000000

//telling controller crystal frequency attached

#include <util/delay.h>

//header to enable delay function in program

#define E 5

//giving name enable to 5th pin of PORTD, since it Is connected to LCD enable pin

#define RS 6

//giving name registerselection to 6th pin of PORTD, since is connected to LCD RS


pin

void send_a_command(unsigned char command);

void send_a_character(unsigned char character);

32
void send_a_string(char *string_of_characters);

static volatile int pulse = 0;//interger to access all though the program

static volatile int i = 0;// interger to access all though the program

int main(void)

DDRB = 0xFF;

//putting portB output pins

DDRD = 00b11111011;

_delay_ms(50);//giving delay of 50ms

DDRA = 00FF;//Taking portA as output.

GICR|=(1<<INT0);//enabling interrupt0

MCUCR|=(1<<ISC00);//setting interrupt triggering logic change

33
int16_t COUNTA = 0;//storing digital output

char SHOWA [3];//displaying digital output as temperature in 16*2 lcd

send_a_command(0x01); //Clear Screen 0x01 = 00000001

_delay_ms(50);

send_a_command(0x38);//telling lcd we are using 8bit command /data mode

_delay_ms(50);

send_a_command(0b00001111);//LCD SCREEN ON and courser blinking

sei();// enabling global interrupts

while(1)

PORTD|=(1<<PIND0);

_delay_us(15);///triggering the sensor for 15usec

PORTD &=~(1<<PIND0);

34
COUNTA = pulse/58;

if((PINC&0b00010000)==0)

PORTC=0X02;

else

PORTC=0XF8;

if (pulse>=500)

PORTC=0X05;

send_a_string ("DISTANCE=");// displaying name

itoa(COUNTA,SHOWA,10); //command for putting variable number in LCD(variable


number, in which character to replace, which base is variable(ten here as we are
counting number in base10))

send_a_string(SHOWA); //telling the display to show character(replaced by variable


number) after positioning the courser on LCD

send_a_string ("cm ");

send_a_command(0x80 + 0); //retuning to first line first shell

35
}

ISR(INT0_vect)//interrupt service routine when there is a change in logic level

if (i==1)//when logic from HIGH to LOW

TCCR1B=0;//disabling counter

pulse=TCNT1;//count memory is updated to integer

TCNT1=0;//resetting the counter memory

i=0;

if (i==0)//when logic change from LOW to HIGH

TCCR1B|=(1<<CS10);//enabling counter

36
i=1;

void send_a_command(unsigned char command)

PORTA = command;

PORTD &= ~ (1<<RS); //putting 0 in RS to tell lcd we are sending command

PORTD |= 1<<E; //telling lcd to receive command /data at the port

_delay_ms(50);

PORTD &= ~1<<E;//telling lcd we completed sending data

PORTA= 0;

37
void send_a_character(unsigned char character)

PORTA= character;

PORTD |= 1<<RS;//telling LCD we are sending data not commands

PORTD |= 1<<E;//telling LCD to start receiving command/data

_delay_ms(50);

PORTD &= ~1<<E;//telling lcd we completed sending data/command

PORTA = 0;

void send_a_string(char *string_of_characters)

while(*string_of_characters > 0)

38
send_a_character(*string_of_characters++);

39
REFRENCES

1. Mohd Helmy Abd Wahab, Amirul A. Talib, Herdawatie A.Kadir, Ayob Johari,
A.Noraziah, Roslina M. Sidek, Ariffin A. ,Smart cane: assistive cane for visually impaired
people, IJCSI, Vol.8 Issue 4, July 2011.

2. Yuan, D.; Manduchi, R.,Dynamic environment exploration using a virtual white cane, in
Computer Vision and Pattern Recognition. IEEE Computer Society Conference CVPR
2005

3. F. van der Heijden, P.P.L. Regtien, , Wearable navigation assistance - a tool for the blind
MEASUREMENT SCIENCE REVIEW, Volume 5, Section 2, 2005 .

4. Larisa Dunai, Guillermo Peris Fajarnes, Victor Santiago Praderas, Beatriz Defez Garcia,
Ismael Lengua Lengua RealTime Assistance Prototype a new Navigation Aid for
blind people 978-1-4244-5226-2/10/$26.00 2010 IEEE.

5. Shamsi, M.A.; Al-Qutayri, M.; Jeedella, J., Blind assistant navigation system Biomedical
Engineering (MECBME) 1st Middle East Conference on 21-24 Feb. 2011

6. Jack M. Loomis, Reginald G. Golledge and Roberta L. Klatzky, Navigation System for
the Blind: Auditory Display Modes and Guidance Vol. 7, No. 2, April 1998.

7. Joo Jos, Miguel Farrajota, Joo M.F. Rodrigues, J.M. Hans du Buf, The Smart Vision
Local Navigation Aid for Blind and Visually Impaired Persons International Journal of
Digital Content Technology and its Applications Vol.5 No.5, May 2011.

8. Calder, David J, Curtin .An obstacle signaling system for the blind ,Digital Ecosystems
and Technologies Conference (DEST) 5th IEEE International Conference ,30 June 2011

9. Bouvrie J . V ., Visual Object Concept Discovery: Observation in Congeniality Blind


Children , and a Computational Approach, Elsevier Science, USA, 2007

10. Mazo M. and Rodriguez F. J., Wheelchair for Physical Disable People With Voice
,Ultrasonic and Infrared Control, Autonomous Robots, Vol. 2, pp. 203-224, 1998

40
11. Borenstein J. and Ulrich I , The Guide Cane - Applying Mobile Robot Technologies to
Assist the Visually Impaired IEEE Transactions on Systems, Man, and Cybernetics, Part
A: Systems and Humans, Vol. 31, No. 2, pp. 131-136, 2001

12. www.atmel.com,

13. www.beyondlogic.org,

14. www.howstuffworks.com,

15. www.extremeelectronics.co.in

41

Potrebbero piacerti anche