ii CENTRAL POLYTECHNIC COLLEGE Tharamani - chennai-113. PROJECT REPORT(2014-2015) DEVELOPMENT OF COMPUTER VISSION SYSTEM FOR VISUALLY IMPAIRED Submitted in partial full fillment for the award of diploma in ELECTRONICS AND COMMUNICATION ENGINEERING GUIDED BY Mr.T.PADMANATHAN.,B.E DONE BY S.GOWTHAM 401112019 S.LOGESWARAN 401112041 S.MANOJ KUMAR 401112046 S.PONNAIYAN 401112060 M.PRASANTH 401112062 K.PRATHAP 401112064
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ii
CENTRAL POLYTECHNIC COLLEGE
Tharamani - chennai-113.
PROJECT REPORT(2014-2015)
DEVELOPMENT OF COMPUTER VISSION
SYSTEM FOR VISUALLY IMPAIRED
Submitted in partial full fillment for the award of diploma in
ELECTRONICS AND COMMUNICATION ENGINEERING
GUIDED BY
Mr.T.PADMANATHAN.,B.E
DONE BY
S.GOWTHAM 401112019
S.LOGESWARAN 401112041
S.MANOJ KUMAR 401112046
S.PONNAIYAN 401112060
M.PRASANTH 401112062
K.PRATHAP 401112064
ii
CENTRAL POLYTECHNIC COLLEGE, THARAMANI,CHENNAI-113
DEPARTMENT OF ELECTRONICS AND COMMUNICATION
ENGINEERING
PROJECT REPORT
(2014-2015)
BONAFIDE CERTIFICATE
This is to certify that this is a bonafide record of the project work
done by
Selvan........................................... Reg. no................... of final year
Diploma in ELECTRONICS AND COMMUNICATION
ENGINEERING who carried out the project work under my
supervision during the Academic Year 2014-2015. submitted for
board examination held on.................
MARKS AWARDED: __/25
PROJECT GUIDE HEAD OF THE DEPARTMENT
INTERNAL EXAMINER EXTERNAL EXAMINER
ii
ACKNOWLEDGEMENT
First of all, would like to express our sincere thanks to our parents
creating us as diploma engineers.
Next our thanks to our honourable THE DIRECTOR, DIRECTORATE OF
TECHNICAL EDUCATION who made me our ways full of light will a
kind heart to achieve our targets.
We would all so like to thank our honourable principle.
DR.SOKKALINGAM. M.E., Ph.D.,who leads our college in a
respectable manner.
We thank our respectable Head of the Department
Mr.JAYAPAL for providing us more facilities and also for the great
encouragement while doing our project.
We thank our respectable project guide
Mr.T.PADMANATHAN.,B.E.,for his valuable suggestions.
We would thank our department staff and other department staffs
for providing us a great support by helping in various times to finish
our project.
ii
PREFACE
PROJECT WORK IMPORTANCE
Project work plays an important role in technical education.
With working through the project, students are exposed to
different fields in production.
Thus the students get an opportunity to make use of his
knowledge, skill and ability in the design, fabrication and
erection of the project.
He even learns new subjects and practical works as well. He
gains great experience in getting ideas in organizing the work
and putting them into practice.
He learns to approach various problems systematically,
thereby constructing a project and improving his knowledge.
ii
CONTENTS
CHAPTERS page no
1. INTRODUCTION . . .6
2. AIM OF THE PROJECT . . .7
3. SYSTEM DESIGN . . .8
BLOCK DIAGRAM BLOCK DESCRIPTION
CIRCUIT DIAGRAM
CIRCUIT DESCRIPTION
PIC MICROCONTROLLER 16F877A
POWER SUPPLY
MAX 232
APR 9600 VOICE IC
LCD MODULE
MPLAB IDE V8
4. SYSTEM SOFTWARE . . .59
5. CONCLUSION . . .69
ii
INTRODUCTION
The Embedded Technology is now in its prime and
the wealth of Knowledge available is mind-blowing.
Embedded System is a combination of hardware
and software. Embedded technology plays a major
role in integrating the various functions associated
with it.
This needs to tie up the various sources of the
Department in a closed loop system. This proposal
greatly reduces the manpower, saves time and
operates efficiently without human interference.
Basedon statistics from the World Health
Organization (WHO), there are more than 161
million visually impaired people around the world,
and 37 million of them are blind.
Choosing clothes with suitable colors and patterns is
a challenging task for blind or visually impaired
people.
ii
AIM OF PROJECT
The aim of the project is about DEVELOPMENT OF
COMPUTER VISSION SYSTEM FOR VISUALLY
IMPAIRED
METHODOLOGY:
With the help of PIC microcontroller and WEB camerais used to find the
person and path without anyone help.
WORKING PRINCIPLE:
The system integrates a camera, a microphone, a
computer, and a speaker for audio description of certain
objects.
A camera is used to capture the certain objects like table,
chair. Also person face recognition is done for
authentication.
The detected object and status of the system displayed on
LCD. Also the voice is alerted using APR.
ADVANTAGES:
Very much helpful for blind people
More reliable system
Portable
ii
SYSTEM DESIGN
BLOCK DIAGRAM
Power
Supply
PIC16F877A
MAX232 APR Voice
playback
Speaker
Recognition
Authentication
Processing
LCD
ii
BLOCK DESCRIPTION:
POWER SUPPLY
PIC MICROCONTROLLER
MAX 232
LCD MODULE
APR 9600 VOICE IC
MPLAM COMPILER
ii
BLOCK 1: POWER SUPPLY
Power Supply for PIC 16F877A Microcontroller
This section describes how to generate +5V DC power supply
The power supply section is the important one. It should
deliver constant output regulated power supply for successful
working of the project. A 0-12V/1 mA transformer is used for
this purpose.
The primary of this transformer is connected in to main
supply through on/off switch& fuse for protecting from
overload and short circuit protection. The secondary is
connected to the diodes to convert 12V AC to 12V DC voltage.
And filtered by the capacitor. Which is further regulated to
+5v, by using IC 7805.
ii
BLOCK 2: PIC MICROCONTROLLER
INTRODUCTION OF PIC16F877A:
The PIC16F877A CMOS FLASH-based 8-bit microcontroller is upward
compatible with the PIC16C5x, PIC12Cxxx and PIC16C7x devices. It
features 200 ns instruction execution, 256 bytes of EEPROM data
memory, self programming, an ICD, 2 Comparators, 8 channels of 10-bit
Analog-to-Digital (A/D) converter, 2 capture/compare/PWM functions, a
synchronous serial port that can be configured as either 3-wire SPI or 2-
wire I2C bus, a USART, and a Parallel Slave Port.
Microchip PIC16F877A Microcontroller Features:
High-Performance RISC CPU
Operating speed: 20 MHz, 200 ns instruction cycle Operating voltage: 4.0-5.5V Industrial temperature range (-40° to +85°C) 15 Interrupt Sources 35 single-word instructions All single-cycle instructions except for program branches (two-
cycle)
Special Microcontroller Features
Flash Memory: 14.3 Kbytes (8192 words) Data SRAM: 368 bytes Data EEPROM: 256 bytes Self-reprogrammable under software control In-Circuit Serial Programming via two pins (5V) Watchdog Timer with on-chip RC oscillator Programmable code protection
ii
Power-saving Sleep mode Selectable oscillator options In-Circuit Debug via two pins
Peripheral Features
33 I/O pins; 5 I/O ports Timer0: 8-bit timer/counter with 8-bit prescaler Timer1: 16-bit timer/counter with prescaler
o Can be incremented during Sleep via external crystal/clock Timer2: 8-bit timer/counter with 8-bit period register, prescaler and
prescaler Two Capture, Compare, PWM modules
o 16-bit Capture input; max resolution 12.5 ns o 16-bit Compare; max resolution 200 ns o 10-bit PWM
Synchronous Serial Port with two modes: o SPI Master o I2C Master and Slave
USART/SCI with 9-bit address detection Parallel Slave Port (PSP)
o 8 bits wide with external RD, WR and CS controls Brown-out detection circuitry for Brown-Out Reset
Analog Features
10-bit, 8-channel A/D Converter Brown-Out Reset Analog Comparator module
o 2 analog comparators o Programmable on-chip voltage reference module
ii
PIN DIAGRAM:
Memory of the PIC16F877 divided into 3 types of memories:
Program Memory- A memory that contains the program(which we had written), after we've burned it. As a reminder, Program Counter executes commands stored in the program memory, one after the other.
Data Memory – This is RAM memory type, which contains a special registers like SFR (Special Faction Register) and GPR (General Purpose Register). The variables that we store in the Data Memory during the program are deleted after we turn of the micro.
These two memories have separated data buses, which makes the
Data EEPROM (Electrically Erasable Programmable Read-Only Memory)- A memory that allows storing the variables as a result of burning the written program.
Each one of them has a different role. Program Memory and Data Memory
two memories that are needed to build a program, and Data EEPROM is
used to save data after the microcontroller is turn off.
Program Memory and Data EEPROM they are non-volatile memories,
which store the information even after the power is turn off. These
memories called Flash Or EEPROM. In contrast, Data Memory does not
save the information because it needs power in order to maintain the
information stored in the chip.
PIC16F87XA Program Memory
The PIC16F87XA devices have a 13-bit program counter capable
of addressing an 8K word x 14 bit program memory space. This
memory is used to store the program after we burn it to the
microcontroller. The PIC16F876A/877A devices have 8K words x
14 bits of Flash program memory that can be electrically erased
and reprogrammed. Each time we burn program into the micro,
When interfacing to the data memory block, EEDATA holds the 8-bit data for
read/write and EEADR holds the address of the EEPROM location being
accessed. These devices have 128 or 256 bytes of data EEPROM (depending on
the device), with an address range from 00h to FFh. On devices with 128 bytes,
addresses from 80h to FFh are unimplemented.
A few important points about Data EEPROM memory:
It lets you save data DURING programming The data is saved during the “burning” process You can read the data memory during the programming and use it The use is made possible with the help of SFR
At this point there is no need to learn how to use this memory with special
registers, because there are functions (writing and reading) that are ready.
Write to DATA EEPROM
To write to an EEPROM data location, the user must first write the address to
the EEADR register and the data to the EEDATA register. Then the user must
follow a specific write sequence to initiate the write for each byte.
BSF STATUS, RP1 ;
BSF STATUS, RP0 ; Bank 3
BTFSC EECON1, WR ;Wait for write
ii
GOTO $-1 ;to complete
BCF STATUS, RP0 ;Bank 2
MOVF DATA_EE_ADDR, W ;Data Memory
MOVWF EEADR ;Address to write
MOVF DATA_EE_DATA, W ;Data Memory Value
MOVWF EEDATA ;to write
BSF STATUS, RP0 ;Bank 3
BCF EECON1, EEPGD ;Point to DATA memory
BSF EECON1, WREN ;Enable writes
BCF INTCON, GIE ;Disable INTs.
MOVLW 55h ;
MOVWF EECON2 ;Write 55h
MOVLW AAh ;
MOVWF EECON2 ;Write AAh
BSF EECON1, WR ;Set WR bit to begin write
BSF INTCON, GIE ;Enable INTs
BCF EECON1, WREN ;Disable writes
Read DATA EEPROM
To read a data memory location, the user must write the address to the
EEADR register, clear the EEPGD control bit (EECON1<7>) and then set
control bit RD (EECON1<0>). The data is available in the very next cycle
in the EEDATA register; therefore, it can be read in the next instruction.
EEDATA will hold this value until another read or until it is written to by
the user (during a write operation).
BSF STATUS, RP1 ;
BCF STATUS, RP0 ; Bank 2
MOVF DATA_EE_ADDR, W ; Data Memory
MOVWF EEADR ; Address to read
BSF STATUS, RP0 ; Bank 3
BCF EECON1, EEPGD ; Point to Data memory
BSF EECON1, RD ; EE Read
BCF STATUS, RP0 ; Bank 2
MOVF EEDATA, W ; W = EEDATA
ii
Both of these functions are provided by the manufacturer. There is a
required sequence in order to write/read to/from the memory; that
process can be performed independently, but it is better to use ready
functions of Microchip.
PIC Timer0:
Many times, we plan and build systems that perform various processes
that depend on time.
Simple example of this process is the digital wristwatch. The role of this
electronic system is to display time in a very precise manner and change
the display every second (for seconds), every minute (for minutes) and so
on.
To perform the steps we've listed, the system must use a timer, which
needs to be very accurate in order to take necessary actions. The clock is
actually a core of any electronic system.
In this PIC timer module tutorial we will study the existing PIC timer
modules. The microcontroller PIC16F877 has 3 different timers:
PIC Timer0 PIC Timer1 PIC Timer2
We can use these timers for various important purposes. So far we used
“delay procedure” to implement some delay in the program, that was
counting up to a specific value, before the program could be continued.
"Delay procedure" had two disadvantages:
we could not say exactly how long the Delay procedure was in progress
we could not perform any further steps while the program executes the "delay procedure"
Now, using Timers we can build a very precise time delays which will be
based on the system clock and allow us to achieve our desired time delay
In order for us to know how to work with these timers, we need to learn
some things about each one of them. We will study each one separately.
PIC Timer0
The Timer0 module timer/counter has the following features:
8-bit timer/counter Readable and writable 8-bit software programmable prescaler Internal (4 Mhz) or external clock select Interrupt on overflow from FFh to 00h Edge select (rising or falling) for external clock
Let’s explain the features of PIC Timer0 we have listed above:
Timer0 has a register called TMR0 Register, which is 8 bits of size.
We can write the desired value into the register which will be increment
as the program progresses. Frequency varies depending on the Prescaler.
Maximum value that can be assigned to this register is 255.
TMR0IF - TMR0 Overflow Interrupt Flag bit.
The TMR0 interrupt is generated when the TMR0 register overflows from
FFh to 00h. This overflow sets bit TMR0IF (INTCON<2>). You can
initialize the value of this register to what ever you want (not necessarily
"0").
We can read the value of the register TMR0 and write into. We can reset
its value at any given moment (write) or we can check if there is a certain
numeric value that we need (read).
Prescaler - Frequency divider.
1:2
ii
1:4 1:8 1:16 1:32 1:64 1:128 1:256
The structure of the OPTION_REG register
We perform all the necessary settings with OPTION_REG Register. The
size of the register is 8 bits.
Initializing the OPTION_REG register
The following is an example how we can initialize the OPTION_REG:
1. PSA=0; // Prescaler is assigned to the Timer0 module 2. PS0=1; // Prescaler rate bits 3. PS1=1; // are set to “111” 4. PS2=1; // which means divide by 256 5. TOSE=0; // rising edge 6. TOCS=0; // Internal instruction cycle clock
If using INTERNAL crystal as clock, the division is performed as follow:
PIC TIMER0 formula for internal clock
Fout– Output frequency after the division.
Tout – The Cycle Time after the division.
4 - The division of the original clock (4 MHz) by 4, when using internal
crystal as clock (and not external oscillator).
Count - A numeric value to be placed to obtain the desired output
frequency - Fout.
(256 - TMR0) - The number of times in the timer will count based on the
register TMR0.
ii
An example of INTERNAL crystal as clock
Suppose we want to create a delay of 0.5 second in our program using
Timer0. What is the value of Count?
Calculation:
First, let’s assume that the frequency division by the Prescaler will be
1:256. Second, let’s set TMR0=0. Thus:
Formula to calculate Cout using Timer0
If using EXTERNAL clock source (oscillator), the division is performed as
follow:
PIC TIMER0 formula for external clock
In this case there is no division by 4 of the original clock. We use the
external frequency as it is.
An example of EXTERNAL clock source (oscillator):
What is the output frequency - Fout, when the external oscillator is 100kHz and
Count=8?
Calculation:
First, let’s assume that the frequency division by the Prescaler will be 1:256.
Second, let’s set TMR0=0. Thus:
ii
Formula to calculate Fout for Timer0
PIC Timer1:
The Timer1 module, timer/counter, has the following features:
16-bit timer/counter consisting of two 8-bit registers (TMR1H and TMR1L)
readable and writable 8-bit software programmable prescaler Internal (4 Mhz) or external clock select Interrupt on overflow from FFFFh to 0000h
Let’s explain the features of PIC Timer1 we have listed above:
Timer1 has a register called TMR1 register, which is 16 bits of size.
Actually, the TMR1 consists of two 8-bits registers:
TMR1H TMR1L
It increments from 0000h to the maximum value of 0xFFFFh (or 0 b1111 1111
1111 1111 or 65,535 decimal). The TMR1 interrupt, if enabled, is generated on
overflow which is latched in interrupt flag bit, TMR1IF (PIR1<0>). This
interrupt can be enabled/disabled by setting/clearing TMR1 interrupt
enable bit, TMR1IE (PIE1<0>). You can initialize the value of this register
to what ever you want (not necessarily "0").
TMR1IF – TMR1 overflow Interrupt Flag bit.
This flag marks the end of ONE cycle count. The flag need to be reset in
the software if you want to do another cycle count. We can read the value
ii
of the register TMR1 and write into. We can reset its value at any given
moment (write) or we can check if there is a certain numeric value that
we need (read).
Prescaler – Frequency divider.
We can use Prescaler for further division of the system clock. The size of
the register is 2-bit only, so you can make four different division. The
options are:
1:1 1:2 1:4 1:8
You can choose whether to use an internal system clock (crystal) or
external oscillator that can be connected to a pin RC0.
The structure of the T1CON register
We perform all the necessary settings with T1CON register. As we can see,
the size of the register is 8 bits. Let’s explore the relevant bits:
Initializing the T1CON register
The following is an example how we can initialize the T1CON register:
1. TMR1ON=1; // the timer is enable 2. TMR1CS=0; // internal clock source 3. T1CKPS0=0; // Prescaler value set to “00” 4. T1CKPS1=0; // which means 1:1 (no division)
Or you can set all the T1CON register at once as follows:
T1CON=0b00000001;
ii
Block diagram of the PIC Timer1
PIC TIMER1 block diagram
Calculating Count, Fout, and Timer1 values
If using INTERNAL crystal as clock, the division is performed as follow:
PIC TIMER1 formula for internal clock
Fout– The output frequency after the division.
Tout – The Cycle Time after the division.
4 - The division of the original clock (4 MHz) by 4, when using internal crystal
as clock (and not external oscillator).
Count - A numeric value to be placed to obtain the desired output frequency -
Fout.
(256 - TMR1) - The number of times in the timer will count based on the
register TMR0.
If using EXTERNAL clock source (oscillator), the division is performed as
follow:
PIC TIMER1 formula for external clock
ii
Simple example and calculation of how to use TIMER1:
Suppose we want to create a delay of 2 second in the our program using Timer1.
What is the value of Count?
Calculation:
First, let’s assume that the frequency division by the Prescaler will be 1:1.
Second, let’s set TMR1=0, which means the TMR1 will count 65,536 times.
Thus:
Formula to calculate Cout for Timer1
PIC Timer2:
The Timer2 module has the following features:
• two 8-bit registers (TMR2 and PR2)
• readable and writable
• prescaler and a postscaler
• connected only to an internal clock - 4 MHz crystal
• Interrupt on overflow
Let’s explain the features we have listed above:
• Timer2 has 2 count registers: TMR2 and PR2. The size of each registers is
8-bit in which we can write numbers from 0 to 255. The TMR2 register is
readable and writable and is cleared on any device Reset. PR2 is a readable
and writable register and initialized to FFh upon Reset.
Register TMR2 is used to store the “initial” count value (the value from
which it begins to count). Register PR2 is used to store the “ending” count
value (the maximum value we need/want to reach). ie: using Timer2 we
can determine the started count value, the final count value, and the
ii
count will be between these two values. The Timer2 increments from 00h
until it matches PR2 and then resets to 00h on the next increment cycle.
• Prescaler and Postscaler - Timer2 is an 8-bit timer with a prescaler and a
postscaler. Each allows to make additional division of the frequency clock
source.
Prescaler divides the frequency clock source BEFORE the counting take
place at the register TMR2, thus the counting inside the TMR2 register is
performed based on the divided frequency clock source by the Prescaler
The match output of TMR2 goes through a 4-bit postscaler (which gives a
1:1 to 1:16 scaling inclusive) to generate a TMR2 interrupt (latched in flag
bit, TMR2IF (PIR1<1>)).
Postscaler divides the frequency that comes out of the Comparator again
for the last time.
TIMER2 Prescaler and Postscaler
• TMR2IF - TMR2 to PR2 Match Interrupt Flag bit.
• Comparator – Compares the value of the register TMR2 and the
maximum value of the register PR2.
• TMR2 – The register in which the “initial” count value is written.
ii
• PR2 – The register in which the final or the maximum count value is
written.
We perform all the necessary settings with T2CON Register The structure
of the T2CON register:
As we can see, the size of the register is 8 bits. Let’s explore the relevant
The match output of TMR2 goes through a 4-bit postscaler (which gives a
1:1 to 1:16 scaling inclusive selected by control bits TOUTPS3:TOUTPS0
(T2CON<6:3>).
ii
0000 = 1:1 postscale
0001 = 1:2 postscale
0010 = 1:3 postscale
1111 = 1:16 postscale
The following is an example how we can initialize the T2CON register:
1. TMR2ON=1; // the timer is enable
2. T2CKPS0=0; // Prescaler – 1:1
3. T2CKPS1=0;
4. TOUTPS0=1; // Postscaler – 1:16
5. TOUTPS0=1;
6. TOUTPS0=1;
7. TOUTPS0=1;
Or you can set all the T2CON register at once as follows:
T2CON=0b01111100;
ii
TIMER2 BLOCK DIAGRAM
How to calculate the required values of the TIMER2:
Fout – The output frequency after the division.
Tout – The Cycle Time after the division.
4 - The division of the original clock (4 MHz) by 4, when using internal
crystal as clock (and not external oscillator).
Count - A numeric value to be placed to obtain the desired output
frequency - fout.
(PR2 – TMR2) - The number of times the counter will count.
Simple example and calculation of how to use TIMER2:
Suppose we want to create a delay of 1 second in the our program using
Timer2. What is the value of Count?
Calculation:
First, let’s assume that the frequency division by the Prescaler will be 1:1
and Postscaler will be 1:16. Second, let’s set TMR1=0 and PR2=255. Thus:
ii
Introduction to Serial communication with PIC16F877
microcontroller
In this tutorial we will study the communication component – USART
(Universal Synchronous Asynchronous Receiver Transmitter) located
within the PIC. It is a universal communication component
(Synchronous/Asynchronous), which can be used as transmitter or as
receiver. We will look at:
serial and parallel communications synchronous and asynchronous communications how to enable serial communication - TXSTA and RCSTA registers An example of 8-bit transmission An example of 9-bit transmission how to calculate the value being placed in the SPBRG register USART Transmit and Receive block diagrams Max323 Driver/Receiver the implementation of the PIC serial communication (C program
and a video)
We will show how to set USART in order to allow communication
between PIC to PIC or between PIC to a personal computer. We will start
with the definition of media concepts. There are two options to
differentiate when speaking about transmission of information on the
transmission lines:
serial communication parallel communication
ii
In order to understand what serial communication is, and emphasize the
difference between serial communication and parallel communication,
let’s take a look at the following example:
We have a multi-bit word, and we want to transmit it from one computer
to the second computer.
Using the serial communication:
When using the serial communication we transmit the multi-bit word bit
after bit (when at any given moment only one bit will pass).
Transmitting the word 10011101 using serial communication.
Using the parallel communication:
When using the parallel communication, however, the number of bits will be
transmitted at once from one computer to the second computer.
ii
Transmitting the word 10011101 using parallel communication.
In addition to the serial and parallel communications, there are 2 types of
communication we will explore:
Synchronous communication Asynchronous communication
Synchronous communication
When using the synchronous communication – the information is
transmitted from the transmitter to the receiver:
in sequence bit after bit with fixed baud rate and the clock frequency is transmitted along with the bits
That means that the transmitter and the receiver are synchronized
between them by the same clock frequency. The clock frequency can be
transmitted along with the information, while it is encoded in the
information itself, or in many cases there is an additional wire for the
clock.
This type of communication is faster compare to the asynchronous
communication since it is "constantly transmitting” the information, with
no stops.
Asynchronous communication
When using the asynchronous communication - the transmitter and the receiver
refraining to transmit long sequences of bits because there isn't a full
synchronization between the transmitter, that sends the data, and the receiver,
that receives the data.
In this case, the information is divided into frames, in the size of byte.
Each one of the frame has:
“Start” bit marks the beginning of a new frame. “Stop” bit marks the end of the frame.
instrumentObjects=instrfind; % don't pass it anything - find all of them.
delete(instrumentObjects)
a=serial('COM1','BaudRate',9600);
fopen(a);
if ccf==1
fprintf(a,'1');
elseif ccf==2
fprintf(a,'2');
elseif ccf==3
fprintf(a,'3');
ii
elseif ccf==4
fprintf(a,'4');
end
fclose(a);
pause(2)
close all;
end
delete(vid);
ii
CONCLUSION
The aim of this project work undertaken in our polytechnic is to improve our practical knowledge and to implement our creativity in scientific and technical way.
The project work teaches us, how the work can be done collectively with proper understanding among the members of the team.
We have successfully completed the project. We have made this project entirely different from the rest. Since concepts involved is entirely different that based blind person to find the person or way without anyone help with the use of pic micro controller and the web camera, which makes our project a unique.
By doing this project we gained knowledge of pic micro controller based systems and knew many things related to our project`
In this way, we can conclude that this project idea will take a major role in our science world to give a confidential survive for a blind person.