Blind Aid and Braille Teacher.docx

89
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. Page 1

description

It is the project report which has the Braille teacher which can be used to learn braille There will be six keys when the correct key pattern of an alphabet is selected it generates the sound of the alphabetit also has an ultrasonic sensor of obstacle detection

Transcript of Blind Aid and Braille Teacher.docx

Page 1: 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

Page 2: Blind Aid and Braille Teacher.docx

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

Page 3: Blind Aid and Braille Teacher.docx

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

Page 4: Blind Aid and Braille Teacher.docx

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

Page 5: Blind Aid and Braille Teacher.docx

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

Page 6: Blind Aid and Braille Teacher.docx

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

Page 7: Blind Aid and Braille Teacher.docx

BLIND AID

Fig 2.3 Reference Chart of Braille Code

2.5 Specification of Braille code:

Fig 2.4 Braille cell Dimensions

Page 7

Page 8: Blind Aid and Braille Teacher.docx

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

Page 9: Blind Aid and Braille Teacher.docx

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

Page 10: Blind Aid and Braille Teacher.docx

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

Page 11: Blind Aid and Braille Teacher.docx

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

Page 12: Blind Aid and Braille Teacher.docx

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

Page 13: Blind Aid and Braille Teacher.docx

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

Page 14: Blind Aid and Braille Teacher.docx

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

Page 15: Blind Aid and Braille Teacher.docx

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

Page 16: Blind Aid and Braille Teacher.docx

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

Page 17: Blind Aid and Braille Teacher.docx

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

Page 18: Blind Aid and Braille Teacher.docx

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

Page 19: Blind Aid and Braille Teacher.docx

BLIND AID

4. Circuit Diagram and its Description

4.1 Circuit Diagram:

Page 19

Page 20: Blind Aid and Braille Teacher.docx

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

Page 21: Blind Aid and Braille Teacher.docx

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

Page 22: Blind Aid and Braille Teacher.docx

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

Page 23: Blind Aid and Braille Teacher.docx

BLIND AID

5.1.2 Block diagram:

Page 23

Page 24: Blind Aid and Braille Teacher.docx

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

Page 25: Blind Aid and Braille Teacher.docx

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

Page 26: Blind Aid and Braille Teacher.docx

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

Page 27: Blind Aid and Braille Teacher.docx

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

Page 28: Blind Aid and Braille Teacher.docx

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

Page 29: Blind Aid and Braille Teacher.docx

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

Page 30: Blind Aid and Braille Teacher.docx

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

Page 31: Blind Aid and Braille Teacher.docx

BLIND AID

5.4 IC 74LS244:

Page 31

Page 32: Blind Aid and Braille Teacher.docx

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

Page 33: Blind Aid and Braille Teacher.docx

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

Page 34: Blind Aid and Braille Teacher.docx

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

Page 35: Blind Aid and Braille Teacher.docx

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

Page 36: Blind Aid and Braille Teacher.docx

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

Page 37: Blind Aid and Braille Teacher.docx

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

Page 38: Blind Aid and Braille Teacher.docx

BLIND AID

The fig. below shows the layout of buffer Amplifier IC:

Page 38

Page 39: Blind Aid and Braille Teacher.docx

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

Page 40: Blind Aid and Braille Teacher.docx

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

Page 41: Blind Aid and Braille Teacher.docx

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

Page 42: Blind Aid and Braille Teacher.docx

BLIND AID

cmbComselect.AddItem ("COM 7") cmbComselect.AddItem ("COM 8") cmbComselect.AddItem ("COM 9") cmbComselect.AddItem ("COM 10")End Sub

Form2: frmmain

Page 42

Page 43: Blind Aid and Braille Teacher.docx

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

Page 44: Blind Aid and Braille Teacher.docx

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

Page 45: Blind Aid and Braille Teacher.docx

BLIND AID

lblData.Caption = lblData & Chr(receive_array(1)) clearfields End If End If End IfEnd Sub

ALGORITHM:

Intialise the serial port

Page 45

Page 46: Blind Aid and Braille Teacher.docx

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

Page 47: Blind Aid and Braille Teacher.docx

BLIND AID

FLOW CHART OF PROJECT:

Flowchart of scanning the Braille switches

Page 47

Page 48: Blind Aid and Braille Teacher.docx

BLIND AID

SOFTWARE IN MICROCONTROLLER

Page 48

Page 49: Blind Aid and Braille Teacher.docx

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

Page 50: Blind Aid and Braille Teacher.docx

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

Page 51: Blind Aid and Braille Teacher.docx

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

Page 52: Blind Aid and Braille Teacher.docx

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

Page 53: Blind Aid and Braille Teacher.docx

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

Page 54: Blind Aid and Braille Teacher.docx

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

Page 55: Blind Aid and Braille Teacher.docx

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

Page 56: Blind Aid and Braille Teacher.docx

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

Page 57: Blind Aid and Braille Teacher.docx

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

Page 58: Blind Aid and Braille Teacher.docx

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

Page 59: Blind Aid and Braille Teacher.docx

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

Page 60: Blind Aid and Braille Teacher.docx

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

Page 61: Blind Aid and Braille Teacher.docx

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

Page 62: Blind Aid and Braille Teacher.docx

BLIND AID

APPLICATIONS AND FUTURE SCOPE:

Page 62

Page 63: Blind Aid and Braille Teacher.docx

BLIND AID

BIBLIOGRAPHY

Page 63