Blind Aid and Braille Teacher.docx
-
Upload
gopalkrishnan-nadar -
Category
Documents
-
view
40 -
download
0
description
Transcript of Blind Aid and Braille Teacher.docx
BLIND AID
ABSTRACT
Braille is a writing system which enables blind and partially sighted people to
read and write through touch. It was invented by Louis Braille (1809-1852), a French
teacher of the blind.
This project is about to design an improvised Blind Aid which has the function
of converting the Braille to Voice by using 8051 Microcontroller. Generally, this
project is a combination of both hardware and software. This project is to develop a
product where it can be help the Blind Person to learn Braille. During this training,
this person will do exercise of Braille word reading where they will touch the Braille
dot and try to read it. Here, this device will help the blind person, for reading the
Braille and this device will also inform the user whether valid keys are pressed. The
Six Push Button switches spaced at certain distance will act as the Braille sensor.
The project also helps the blind person in detecting the obstacles by the use of
an obstacle detection sensor so whenever the person travels, the obstacle detection
sensor helps to find the obstacles and informs the user by generating a sound output
STOP so that the blind person is protected from obstructing to a wall or any other
obstacle.
The project can also be connected to the computer and the Braille inputs can
be logged on to a notepad file. The communication between the computer and the
project takes place serially.
Page 1
BLIND AID
1. INTRODUCTION
1.1 Background Project
This project is about to complete the prototype version of Blind Aid that can
be used to convert the Braille to Voice this project can extensively helping in learning
the Braille for the Blind. This project can be used to train the Braille for the Blind
Person During this training, this person will do exercise of Braille word reading where
they will touch the Braille dot and try to read it. Here, the Braille sensor will play
their role to sense the height of Braille dot and represent it in binary code.
Microcontroller then interprets the binary codes and converts it in terms of commands
that can be sent to a wav player which plays the required file stored in the memory
card. This project should also provide the functionality of detecting the obstacles
when a Blind person is travelling
1.2 Problem Statement
Braille writing is commonly used by blind person. Since the blind person just can hear
but cannot see, so they need to use this Braille writing in reading or writing. In this
case, they should learn the Braille first before they can use it. With Braille to voice
converter, it is very helpful for those who are just starting to learn Braille writing.
This system will help them to know the sounds of every single word in Braille writing
and make them easy to understand.
1.3 Project Objectives
To construct a prototype of improvised Blind aid for purpose of aiding blind
person in their Braille reading and to inform Blind people regarding the obstacle
while travelling.
In order to ensure that the project objectives are met, one should:
1. To provide a Braille sensor that can be used by the blind person to input the Braille.
2. To develop a microcontroller program that converts the Braille inputs into its
corresponding ASCII values.
3. To send the play command to the wav player according to the user inputs.
Page 2
BLIND AID
4. To detect the Obstacles with the help of an Obstacle detection sensor and inform
user through voice.
1.4 Project Scope
1. Construct a prototype of Braille sensor and convert it into Audio Form.
2. Construct a program that converts the Braille codes into ASCII form.
3. Ensure that both of the scope above can be constructed and developed.
1.5 Methodology
There are several steps that should be done in order to achieve the objective.
This project starts with the literature review about hardware and software used in this
projects. It then comes together with attending courses such as about Microcontroller
and other courses available that related to this projects. Next, study the C language
and simulation using Keil Compiler Software. Then, the circuit was design using the
simulation software, Proteus 7 to simulate the circuit and inserting the Microcontroller
programming. After doing simulation and analyzing on the circuit, the prototype of
the circuit is construct and testing. Troubleshoot the prototype if it is not functioning
as expected.
Page 3
BLIND AID
2. REVIEW OF LITERATURE
In a country like India where population is beyond 1 billion, it is surprising
that around25% of visually impaired population of world is in India. Various
estimates say that around 4 to 14 million people in India are visually impaired. The
tragedy is that 80 % of such population suffering from visual disabilities could have
been prevented or successfully treated. The most common cause of blindness in India
is cataract, which can be remedied by a surgery.
The consequences of blindness are not limited only to to physical
disability, but it also affects the economic, social and the psychological life of an
individual. The calculated economic cost for the maintenance of a visually challenged
individual is around Rs.432,000 million, and loss productivity is Rs.86,400 million
over a decade.
2.1 What is Braille?
Braille is a writing system which enables blind and partially sighted
people to read and write through touch. It was invented by Louis Braille (1809-1852),
a French teacher of the blind.
It consists of patterns of raised dots arranged in cells of up to six dots
in a 3 x 2 configuration. Each cell represents a letter, numeral or punctuation mark.
Some frequently used words and letter combinations also have their own single cell
patterns [BS].
Fig 2.1 Six Dot Formation
Page 4
BLIND AID
2.2 How it Invented?
Louis Braille didn't invent Braille. As a boy he attended a school for the Blind
in Paris, He learned how to read but not to write. Braille was based on a tactile
military code called night writing, developed by Charles Barbier in response
to Napoleon's demand for a means for soldiers to communicate silently at night
and without light. In Barbier's system, sets of 12 embossed dots encoded 36
different sounds.
It proved to be too difficult for soldiers to recognize by touch, and was
rejected by the military. In 1821 Barbier visited the National Institute for the
Blind in Paris, where he met Louis Braille. Braille identified two major defects of
the code: first, by representing only sounds, the code was unable to render the
orthography of the words; second, the human finger could not encompass the
whole 12-dot symbol without moving, and so could not move rapidly from one
symbol to another. Braille's solution was to use 6-dot cells and to assign a specific
pattern to each letter of the alphabet.
At first, braille was a one-to-one transliteration of French orthography, but
soon various abbreviations, contractions, and even logograms were developed,
creating a system much more like shorthand. The expanded English system,
called Grade 2 Braille, was complete by 1905. For the blind today, braille is an
independent writing system rather than a code of printed orthography.
Fig 2.2 Impression on Braille Paper
Page 5
BLIND AID
2.3Braille script:
Braille scripting requires the text to be printed on a thick sheet of paper
using special symbols representing the letters of the alphabets. The symbols are
made up of six dots forming a rectangular array of two horizontal dots and three
vertical dots. The rectangular array is referred to as a cell and in each cell one or
more dots will be printed so as to project slightly from the surface of the paper.
2.3Braille script:
A visually challenged person is taught to feel the projections using the
fingers and thereby recognizing each letter. The six dots can be arranged in a total
of sixty three different combinations. Also the dots are given reference numeral
like dot one, dot two etc or simply one, two, three etc. In the rectangular
arrangement, the dots are numbered serially from top to bottom with the dots on
the left side of the array numbered from one to three and on the right side it’s four
to six.
There are a number of different versions of Braille:
Grade 1, which consists of the 26 standard letters of the alphabet and
punctuation. It is only used by people who are first starting to read Braille.
Grade 2, which consists of the 26 standard letters of the alphabet, punctuation
and contractions. The contractions are employed to save space because a Braille
page cannot fit as much text as a standard printed page. Books, signs in public
places, menus, and most other Braille materials are written in Grade 2 Braille.
Grade 3, which is used only in personal letters, diaries, and notes. It is a kind
of shorthand, with entire words shortened to a few letters.
Page 6
BLIND AID
Fig 2.3 Reference Chart of Braille Code
2.5 Specification of Braille code:
Fig 2.4 Braille cell Dimensions
Page 7
BLIND AID
Measurement RangeMinimum in Inches and
Maximum in Inches
Dot Base Diameter0.059 (1.5mm) to
0.063 (1.6mm)
Distance Between two Dots in same Cell0.090 (2.3mm) to
0.100 (2.5mm)
Distance between corresponding dots in adjacent cells0.241 (6.1mm) to
0.300 (7.6mm)
Dot height0.025 (0.6mm) to
0.037 (0.9mm)
Distance between corresponding dots
from one cell directly below
0.395 (10.0mm) to
0.400 (10.2mm)
Table 1.1 Cell Dimensions
The review of literature focuses on reports or publications of research projects
conducted by university researchers, government departments and non-government
organisations (NGO). These reports and publications were collected along with other
documents such as submissions to government by NGOs. They are included, whether
they were specifically research or are submissions or reports, as they helped to fill out
the picture of the state of blind and vision-impaired people’s interactions with
technology and the world of learning and work, and to inform the development of the
research methodology and data collection process. The assumption in the research
was that each of these documents represented the collective views of a range of
groups with an interest in the issues associated with blind and vision-impaired people.
The review of literature is structured in the following way. Firstly, literature
dealing with learning for BVI (Blind and Visually Impaired) students is reviewed.
Then, literature providing data on the state of the world of work for BVI people is
reviewed. Lastly, literature examining more general issues that impinge on living,
learning and working by BVI people is examined. This provides the overview of the
extent and dimensions of the issues facing BVI people. It needs to be said that there is
overlap across the sections. That is, research examining access to Web pages,
conducted primarily for general living, may be relevant to learning or working.
Page 8
BLIND AID
However, the research has been situated within the section relevant to the perspective
the researcher was working from in each case.
Learning for BVI students
Introduction
The literature on learning and BVI can be grouped into five general categories: (a)
analyses of the effectiveness of legislation designed to assist BVI students in
educational settings; (b) assumptions and biases against BVI students, often termed
ableism; (c) analyses of technologies with discussion of the benefits of Braille as an
active technology that develops skills; (d) more variable analyses of other
technologies in terms of their level of active engagement by students; and (e) training
for teachers of BVI students in general and in Braille, in particular.
Legislation
Smith and Wild (2006) provide an analysis of the U.S. Disabilities Act (1975) as it
applies to BVI students in terms of the concept of “least restrictive environment”
(LRE). LRE sets a number of rules that govern how access to education is provided
for students with disabilities, including BVI students. The Act requires children with
disabilities to be educated with their peers without disabilities, to the maximum extent
possible; ensures a continuum of alternative placements (e.g., regular education
classrooms, resource classrooms, or special schools for students who are visually
impaired); provides for supplementary aids and services (resource room or itinerant
instruction) in conjunction with general education; specifies that a student’s
educational placement is to be reviewed annually; and requires that placement is to be
determined by a student’s Individualized Education Program team, which includes the
parents and educators who are involved in the student’s life (Smith & Wild, 2006, p.
592). The overriding principle, according to Smith and Wild (1996), is that decisions
are based on considerations of the individual needs of the child and that least
restrictive environments should be considered before more restrictive ones. Smith and
Wild note, however, that despite the Act, decisions on educational placement are not
always made on the basis of what is best for the student, and can be based on the
category of disability, significance of the disability, space and so on.
Many researchers are concerned that although the least restrictive environment policy
is evident it is not universally implemented in education environments. The major
Page 9
BLIND AID
issue in contention is that the focus is primarily towards the integration of disabled
students with abled students and that in removing segregation and discrimination, the
setting may not provide the most suitable environment for all BVI students to learn.
Ableism
Hehir (2002), BCA (2005) and Gale (2001) term the issue of BVI students needing to
fit in as “ableism”, defined by Hehir as:
the devaluation of disability that results in societal attitudes that uncritically assert that
it is better for a child to walk than roll, speak than sign, read print than read, spell
independently than use a spell-check, and hang out with non-disabled kids as opposed
to other disabled kids. (Hehir, 2002, p. 23) In particular, the primary problem with
ableism is that the needs of disabled (including BVI) students can be hidden,
understated or not understood, according to Gale (2001). This is a result of the focus
of integration of BVI students into abled student learning situations. Long term this
has created a culture of learning misinterpretation regarding the needs of disabled
students. Further, because they are generally a minority in learning situations, they
can suffer from indirect discrimination, which further hinders the ability to understand
BVI students’ learning needs.
Academic and vocational skill development is a core focus of policy improvements
regarding the best strategy to educate BVI students. Unfortunately, ableist biases have
affected education policy, resulting in BVI students being required to learn like the
mainstream. Gale (2001) comments that the significant decline in Braille education in
Australia, due to the integration of BVI students with non-BVI students, together with
their minority status in mainstream classes, is causing much anxiety among aware
educators. Further, this is hindering the skill development of BVI students.
Hehir (2002) in particular, argued that the removal of Braille education is harming
BVI students’ learning as they are instead employing a passive approach of listening
to taped books. In a similar way, low vision students are being forced to read print
although their disability hinders them from reading efficiently, resulting in them
becoming functionally illiterate. Some BVI students also comment on their problems,
stating that they were forced to read print to “fit in” with the majority in classes and
make them “more like sighted people”. Advocacy groups, including the National
Federation of the Blind in the United States (Hehir, 2002) and the BCA in Australia
Page 10
BLIND AID
(BCA, 2005), are campaigning for the use of Braille in BVI education. These groups
argue that the current situation and education standards and literacy levels of BVI
students are unsatisfactory and require a significant revamp.
A severe problem hampering the development of Braille education is the culture and
understanding (or misunderstanding) of many mainstream policy makers and
educators regarding BVI education needs. Hehir (2002) and BCA (2005) argued that
the reluctance to intervene in the early education of BVI students to avoid labelling
them is a major issue. That is, BCA argue that learning Braille is most successful if
started early, and to delay doing so hampers educational development. In addition to
the problem caused by delayed learning of Braille is the problem caused by, according
to BCA, educators and policy makers taking the position that disabled students should
not be challenged.
Hehir (2002) and Gale (2001) suggest that these ableist biases can be removed
through greater research into developing special education programs that focus on
understanding the uses of Braille and technology in BVI education. Again, it is
interesting to note that Braille is not seen as a technology. Further, identifying the
individual learning issues and implementing appropriate personalised mechanisms to
improve students’ learning is vital. Weikle and Hedadian (2004) argue that programs
must be developed to identify literacy problems and implement interventions in early
childhood. Parental and family unit support in recognising and understanding their
child’s needs is also vital to achieving these standards. A key part of these programs is
to identify the different needs of students to provide them with a learning mechanism
that is both efficient and effective for them.
From a broader policy perspective, the Australian Federation for the Blind (Gale,
2005) advocates the development of programs to support the development of literacy
through confirming the importance of Braille as the key to acquiring literacy skills for
children who are blind or have low vision; raising the status of Braille literacy within
service-providing and consumer agencies and with families, educators and the wider
community; and providing a consistent, national basis for promoting Braille literacy.
Gale (2001) argues that the development of a universal Braille code is vital for
Australian educators to stay in touch with the rest of the world. This would promote
an integrated approach and global communication. These ideas suggest that to
develop suitable standards and practices, developing awareness and a unified stance is
Page 11
BLIND AID
of primary importance to change ableist culture. Trief and Feeney (2003) examined
the issue of what pre-college preparation was required for BVI students. While Trief
and Feeney concluded that assistive technologies are important, they stressed that it is
also important to include courses that develop social, communicational, organisational
and daily living skills. Moreover, participants stressed the importance of learning
Braille at an early age if students were to be successful at the college level.
Braille versus other assistive technologies
A different approach is taken by Weikle and Hedadian (2004), who challenge the use
of particular technologies, contesting the relevance of many assistive technologies in
developing literacy among disabled children. With many disabled children unlikely to
develop required literacy skills, Weikle and Hedadian argue that in many instances
assistive technologies only compound the problem, by providing passive activities.
Gale (2001) argues that the current overreliance on technology to support learning has
also added to the decline of skills. In particular, the overenthusiasm of educators to
divert to technology as a primary learning mechanism rather than a support
mechanism is hindering the teaching of literacy skills. Again in talking about
technologies the assumption is that this includes computer and other technologies but
not Braille.
The Australian Braille Authority (1999) agrees, suggesting that technology teaches
listening skills as opposed to the desired reading skills. It would appear to be the case
that there is a continuum of technologies, ranging from those that require significant
interaction with the person and the development of skills, like Braille, on one end. On
the other may be text readers, or talking books, which can be accessed passively and
do not require the development of skills to any great extent.
Another school of researchers have taken a favourable view of the potential of
technology (again, assuming this to be technologies other than Braille) and suggest
that it is a viable mechanism to support BVI learning. Abner and Lahm (2002) argue
that it is not assistive technologies that are the problem; it is the inability of students
to access them that is causing standards to fall. Results from their study of Kentucky
(US) BVI teachers suggest that students’ limited access to assistive technologies is the
primary issue. A further issue is the lack of education available to teachers regarding
provision of “dynamic” training, incorporating assistive technologies.
Page 12
BLIND AID
This is seen as directly influencing the student access problem with many teachers not
trained, aware, or confident in employing assistive technologies in educational
settings. Abner and Lahm (2002) suggest that teacher training and certification is
vital. More also needs to be done within educational settings to develop awareness of
the power of assistive technologies among teachers, school boards and policy makers.
Further, according to Abner and Lahm, educators must take an administrative
perspective of keeping thorough records of the technologies and their training and
students training and access requirements.
Technologies for learning
One specific technology that appears to assist BVI students, and learners generally, is
the newer generation of digital talking books. Lockerby et al. (2006) conducted a pilot
study examining the use of the talking books created with the DAISY (Digital
Accessible Information SYstem) standard. The 3-year study found that most
participants found the books easy to use while some thought parts were confusing and
responded that training was necessary to gain the most benefit from the books.
DAISY type talking books are available on CDs that can be read on specialised
players or on computers.
Participants in the Lockerby et al. (2006) study reported favourably on the
navigational capabilities of the books. Users expressed a preference for the players
over use of the books via computers, possibly indicating a desire to fit in with their
sighted peers and not stand out as different. A recurring theme, however, was that
some thought that the relatively high cost of players, such as the Victor Reader Pro
player, would prevent many BVI people from using the devices. The study involved
participants of all age levels and the use of the system for social, educational and
employment-related activities.
The importance of the use of talking books has been taken up by the U.S. National
Library Service (NLS) for the Blind and Physically Handicapped, and is reported by
Taylor (2004) in a paper examining the new initiative. Taylor reports on the NLS
initiative to replace all tape based books with digital talking books (DTB). Taylor
argued that the new format is an important advance as it allows the creation of DTBs
of varying degrees of complexity, and gives users greater flexibility in using the
books with the capacity to set bookmarks, highlight portions of text and conduct
Page 13
BLIND AID
keyword searches. Such capacity will, according to Taylor, enhance the use of talking
books for students, recreational users and people in the workforce. In addition, NLS is
trialling a system of Internet delivery of digital audio magazines.
Stevens et al. (1997) investigated Mathtalk technology, a project that has developed
multimodal interaction (using algebra earcons) to allow BVI students to access and
interpret mathematics material. Employing a visual and auditory format, the key to the
technology is its ability to understand algebra notation. In particular, the active and
passive elements of visual and listening reading respectively, are built into the system
to facilitate the mathematical function when using the system.
Two positive themes were identified from the analysis – that the system provided
“compensation for lack of external memory and provision of control over information
flow”. Through identifying these themes, Stevens et al. (1997) argued that the
technology can turn a passive listener into an active reader and provide the user fast
and accurate control over complex information. Hence, this technology potentially
provides insight into the possibilities of developing multimodal mechanisms to
facilitate active literacy skills among BVI students.
Access to education facilities as well as technologies is a current issue that is facing
many BVI students. In Australia, the ability of tertiary BVI students to access
education has been poor, with many complaints from students at many universities
(BCA, 2003). The concerns relate to the ability to access services in a format that is
relevant to their learning needs. This has left many students depressed, with low self-
esteem concerning their learning. A further concern is the limited support services
provided at many tertiary institutions, resulting in a self-service approach, which
unfortunately does not suit all students. In particular, access to course materials and
practical classes is hindered by students being forced to use cheaper systems of
access, a result of budget reductions. Another outcome of budget reductions has been
the reluctance to outsource design of services to specialists, resulting in inferior
access.
Teacher training
Teacher ability is another area of concern in facilitating the learning requirements of
BVI students. As a result of minimal or no training, teachers are forced to teach
disabled students without fully understanding their needs or the best methods to
Page 14
BLIND AID
facilitate their learning (BCA, 2005; Gale, 2001; Hehir, 2002). Ensuring education
providers are given the opportunity to learn relevant skills to provide individualised
learning programs is vital to solving this problem.
In the Australian context Gale (2001) and BCA (2005) found that the number of
itinerant teachers of Braille was low and cannot possibly cover the required scope of
teaching. This suggests that specific training not only of BVI educators but also of
general teachers is vital to fulfilling the supply requirement. Moreover, specific
training is crucial to developing a comprehensive understanding of, and commitment
to, the Braille code amongst teachers.
BCA (2005) argue that if teachers have appropriate training they will take a proactive
and confident approach to teaching Braille, and that all primary and secondary
teachers should be given Braille instruction as part of their college training. Further,
the development of professional Braille training credentials not only for teachers but
also for teaching support staff is necessary to support the learning process for BVI
students (Gale, 2001).
Page 15
BLIND AID
3. BLOCK DIAGRAM AND ITS DESCRIPTION
1. Braille Sensor:
In this project we use 6 push buttons in a 2x3 matrix. When the buttons are
pressed against the Braille, the buttons corresponding to the bumps on the Braille will
be pushed.
The push button design not only makes our project more simple and elegant, it
also makes it more affordable to the blind people.
Since our product is targeted to blind people who didn’t master the Braille
reading, we assumed they are new to the blind walking stick as well. Therefore, we
attached an IR sensor to detect whether there is any object close to the user, in hope to
reduce the chance of any unfortunate collisions.
Page 16
BRAILLE SENSOR
(SIX PUSH BUTTON SWITCH)
MICRO-CONTROLLERP89V51RD2
WAV PLAYER(SPEECH
CONVERTER IC)HEADPHONE
OBSTACLE DETECTION
SENSOR
COMPUTER
MULTIPLEXER
AMPLIFIER LOUD SPEAKER
BLIND AID
The horizontal and vertical spacing between dot centers within a Braille cell is
approximately 0.1 inches (2.5 mm); the blank space between dots on adjacent cells is
approximately 0.15 inches (3.75 mm) horizontally and 0.2 inches (5.0 mm) vertically.
2. Microcontroller (P89V51RD2):
This project uses an 8 bit microcontroller which receives the binary data input
from the switches and it decodes the input and according to the key pressed it
identifies the letter now the file corresponding to the letter is already stored in the
memory card which holds all the wav files that is to be played. The microcontroller
continuously scans all the switches. If it detects any key press event then it sets the
corresponding bits and once the speak key is pressed the exact letter corresponding to
the key pressed is decoded and the file name of the particular letter is sent to the
WAV player serially. The microcontroller is programmed using the C code.
3. WAV player:
The WAV player plays wav files from memory card giving CD quality sound
output. The board is controlled from an external microcontroller which sends simple
ASCII string telling board what to play. The board is a tiny Audio-Sound module that
can play back pre-stored audio files such as voice and music from a micro-SD
memory card. The module supports 8 bit mono uncompress audio files having
sampling rate of 44100Hz (44.1Khz). By using the free available software tool, any
audio file(WAV, MP3, PCM, etc) can be easily converted to supported format.
The compact board takes minimal board space of just 3x6cm and is ideal for
any application that required embedded audio. The board is controlled through simple
serial commands. Board is a very flexible, compact and low cost embedded audio
solution for any applications.
4. Multiplexer:
The microcontroller communicates serially with the WAV player, The
microcontroller also sends the Braille letters to Computer but the microcontroller just
has a single serial port hence it is not able to transmit data to both of them
simultaneously so when there is a need of communication with the wav player the
Connection with the PC must be disabled similarly when there is a need of
communication with the PC the connection to the wav player must be disabled this
Page 17
BLIND AID
can be done by using the multiplexer the multiplexer helps in selecting the channel
with the help of enable pins so we have used IC 74ls244 which is acting as a
Multiplexer.
5. Headphone
The output of the WAV player is an electrical signal which can be converted
into sound signal with the help of a transducer i.e. nothing but the headphone.
6. Amplifier
The amplitude of the output signal obtained from the WAV player is
very low hence it is not able to play the sound in the loudspeaker hence it is necessary
to amplify the sound to the required level hence we use an audio amplifier IC
LM1895 which amplifies the sound signal to the required level for driving the
loudspeaker.
Page 18
BLIND AID
4. Circuit Diagram and its Description
4.1 Circuit Diagram:
Page 19
BLIND AID
4.2 Circuit Description:
The push button switches connected to PORT 1 acts as the Braille sensor
where the switches connected to port 1.0 to Port 1.5 corresponds to the dot 1 to dot 6
respectively. The switch connected to port 1.6 is used for speak i.e. this switch when
pressed will play the sound of the actual alphabet that is pressed. The switch
connected to port 1.7 is used to clear the entered command that is if a wrong switch is
pressed we can clear the stored value by clicking this switch.
The microcontroller used in this circuit is P89V51RD2 from Philips it plays a
very important role it is necessary for continuously scanning the switches and the
obstacle sensors. It generates the appropriate output signal for the buzzer and the
WAV player in accordance to the received input signal. The WAV player receives the
inputs serially from the microcontroller at the baud rate of 9600bps and plays the file
that is stored in the memory card that has the file name which is similar to the
received command from the microcontroller.
Since there is a single serial port (i.e. RXD and TXD) but there is a necessity
of communicating serially with both WAV player and the computer hence there
should be device which should connect the microcontroller to WAV player while
sending the file name to WAV player and the microcontroller should be connected to
the computer while communicating with the computer. For this purpose we have used
two buffers which can be selected according the connection required i.e. the buffer
connected to the PC will be disabled while communicating with the WAV player and
similarly the buffer connected to the WAV player will be disabled while
communicating with the Computer. The IC 74LS244 is used for this purpose which
has 8 buffers among them we are using only two buffers as shown in the circuit
diagram.
The buzzer is connected to port 0.0 the buzzer generates a sound when a
switch is pressed this is useful to know that whether a key is pressed or not. The
obstacle detection sensor is connected to Port 0.1 and the select switch is used select
the walking mode or learning mode. The walking mode when enabled only then the
obstacle detection sensor will be monitored. When a obstacle detection sensor is
obstructed, a stop sound is generated from the sensor.
Page 20
BLIND AID
5. HARDWARE DESCRIPTION
5.1 Microcontroller P89V51RD2:
The P89V51RD2 is an 80C51 microcontroller with 64 kB Flash and 1024
bytes of data RAM. A key feature of the P89V51RD2 is its X2 mode option. The
design engineer can choose to run the application with the conventional 80C51 clock
rate (12 clocks per machine cycle) or select the X2 mode (6 clocks per machine cycle)
to achieve twice the throughput at the same clock frequency.
Another way to benefit from this feature is to keep the same performance by
reducing the clock frequency by half, thus dramatically reducing the EMI.
The Flash program memory supports both parallel programming and in serial
In-System Programming (ISP). Parallel programming mode offers gang-programming
at high speed, reducing programming costs and time to market.
ISP allows a device to be reprogrammed in the end product under software
control. The capability to field/update the application firmware makes a wide range of
applications possible.
The P89V51RD2 is also In-Application Programmable (IAP), allowing the
Flash program memory to be reconfigured even while the application is running.
Features:
1. 80C51 Central Processing Unit
2. 5 V Operating voltage from 0 to 40 MHz
3. 64 kB of on-chip Flash program memory with ISP (In-System Programming) and
4. IAP (In-Application Programming)
5. Supports 12-clock (default) or 6-clock mode selection via software or ISP
6. SPI (Serial Peripheral Interface) and enhanced UART
7. PCA (Programmable Counter Array) with PWM and Capture/Compare functions
8. Four 8-bit I/O ports with three high-current Port 1 pins (16 mA each)
9. Three 16-bit timers/counters
10. Programmable Watchdog timer (WDT)
11. Eight interrupt sources with four priority levels
Page 21
BLIND AID
12. Second DPTR register
13. Low EMI mode (ALE inhibit)
14. TTL- and CMOS-compatible logic levels
5.1.1 Pin Configuration of 89V51RD2:
Page 22
BLIND AID
5.1.2 Block diagram:
Page 23
BLIND AID
5.1.3 Pin Details:
89V51RD2 is 40 pin IC with four ports. Pin diagram of microcontroller is shown in Fig.
VCC - - Supply voltage..
VSS - - Ground.
Port 0Port 0
Port 0 is an 8-bit open-drain bi-directional I/O port. As an output port, each pin can
sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high
impedance inputs. Port 0 may also be configured to be the multiplexed low order
address/data bus during accesses to external program and data memory. In this mode P0 has
internal pull-ups. Port 0 also receives the code bytes during Flash programming, and
outputs the code bytes during program verification. External pull-ups are required during
program verification.
Port 1 Port 1
Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 1 output
buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins they are pulled
high by the internal pull-ups and can be used as inputs. As inputs, Port 1 pins that are
externally being pulled low will source current (IIL) because of the internal pull-ups. Port 1
also receives the low-order address bytes during Flash programming and verification.
Port 2Port 2
Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2 output
buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins they are pulled
high by the internal pull-ups and can be used as inputs. As inputs, Port 2 pins that are
externally being pulled low will source current (IIL) because of the internal pull-ups. Port 2
emits the high-order address byte during fetches from external program memory and during
accesses to external data memory that uses 16-bit addresses (MOVX @ DPTR). In this
application, it uses strong internal pull-ups when emitting 1s. During accesses to external
data memory that uses 8-bit addresses (MOVX @ RI), Port 2 emits the contents of the P2
Special Function Register. Port 2 also receives the high-order address bits and some control
signals during Flash programming and verification.
Page 24
BLIND AID
Port 3Port 3
Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 3 output
buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins they are pulled
high by the internal pull-ups and can be used as inputs. As inputs, Port 3 pins that are
externally being pulled low will source Current (IIL) because of the pull-ups. Port 3 also
serves the functions of various special features of the AT89V51RD2 as listed:
P3.0 RXD (serial input port)
P3.1 TXD (serial output port)
P3.2 INT0 (external interrupt 0)
P3.3 INT1 (external interrupt 1)
P3.4 T0 (timer 0 external input)
P3.5 T1 (timer 1 external input)
P3.6 WR (external data memory write strobe)
P3.7 RD (external data memory read strobe)
Port 3 also receives some control signals for Flash programming and verification.
RST –RST –
Reset input. A high on this pin for two machine cycles while the oscillator is running
resets the device.
ALE/ PROGALE/ PROG
Address Latch Enable output pulse for latching the low byte of the address during
accesses to external memory. This pin is also the program pulse input (PROG) during Flash
programming. In normal operation ALE is emitted at a constant rate of 1/6 the oscillator
frequency, and may be used for external timing or clocking purposes. Note, however, that
one ALE pulse is skipped during each access to external Data Memory. If desired, ALE
operation can be disabled by setting bit 0 of SFR location 8EH. With the bit set, ALE is
active only during a MOVX or MOVC instruction. Otherwise, the pin is weakly pulled
high. Setting the ALE-disable bit has no effect if the microcontroller is in external
execution mode.
PSENPSEN
Page 25
BLIND AID
Program Store Enable is the read strobe to external program memory. When the
89V51RD2FA is executing code from external program memory, PSEN is activated twice
each machine cycle, except that two PSEN activations are skipped during each access to
external data memory.
EA/VPP EA/VPP
External Access Enable. EA must be strapped to GND in order to enable the device to
fetch code from external program memory locations starting at 0000H up to FFFFH. Note,
however, that if lock bit 1 is programmed, EA will be internally latched on reset. EA should
be strapped to VCC for internal program executions. This pin also receives the 12-volt
programming enable voltage (VPP) during Flash programming, for parts that require 12-
volt VPP.
5.1.4 Oscillator and Clock Details:5.1.4 Oscillator and Clock Details:
XTAL1
Input to the inverting oscillator amplifier and input to the internal clock operating
circuit.
XTAL2
Output from the inverting oscillator amplifier.
5.1.5 Transmission in 89V51RD2::
89V51RD2 has a serial data communication circuit that uses register SBUF to hold
data. Register SCON controls data communication. Register PCON controls data rates. Pins
RxD (p3.0) and TxD(3.1) connect to serial data network. SBUF is physically two registers,
one is writing only i.e. to hold data to be transmitted out of microcontroller via TxD. The
other is read only and holds received data from an external transmitting source via RxD.
Page 26
BLIND AID
Whenever a data byte is transmitted T1 flag is set and so program is interrupted to
transmit another byte of data. The main program is interrupted only serial port interrupt is
1E SFR is enable.
The data transmission steps are:
Initially the T1 flag is reset.
Data to be transmitted must be written into SBUF.
As soon as data is transmitted the T1 flag is set and main program is interrupted to
execute ISR.
In the ISR T1 flag is reset .another data is written in SBUF register.
5.2 WAV Player
Board plays wav files from memory card giving CD quality sound output. The board is
controlled from an external microcontroller or PC which sends simple ASCII string telling
board what to play. The board is a tiny Audio-Sound module that can play back pre-stored
audio files such as voice and music from a micro-SD memory card.
The module supports 8 bit mono uncompress audio files having sampling rate of
44100Hz (44.1Khz). By using the free available software tool, any audio file(WAV, MP3,
PCM, etc) can be easily converted to supported format. The compact board takes minimal
board space of just 3x6cm and is ideal for any application that required embedded audio.
The board is controlled through simple serial commands. Board is a very flexible, compact
and low cost embedded audio solution for any applications. It accepts any micro SD
memory card from 128MB to 32GB. These memory cards are available at very low cost
due to wide use in mobile phones.
5.2.1 Features
Low cost module for all embedded audio-sound applications
Plays high quality audio of 44.1 Khz
Can interface with any microcontroller or PC Serial port
Accepts any Micro SD Card from 128MB to 32GB which is FAT16 or FAT32
formatted
Simple to use and low cost
Play indicating Status LED
Compact size measuring only 3cm x 6cm
Page 27
BLIND AID
5.2.2 Applications
General purpose embedded audio and sound applications
All voice annunciator systems.
Automobile, Parking radar, GPS navigation systems
Elevator, Security, Access-Control and Warning devices.
Intelligent home automation and domestic applications
Robotics and Industrial Control
Traffic facilities: Toll gates, parking lots.
Toys, learning tools, talking books and all gaming sound effects.
MP3 player like simple devices
Page 28
BLIND AID
5.2.3 Control Commands:
Following are the commands you can use to control the board, Commands and
response are simple ASCII strings you can send from microcontroller or write directly in
terminal.
Page 29
BLIND AID
5.2.4 LED Behaviour:
There is a red led on board which has following meaning:
5.3 IC BEL 1895(Amplifier IC):
Page 30
BLIND AID
5.4 IC 74LS244:
Page 31
BLIND AID
These octal buffers and line drivers are designed specifically to improve both the
performance and density of three-state memory address drivers, clock drivers, and bus-
oriented receivers and transmitters. The designer has a choice of selected combinations of
inverting and noninverting outputs, symmetrical, active-low output-control (G)\ inputs, and
complementary output-control (G and G\) inputs.
Features
3-State Outputs Drive Bus Lines or Buffer Memory Address Registers
PNP Inputs Reduce DC Loading
Hysteresis at Inputs Improves Noise Margins
IC Pin Diagram:
1. PCB DESIGNING
Page 32
BLIND AID
8.1PCB DESIGNING:
PCB FABRICATION:
Printed circuit boards, or PCBs, form the core of electronic equipment domestic and
industrial. Some of the areas where PCBs are intensively used are computers, process
control, telecommunications and instrumentation.
MANUFATCURING:
The manufacturing process consists of two methods; print and etch, and print, plate
and etch. The single sided PCBs are usually made using the print and etch method.
The double sided plate through hole (PTH) boards are made by the print plate and
etch method. The production of multi layer boards uses both the methods. The inner
layers are printed and etch while the outer layers are produced by print, plate and etch
after pressing the inner layers.
PANELISATION:
Here the schematic transformed in to the working positive/negative films. The circuit
is repeated conveniently to accommodate economically as many circuits as possible in
a panel, which can be operated in every sequence of subsequent steps in the PCB
process. This is called penalization. For the PTH boards, the next operation is drilling.
DRILLING:
PCB drilling is a state of the art operation. Very small holes are drilled with high
speed CNC drilling machines, giving a wall finish with less or no smear or epoxy,
required for void free through hole plating.
ETCHING:
Once a multiplayer board is drilled and electro less copper deposited, the image
available in the form of a film is transferred on to the outside by photo printing using
a dry film printing process. The boards are then electrolytic plated on to the circuit
pattern with copper and tin. The tin-plated deposit serves an etch resist when copper
in the unwanted area is removed by the conveyor‘s spray etching machines with
Page 33
BLIND AID
chemical etch ants. The etching machines are attached to an automatic dosing
equipment, which analyses and controls etch ants concentrations
8.2: Design Rule:
Rules followed while selecting artwork symbol are,
1. Minimum spacing between conductor and pad should be 0 .35 mm in 1:1 scale.
2. Minimum spacing between parallel conductors should be 0.4 mm in 1:1 scale.
3. The area of non-PTH solder pad should not be less than (5 sq.mm.).
4. The width of current carrying conductors should be determined for maximum
temperature, rise of 20 ْ�C.
General art work rules:
1. When there is higher conductor density assumes the conductors parallel to any one
of the edge of the board
2. When conductors have to be placed in other direction preference should be given to
the 45 � direction or to the 30 � / 60 � direction.
3. Whenever there is sufficient space available the conductors can be run in any
direction so as to achieve sorted possible interconnection.
4. As far as possible, design and the conductor on the solder pad. Conductor forming
sharp internal angles must be avoided.
5. When a member of conductor has to run between two pads the conductor lines are
run perpendicular w.r.to the center-to-center line of pair of pads.
6. Equally distributed spacing is to be provided when three or more conductors run
along a direction and / or between two pads.
7. Minimum spacing is provided when three or more lines run along a direction and /
or between two pads.
8. The diameter of solder pad should be approximately 8 times the drilled hole
diameter.
Page 34
BLIND AID
8.3: TESTING:
Cold Test:
1. The first step was to carry out the visual inspection of the PCB. This means to
check any short or cut in the tracks on PCB. Find any missing pads if any where
found on it. We did mechanical repair of the same.
2. The second step involved the continuity testing. This means to check that the
current is flowing through all the tracks.
3. Thirdly testing solder of socket crystal & reset circuitry.
Test Result
[1] Give VCC and GND to microcontroller.
[2] Check voltage between 18 & 19 pins (XTAL 1, XTAL 2). It should be 2.5.
[3] Check available voltage pin 3.0-1.4. If all these voltage are coming then the
microcontroller is working properly.
[4] Check VCC and GND of LCD & write a RTN for display any message on LCD if
the message does not come check the supply again also check the data lines for any
opens or short.
µC Testing
Initially the µC is given the power supply. All the respective ports and port pins were
checked when the signals were proper, it means that all the µC signal were correct. If
these signals are not proper, we can check the signals from VCC ground, reset, circuit
respectively.
Even after the above test if the signals are not proper it means that the purchased CPU
is not functioning properly & must be thrown.
1. We can put latch and memory in their respective sockets we wrote a small
program for the same then checked for numbers on port pin.
Page 35
BLIND AID
2. For the transmission of data stored in memory of µC. Various parameters of
communication port such as parity, data type baud rate were checked before
the transmission.
3. Accepting the data next step was to check that all the devices that are
connected and the program that was written to accept the data from the µC is
successful or not then the further modifications were done in the program.
Page 36
BLIND AID
1. ARTWORK AND LAYOUT
The fig. below shows the layout of Microcontroller PCB
The fig. below shows the layout of buffer IC 74LS244
Page 37
BLIND AID
The fig. below shows the layout of buffer Amplifier IC:
Page 38
BLIND AID
1. SOFTWARE DESCRIPTION
The software part of the project can be divided into two parts:
i. Software in Computer
ii. Software in Microcontroller
7.1 Software in Computer:
All the outset the application requirements were studied and analysis and
design were carried out. The development platform and software tool were
identified as Visual Basic 6.0 (As Front-End) and Access (As Back-End)
database. Using visual programming, object are manipulated directly and also
due to the feature of fast and easy prototyping and GUI building visual basic
6.0 as used.
In the system analysis and design part, data is processed using query
techniques and study of the existing system.The detail of the programming
steps followed and important clauses incorporated in the screen are described
in documents.
7.1.1 Why Visual Basic Programming
Using visual programming objects are manipulated directly, By
Highlighting; point and cliking specific properties can relate to physical
appearance (color, shading, fonts, size and so on). Most widely used objects
oriented, graphical programming language for window development are:
Visual Basic
Power Builder
Forms 5.0 / 6.0
We have selected one of the most widely used object oriented, graphical
programming language for window development Visual Basic. Selection of
visual basic based on following strengths:
Fast and easy prototyping and GUI building.
Fully functional, real window application building.
Excellent DDE and DDL support and client OLE.
Page 39
BLIND AID
MDI support.
Easy Dialog Box Construction.
Easy Menu Generation supporting Short – cut key.
7.1.2 Introduction of Visual Basic
Visual Basic Editions:
Visual Basic is available in three versions, each generate to meet a
specific set of development requirement.
The visual basic learning edition.
The professional edition.
The enterprise edition.
7.1.3 Visual Basic and Database
Visual Basic can be used to build very complex application. Visual Basic
effective software that can perform all essential management function. It can
be used to:
Create data table and store data in them.
Edit data records.
Retrieve data selectively from stored records to provide specific
information.
Prepare printed information retrieval reports.
Perform calculation.
Create screens that can interact with users.
Visual Basic provides a wide verity of data access alternatives, for working with local and remote database, including enterprise level three-tiered client/server application.
Page 40
BLIND AID
Visual Basic Forms:
Form1: frmcomminit
Public PortNo As Integer
Private Sub cmdComok_Click() If cmbComselect.ListIndex = -1 Then MsgBox "Please select the COM Port Number" Else PortNo = cmbComselect.ListIndex + 1 MsgBox "The COM port selected is" & Str(PortNo) Unload Me frmmain.Show End If End Sub
Private Sub Form_Load() cmbComselect.AddItem ("COM 1") cmbComselect.AddItem ("COM 2") cmbComselect.AddItem ("COM 3") cmbComselect.AddItem ("COM 4") cmbComselect.AddItem ("COM 5") cmbComselect.AddItem ("COM 6")
Page 41
BLIND AID
cmbComselect.AddItem ("COM 7") cmbComselect.AddItem ("COM 8") cmbComselect.AddItem ("COM 9") cmbComselect.AddItem ("COM 10")End Sub
Form2: frmmain
Page 42
BLIND AID
CODING:
Option ExplicitDim receive As StringDim receive_array() As Byte
Private Sub Form_Load() 'settings for the serial port initialisation MSComm1.Settings = "9600,N,8,1" MSComm1.CommPort = frmComminit.PortNo MSComm1.PortOpen = True MSComm1.RThreshold = 2 imgbraillechart.Picture = LoadPicture(App.Path & "\braillechart.jpg") 'initially blank circles are shown
Page 43
BLIND AID
clearfieldsEnd Sub
Private Sub clearfields() imgdot1.Picture = LoadPicture(App.Path & "\nofill.jpg") imgdot2.Picture = LoadPicture(App.Path & "\nofill.jpg") imgdot3.Picture = LoadPicture(App.Path & "\nofill.jpg") imgdot4.Picture = LoadPicture(App.Path & "\nofill.jpg") imgdot5.Picture = LoadPicture(App.Path & "\nofill.jpg") imgdot6.Picture = LoadPicture(App.Path & "\nofill.jpg") imgdot1on.Picture = LoadPicture("") imgdot2on.Picture = LoadPicture("") imgdot3on.Picture = LoadPicture("") imgdot4on.Picture = LoadPicture("") imgdot5on.Picture = LoadPicture("") imgdot6on.Picture = LoadPicture("") End Sub
Private Sub MSComm1_OnComm() If MSComm1.CommEvent = comEvReceive Then receive = MSComm1.Input receive_array = StrConv(receive, vbFromUnicode) If (Chr(receive_array(0))) = "D" Then Select Case (Chr(receive_array(1))) Case "1" imgdot1on.Picture = LoadPicture(App.Path & "\redfill.jpg") Case "2" imgdot2on.Picture = LoadPicture(App.Path & "\redfill.jpg") Case "3" imgdot3on.Picture = LoadPicture(App.Path & "\redfill.jpg") Case "4" imgdot4on.Picture = LoadPicture(App.Path & "\redfill.jpg") Case "5" imgdot5on.Picture = LoadPicture(App.Path & "\redfill.jpg") Case "6" imgdot6on.Picture = LoadPicture(App.Path & "\redfill.jpg") Case "C" clearfields Case "I" clearfields End Select Else If (Chr(receive_array(0))) = "V" Then
Page 44
BLIND AID
lblData.Caption = lblData & Chr(receive_array(1)) clearfields End If End If End IfEnd Sub
ALGORITHM:
Intialise the serial port
Page 45
BLIND AID
Enable the buffer used for the WAV player and disable the buffer used for the
computer and transmit the following commands
1. X (to disable the repeat loop of the WAV player)
2. “Pst\r” (to play the start file)
3. “Pyd\r” (to play that your device is started)
Scan the all the switches
If any of the dot switch is pressed the bit corresponding to the particular dot is
set and D and the number is sent to the computer
If the clear switch is pressed then the stored value of the memory holding the
set values of the braille switches is cleared to 0
If the speak switch is pressed then the value stored in the memory location is
used to obtain the actual data that is stored in the array.
Now the obtained data can be either valid or Invalid if the data is invalid then
the command “Pinv\r” is sent to the WAV player but if the key pressed is
valid then the letters P and the alphabet and ‘\r’ is sent to the WAV player the
microcontroller also sends the V and the corresponding alphabet to the
computer.
If the toggle switch is enabled for the obstacle only then monitor the obstacle
detection sensor and if the toggle switch is enabled and the obstacle detection
sensor is also obstructed then the microcontroller sends “Pobs\r” to the WAV
player to inform the person that an obstacle is detected
FLOW CHART
Page 46
BLIND AID
FLOW CHART OF PROJECT:
Flowchart of scanning the Braille switches
Page 47
BLIND AID
SOFTWARE IN MICROCONTROLLER
Page 48
BLIND AID
11.1 INTRODUCTION TO KEIL MICRO VISION (IDE)
Keil an ARM Company makes C compilers, macro assemblers, real-time
kernels, debuggers, simulators, integrated environments, evaluation boards, and
emulators for ARM7/ARM9/Cortex-M3, XC16x/C16x/ST10, 251, and 8051 MCU
families.
Keil development tools for the 8051 Microcontroller Architecture support
every level of software developer from the professional applications engineer to the
student just learning about embedded software development. When starting a new
project, simply select the microcontroller you use from the Device Database and the
µVision IDE sets all compiler, assembler, linker, and memory options for you.
Keil is a cross compiler. So first we have to understand the concept of
compilers and cross compilers. After then we shall learn how to work with keil.
11.2 CONCEPT OF COMPILER
Compilers are programs used to convert a High Level Language to object
code. Desktop compilers produce an output object code for the underlying
microprocessor, but not for other microprocessors. I.E the programs written in one of
the HLL like ‘C’ will compile the code to run on the system for a particular processor
like x86 (underlying microprocessor in the computer). For example compilers for Dos
platform is different from the Compilers for Unix platform So if one wants to define
a compiler then compiler is a program that translates source code into object code.
The compiler derives its name from the way it works, looking at the entire
piece of source code and collecting and reorganizing the instruction. See there is a bit
little difference between compiler and an interpreter. Interpreter just interprets whole
program at a time while compiler analyses and execute each line of source code in
succession, without looking at the entire program.
The advantage of interpreters is that they can execute a program immediately.
Secondly programs produced by compilers run much faster than the same programs
executed by an interpreter. However compilers require some time before an
executable program emerges. Now as compilers translate source code into object
code, which is unique for each type of computer, many compilers are available for the
same language.
11.3 CONCEPT OF CROSS COMPILER
Page 49
BLIND AID
A cross compiler is similar to the compilers but we write a program for the
target processor (like 8051 and its derivatives) on the host processors (like computer
of x86). It means being in one environment you are writing a code for another
environment is called cross development. And the compiler used for cross
development is called cross compiler. So the definition of cross compiler is a compiler
that runs on one computer but produces object code for a different type of computer.
11.4 KEIL C CROSS COMPILER
Keil is a German based Software development company. It provides several
development tools like
• IDE (Integrated Development environment)
• Project Manager
• Simulator
• Debugger
• C Cross Compiler, Cross Assembler, Locator/Linker
The Keil ARM tool kit includes three main tools, assembler, compiler and
linker. An assembler is used to assemble the ARM assembly program. A compiler is
used to compile the C source code into an object file. A linker is used to create an
absolute object module suitable for our in-circuit emulator.
11.5 Building an Application in µVision2
To build (compile, assemble, and link) an application in µVision2, you must:
1. Select Project -(forexample,166\EXAMPLES\HELLO\HELLO.UV2).
2. Select Project - Rebuild all target files or Build target.µVision2 compiles,
assembles, and links the files in your project.
11.6 Creating Your Own Application in µVision2
To create a new project in µVision2, you must:
1. Select Project - New Project.
2. Select a directory and enter the name of the project file.
3. Select Project - Select Device and select an 8051, 251, or C16x/ST10 device
from the Device Database™.
Page 50
BLIND AID
4. Create source files to add to the project.
5. Select Project - Targets, Groups, Files. Add/Files, select Source Group1, and
add the source files to the project.
6. Select Project - Options and set the tool options. Note when you select the
target device from the Device Database™ all special options are set
automatically. You typically only need to configure the memory map of your
target hardware. Default memory model settings are optimal for most
applications.
7. Select Project - Rebuild all target files or Build target.
11.7 Debugging an Application in µVision2
To debug an application created using µVision2, you must:
1. Select Debug - Start/Stop Debug Session.
2. Use the Step toolbar buttons to single-step through your program. You may
enter G, main in the Output Window to execute to the main C function.
3. Open the Serial Window using the Serial #1 button on the toolbar.
Debug your program using standard options like Step, Go, Break, and so on.
11.8 Starting µVision2 and Creating a Project
µVision2 is a standard Windows application and started by clicking on the
program icon. To create a new project file select from the µVision2 menu Project –
New Project…. This opens a standard Windows dialog that asks you for the new
project file name. We suggest that you use a separate folder for each project. You can
simply use the icon Create New Folder in this dialog to get a new empty folder. Then
select this folder and enter the file name for the new project, i.e. Project1. µVision2
creates a new project file with the name PROJECT1.UV2 which contains a default
target and file group name. You can see these names in the Project.
11.9 Window – Files.
Page 51
BLIND AID
Now use from the menu Project – Select Device for Target and select a CPU
for your project. The Select Device dialog box shows the µVision2 device data base.
Just select the microcontroller you use. We are using for our examples the Philips
80C51RD+ CPU. This selection sets necessary tool Options for the 80C51RD+
device and simplifies in this way the tool Configuration.
11.10 Building Projects and Creating a HEX Files
Typical, the tool settings under Options – Target are all you need to start a
new application. You may translate all source files and line the application with a
click on the Build Target toolbar icon. When you build an application with syntax
errors, µVision2 will display errors and warning messages in the Output Window –
Build page. A double click on a message line opens the source file on the correct
location in a µVision2 editor window. Once you have successfully generated your
application you can start debugging.
After you have tested your application, it is required to create an Intel HEX
file to download the software into an EPROM programmer or simulator. µVision2
creates HEX files with each build process when Create HEX files under Options for
Target – Output is enabled. You may start your PROM programming utility after the
make process when you specify the program under the option Run User Program #1.
11.11 CPU Simulation
µVision2 simulates up to 16 Mbytes of memory from which areas can be
mapped for read, write, or code execution access. The µVision2 simulator traps
and reports illegal memory accesses. In addition to memory mapping, the simulator
also provides support for the integrated peripherals of the various 8051 derivatives.
The on-chip peripherals of the CPU you have selected are configured from the
Device.
11.12 Database selection
Page 52
BLIND AID
You have made when you create your project target. Refer to page 58 for more
Information about selecting a device. You may select and display the on-chip
peripheral components using the Debug menu. You can also change the aspects of
each peripheral using the controls in the dialog boxes.
11.13 Start Debugging
You start the debug mode of µVision2 with the Debug – Start/Stop Debug
Session Command. Depending on the Options for Target – Debug Configuration,
µVision2 will load the application program and run the startup code µVision2 saves
the editor screen layout and restores the screen layout of the last debug session. If the
program execution stops, µVision2 opens an editor window with the source text or
shows CPU instructions in the disassembly window. The next executable statement is
marked with a yellow arrow. During debugging, most editor features are still
available.
For example, you can use the find command or correct program errors.
Program source text of your application is shown in the same windows. The µVision2
debug mode differs from the edit mode in the following aspects:
_ The “Debug Menu and Debug Commands” described on page 28 are available. The
additional debug windows are discussed in the following.
_ The project structure or tool parameters cannot be modified. All build commands
are disabled.
11.14 Disassembly Window
The Disassembly window shows your target program as mixed source and
assembly program or just assembly code. A trace history of previously executed
instructions may be displayed with Debug – View Trace Records. To enable the trace
history, set Debug – Enable/Disable Trace Recording.
Page 53
BLIND AID
If you select the Disassembly Window as the active window all program step
commands work on CPU instruction level rather than program source lines. You can
select a text line and set or modify code breakpoints using toolbar buttons or the
context menu commands.
You may use the dialog Debug – Inline Assembly… to modify the CPU
instructions. That allows you to correct mistakes or to make temporary changes to the
target program you are debugging. Numerous example programs are included to help
you get started with the most popular embedded 8051 devices.
The Keil µVision Debugger accurately simulates on-chip peripherals (I²C,
CAN, UART, SPI, Interrupts, I/O Ports, A/D Converter, D/A Converter, and PWM
Modules) of your 8051 device. Simulation helps you understand hardware
configurations and avoids time wasted on setup problems. Additionally, with
simulation, you can write and test applications before target hardware is available.
Page 54
BLIND AID
MICROCONTROLLER CODE:/*Program for Braille Voice Synthesizer*/
/*-------------include files------------------------*/#include <reg51.h>#include <stdio.h>#include "serial.h"/*-------------port definitions------------------------*/sbit dot1=P1^0;sbit dot2=P1^1;sbit dot3=P1^2;sbit dot4=P1^3;sbit dot5=P1^4;sbit dot6=P1^5;sbit speak=P1^6;sbit clear=P1^7;
sbit buzzer=P0^0;sbit obstacle=P0^1;sbit select=P0^2;sbit sel_pc = P0^3;sbit sel_wav = P0^4;
/*----------global variable declarations---------------*/unsigned char bdata BrailleIn=0x00;sbit BrailleIn0 = BrailleIn^0;sbit BrailleIn1 = BrailleIn^1;sbit BrailleIn2 = BrailleIn^2;sbit BrailleIn3 = BrailleIn^3;sbit BrailleIn4 = BrailleIn^4;sbit BrailleIn5 = BrailleIn^5;
bit flag=0;
code unsigned char maptable[64]="$a$b$k$l$cif$msp$e$h$o$r$djg$ntq$$$$$u$v$$$$$x$$$$$$$z$$$$w$$y$$";
/*---fucntion for generating delay in milli seconds----*/
Page 55
BLIND AID
/*input arguments : delay required in msec*/void delay_ms(unsigned int msec){
unsigned int i,jfor(i=0;i<msec;i++)for(j=0;j<1275;j++);
}void key_scan(void){
flag=0;BrailleIn=0x00;buzzer=1;while(flag==0){
if(dot1==0){
delay_ms(32);if(dot1==0){
BrailleIn0=1;buzzer=0;sel_pc=0;sel_wav=1;delay_ms(10);send_string("D1");
sel_pc=1;sel_wav=0;while(!dot1);buzzer=1;
}}if(dot2==0){
delay_ms(32);if(dot2==0){
BrailleIn1=1;buzzer=0;sel_pc=0;sel_wav=1;delay_ms(10);send_string("D2");
Page 56
BLIND AID
sel_pc=1;sel_wav=0;while(!dot2);buzzer=1;
}}if(dot3==0){
delay_ms(32);if(dot3==0){
BrailleIn2=1;buzzer=0;sel_pc=0;sel_wav=1;delay_ms(10);send_string("D3");sel_pc=1;sel_wav=0;while(!dot3);buzzer=1;
}}if(dot4==0){
delay_ms(32);if(dot4==0){
BrailleIn3=1;buzzer=0;sel_pc=0;sel_wav=1;delay_ms(10);send_string("D4");sel_pc=1;sel_wav=0;while(!dot4);buzzer=1;
}}if(dot5==0){
delay_ms(32);if(dot5==0)
Page 57
BLIND AID
{BrailleIn4=1;buzzer=0;sel_pc=0;sel_wav=1;delay_ms(10);send_string("D5");sel_pc=1;sel_wav=0;while(!dot5);buzzer=1;
}}if(dot6==0){
delay_ms(32);if(dot6==0){
BrailleIn5=1;buzzer=0;sel_pc=0;sel_wav=1;delay_ms(10);send_string("D6");sel_pc=1;sel_wav=0;while(!dot6);buzzer=1;
}}if(clear==0){
delay_ms(32);if(clear==0){
BrailleIn=0x00;buzzer=0;sel_pc=0;sel_wav=1;delay_ms(10);send_string("DC");sel_pc=1;sel_wav=0;while(!clear);
Page 58
BLIND AID
buzzer=1;}
}if(speak==0){
delay_ms(32);if(speak==0){
flag=1;buzzer=0;while(!speak);buzzer=1;
}}if(select==0){
if(obstacle==0){
sel_pc=1;sel_wav=0;delay_ms(10);send_string("Pobs\r\0");delay_ms(1000);
}}
}//while
}//fucntion/*-------------main program starts here-------------*/void main(void){
serial_init(9600);buzzer=1;sel_pc=1;sel_wav=0;delay_ms(300);ser_tx('X');delay_ms(100);send_string("Pst\r\0");delay_ms(16000);send_string("Pyd\r\0");delay_ms(4000); P1=0xff;while(1)
Page 59
BLIND AID
{key_scan();if (maptable[BrailleIn]=='$'){
sel_pc=0;sel_wav=1;delay_ms(10);send_string("DI");sel_pc=1;sel_wav=0;delay_ms(10);send_string("Pinv\r\0");
}else{
sel_pc=0;sel_wav=1;delay_ms(10);ser_tx('V');ser_tx(maptable[BrailleIn]);sel_pc=1;sel_wav=0;delay_ms(10);ser_tx('P');ser_tx(maptable[BrailleIn]);ser_tx('\r');
}
delay_ms(1000);}
}//main
BILLS OF MATERIAL
Page 60
BLIND AID
SR NO COMPONENT QTY COST
1 WAV PLAYER 1 2000
2 MICROCONTROLLER P89V51RD2
1 200
3 Memory Card(2GB) 1 250
4 REGULATOR ICS 1 10
5 RESISTORS 20 20
6 CAPACITORS 20 80
7 IC 74LS244 1 50
8 IC 1895 1 60
9 SWITCHES 12 300
10 IC SOCKET 3 40
11 PCB DEVELOPMENT 3 1000
12 Sharp Obstacle DetectionSensor
1 750
13 CRYSTAL 1 5
14 SWITCHES 6 60
15 Speaker 1 30
16 Relimate connectors 5 100
17 Battery 2 50
18 Miscellaneous 300
TOTAL 5305
ADVANTAGES AND DISADVANTAGES
Page 61
BLIND AID
APPLICATIONS AND FUTURE SCOPE:
Page 62
BLIND AID
BIBLIOGRAPHY
Page 63