Professional Documents
Culture Documents
B.E Project of Electronics and Communication
B.E Project of Electronics and Communication
1. INTRODUCTION
Braille keypad for visually impaired is a device that can be used by blind for two major
purposes:
• NOTE TAKER: The device can be used to take notes via Braille keypad and
store words in PC and output the words in audio format.
In 2008, The World Health Organization (WHO) estimates that there are approximately
161 million people with severe vision loss worldwide. A generation ago 50 percent of
blind school children used Braille. Now, it's less than 12 percent. Hence, in a vision to
increase the percentage of Blind people studying Braille in a interactive way, this device
is being developed.
1.1 OBJECTIVE
The main objective of the project is to create a low cost, economical typing device and
Braille tutor system for the blind.
1.2 DESCRIPTION
Braille keypad uses DTMF logic for entering the characters. UM91215B encoder
generates the DTMF signal for the key pressed. This signal is fed to the MT8870D
decoder, which decodes DTMF signal into 4 bit output. PIC18F4550 performs the
computation on the 4-bit output from the decoder and sends the appropriate character to
the PC’s Hyper Terminal using USB.
COMM API is used to read the character from the Hyper Terminal and Speech API is
used to convert the text to speech.
Braille is writing system which enables blind and partially sighted people to read and
write through touch. It was invented by Louis Braille (1809-1852), who was blind and
became a 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.
• Grade 1: This grade 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 3: This grade is used mainly in personal letters, diaries, and notes, and also
in literature to some extent. It is a kind of shorthand, with entire words shortened
to a few letters.
Braille can be seen as the world's first binary encoding scheme for representing the
characters of a writing system. The system as originally invented by Braille consists of
two parts:
Today different Braille codes (or code pages) are used to map character sets of different
languages to the six bit cells. Different Braille codes are also used for different uses like
mathematics and music. However, because the six-dot Braille cell only offers 63 possible
combinations (26 - 1 = 63), of which some are omitted because they feel the same (having
the same dots pattern in a different position), many Braille characters have different
meanings based on their context. Therefore, character mapping is not one-to-one.
Louis Braille, the father of Braille system, was the inventor of Braille system. This is a
worldwide system that is being used by blind people for reading and writing. Braille is
read by passing the fingers over characters made up of an arrangement of one to six
embossed points. It has been adapted to almost every known language.
Louis Braille became blind at the age of 3, when he accidentally poked himself in the eye
with a stitching awl, one of his father's workshop tools. The injury wasn't thought to be
serious until it got infected. Braille's other eye went blind because of sympathetic
ophthalmia.
At the very young age of 10, Braille earned a scholarship to the National Institute for the
Blind in Paris, one of the first of its kind in the world. However, the conditions in the
school were not notably better. Louis was served stale bread and water, and students were
sometimes abused or locked up as a form of punishment.
Braille, a bright and creative student, became a talented cellist and organist in his time at
the school, playing the organ for churches all over France.
At the school, the children were taught basic craftsman skills and simple trades. They
were also taught how to read by feeling raised letters (a system devised by the school's
founder, Valentin Haüy). However, because the raised letters were made using paper
pressed against copper wire, the students never learned to write. Another disadvantage
was that the letters weighed a lot and whenever people published books using this system,
they put together a book with multiple stories in one in order to save money. This made
the books sometimes weigh over a hundred pounds. The school had just 14 books, all of
which Louis had read. He liked to learn and to play music.
In 1821, Charles Barbier, a former Captain in the French Army, visited the National
Institute for the Blind school. Barbier shared his invention called "night writing" a code of
12 raised dots and a number of dashes that let soldiers share top-secret information on the
battlefield without having to speak. The code was too difficult for Louis to understand
and he later changed the number of raised dots to 6 to form what we today call Braille.
The same year, Louis Braille began inventing his raised-dot system with his father's
stitching awl, the same implement with which he had blinded himself, finishing at age 15,
in 1824. Inspired by the wooden dice his father gave to him; his system used only six dots
and corresponded to letters, whereas Barbier's used 12. The six-dot system allowed the
recognition of letters with a single fingertip apprehending all the dots at once, requiring
no movement or repositioning which slowed recognition in systems requiring more dots.
These dots consisted of patterns in order to keep the system easy to learn. The Braille
system also offered numerous benefits over Hauy's raised letter method, the most notable
being the ability to both read and write an alphabet. Another very notable benefit is that
because they were dots just slightly raised, there was a significant difference in makeup.
Braille later extended his system to include notation for mathematics and music. The first
book in Braille was published in 1829 under the title Method of Writing Words, Music,
and Plain Songs by Means of Dots, for Use by the Blind and Arranged for Them. In 1839
Braille published details of a method he had developed for communication with sighted
people, using patterns of dots to approximate the shape of printed symbols. Braille and his
Braille became a well-respected teacher at the Institute. Although he was admired and
respected by his pupils, his writing system was not taught at the Institute during his
lifetime. The air at the institute was foul and he died in Paris of tuberculosis in 1852 at the
age of 43; his body was disinterred in 1952 (the centenary of his death) and honoured
with re-interment in the Panthéon in Paris. His system was finally officially recognized in
France two years after his death, in 1854.
2. BLOCK DIAGRAM
2.1 DESCRIPTION:
• BRAILLE KEYPAD: It consists of 8 keys, out of which 6 keys are used to
type the character.
• Decoder (MT8870D): Decodes the frequency signal and sends the location of
the key pressed to the PIC microcontroller.
• PIC18F4550: It reads the data from the decoder processes it and sends the
character to the PC via USB.
• USB 2.0: This is used to transfer the character from the Micro controller to PC.
3. CIRCUIT DESIGN
Braille code works on the principle of DTMF (Dual-tone Multi Frequency) logic. DTMF
is a tone composed of two sine waves of mixed frequencies. Individual frequencies are
chosen such that the addition, multiplication or subtraction of any two frequencies should
not generate frequency at is used. DTMF is designed for control signals only. With
standard decoders, it is possible to signal at a rate of about 10 "beeps" (=5bytes) per
second. DTMF standards specify 50ms tone and 50ms space duration. For shorter lengths,
synchronization and timing becomes very tricky.
3 dB, the higher frequency is 3 dB louder. If the lower frequency is louder, the twist is
negative.
This table resembles a matrix keyboard. The X and Y coordinates of each code give the
two frequencies that the code is composed of. It contains 8 codes.
3.2.3 Encoder-UM91215B
UM91215B is a single chip, silicon gate, CMOS Integrated Circuit with an on-chip
oscillator for a 3.579545 MHz crystal. It provides Dual Tone Multi-Frequency dialing.
3.2.3.1 Features
• One touch redial operation.
• 32-digit capacity for redialing.
• DTMF Timing
▪ Manual Dialing: Minimum duration for bursts and pauses
▪ Redialing: Calibrated timing
• Hands free Control Function.
• Wide operating voltage range: 2v to 5.5v
• Key-in beep tone output.
• Digits dialed manually after redialing are cascadable and stored as additional
digits for next redialing.
• Uses inexpensive ceramic resonator (3.579545 MHz).
• Built-in power up reset circuit.
Fig 3.3 Standard Braille Code Format Fig 3.4 Braille Keypad Arrangement
Braille Keypad designed in this project consists of all the six keys of Standard Braille
Code Format with two additional keys 7 and 8. Key-8 is used as a Enter button and Key-7
for Speech output.
Figure 3.5 shows how to type a word – cat using the Braille Keypad. As shown in the
figure, for typing the character c the keys 1 and 4 are pressed sequentially. After pressing
the keys related to a character according to Braille Code format, key-8 is pressed to enter
the character and the ASCII value will be sent to the PC after encoding and Decoding.
This procedure is continued for the characters ‘a’ & ‘t’. Finally to get the Speech output
of typed word (Speech output for each character can also be obtained by pressing key-7
after entering the Character) key-7 is pressed.
3.4 DECODER:
The MT8870D is a full DTMF Receiver that integrates both bandsplit filter and decoder
functions into a single 18-pin DIP or SOIC package. Manufactured using CMOS process
technology, the MT8870D offers low power consumption (35 mW max) and precise data
handling. Its filter section uses switched capacitor technology for both the high and low
group filters and for dial tone rejection. Its decoder uses digital counting techniques to
detect and decode all 16 DTMF tone pairs into a 4-bit code. External component count is
SCE 2009-2010 Page 17
Department of E.C.E Braille Keypad for Visually Impaired
MT8870D operating functions (see Fig 3.7) include a bandsplit filter that separates the
high and low tones of the received pair, and a digital decoder that verifies both the
frequency and duration of the received tones before passing the resulting 4-bit code to the
output bus.
3.4.4 Filter
The low and high group tones are separated by applying the dual-tone signal to the inputs
of two 6th order switched capacitor band pass filters with bandwidths that correspond to
the bands enclosing the low and high group tones. The filter also incorporates notches at
350 and 440 Hz, providing excellent dial tone rejection. Each filter output is followed by
a single-order switched capacitor section that smoothens the signals prior to limiting.
Signal limiting is performed by high gain comparators provided with hysteresis to prevent
detection of unwanted low-level signals and noise. The comparator outputs provide full-
rail logic swings at the frequencies of the incoming tones.
3.4.5 Decoder
MT8870D decoder uses a digital counting technique to determine the frequencies of the
limited tones and to verify that they correspond to standard DTMF frequencies. A
complex averaging algorithm is used to protect against tone simulation by extraneous
signals (such as voice) while tolerating small frequency variations. The algorithm ensures
an optimum combination of immunity to talk off and tolerance to interfering signals (third
tones) and noise. When the detector recognizes the simultaneous presence of two valid
tones (known as signal condition), it raises the Early Steering flag (ESt). Any subsequent
loss of signal condition will cause ESt to fall.
Before a decoded tone pair is registered, the receiver checks for a valid signal duration
referred to as character-recognition-condition. This check is performed by an external RC
time constant driven by ESt. Logic high on ESt causes VC to rise as the capacitor
discharges. Provided that signal condition is maintained (ESt remains high) for the
validation period (tGTF), VC reaches the threshold (VTSt) of the steering logic to register
the tone pair, thus latching its corresponding 4-bit code into the output latch. At this point,
the GT output is activated and drives VC to VDD. GT continues to drive high as long as
ESt remains high. Finally, after a short delay to allow the output latch to settle, the
delayed steering output flag (StD) goes high, signaling that a received tone pair has been
registered. The contents of the output latch are made available on the 4-bit output bus by
raising the three state control input (OE) to logic high. The steering circuit works in
reverse to validate the inter digit pause between signals. Thus, as well as rejecting signals
too short to be considered valid, the receiver will tolerate signal interruptions (dropouts)
too short to be considered a valid pause. This capability, together with the ability to select
the steering time constants externally, allows the designer to tailor performance to meet a
wide variety of system requirements.
3.5 PIC18F4550
3.5.1 FEATURES:
• Nano watt technology: The PIC18F4550 incorporate a range of features that can
significantly reduce power consumption during operation. Key items include:
▪ Alternate Run Modes: By clocking the controller from the Timer1
source or the internal oscillator block, power consumption during code
execution can be reduced by as much as 90%.
▪ Multiple Idle Modes: The controller can also run with its CPU
core disabled but the peripherals still active. In these states, power
The PIC18FX4550 device contains a full speed and low-speed compatible USB Serial
Interface Engine (SIE) that allows fast communications between any USB host and the
PIC® microcontroller. The SIE can be interfaced directly to the USB, utilizing the
internal transceiver, or it can be connected through an external transceiver.
A Streaming Parallel Port has been provided to support the uninterrupted transfer of large
volumes of data, such as isochronous data, to external memory buffers.
4. PROGRAMING
4.1 FIRMWARE FLOWCHART
4.1.1 Main Program
usb_cdc_putc('l');
else if(choice == 0x0d)
usb_cdc_putc('m');
else if(choice == 0x1d)
usb_cdc_putc('n');
else if(choice == 0x15)
usb_cdc_putc('o');
else if(choice == 0x0f)
usb_cdc_putc('p');
else if(choice == 0x1f)
usb_cdc_putc('q');
else if(choice == 0x17)
usb_cdc_putc('r');
else if(choice == 0x0e)
usb_cdc_putc('s');
else if(choice == 0x1e)
usb_cdc_putc('t');
else if(choice == 0x25)
usb_cdc_putc('u');
else if(choice == 0x27)
usb_cdc_putc('v');
else if(choice == 0x3a)
usb_cdc_putc('w');
else if(choice == 0x2d)
usb_cdc_putc('x');
else if(choice == 0x3d)
usb_cdc_putc('y');
else if(choice == 0x35)
usb_cdc_putc('z');
else if(choice == 0x02)
usb_cdc_putc(',');
else if(choice == 0x06)
usb_cdc_putc(';');
else if(choice == 0x12)
SCE 2009-2010 Page 30
Department of E.C.E Braille Keypad for Visually Impaired
usb_cdc_putc(':');
else if(choice == 0x32)
usb_cdc_putc('.');
else if(choice == 0x16)
usb_cdc_putc('!');
else if(choice == 0x26)
usb_cdc_putc('?');
else if(choice == 0x14)
usb_cdc_putc('*');
else if(choice == 0x34)
usb_cdc_putc('"');
else if(choice == 0x24)
usb_cdc_putc('-');
else if(choice == 0x20)
{
usb_cdc_putc('#');
k = 0x01;
}
else if(choice == 0x3c)
{
usb_cdc_putc('$');
k=0x02;
}
choice = 0x00;
}
else if(k==0x01)
{
if(choice == 0x01)
usb_cdc_putc('A');
else if(choice == 0x03)
usb_cdc_putc('B');
else if(choice == 0x09)
usb_cdc_putc('C');
else if(choice == 0x19)
SCE 2009-2010 Page 31
Department of E.C.E Braille Keypad for Visually Impaired
usb_cdc_putc('D');
else if(choice == 0x11)
usb_cdc_putc('E');
else if(choice == 0x0b)
usb_cdc_putc('F');
else if(choice == 0x1b)
usb_cdc_putc('G');
else if(choice == 0x13)
usb_cdc_putc('H');
else if(choice == 0x0a)
usb_cdc_putc('I');
else if(choice == 0x1a)
usb_cdc_putc('J');
else if(choice == 0x05)
usb_cdc_putc('K');
else if(choice == 0x07)
usb_cdc_putc('L');
else if(choice == 0x0d)
usb_cdc_putc('M');
else if(choice == 0x1d)
usb_cdc_putc('N');
else if(choice == 0x15)
usb_cdc_putc('O');
else if(choice == 0x0f)
usb_cdc_putc('P');
else if(choice == 0x1f)
usb_cdc_putc('Q');
else if(choice == 0x17)
usb_cdc_putc('R');
else if(choice == 0x0e)
usb_cdc_putc('S');
else if(choice == 0x1e)
usb_cdc_putc('T');
else if(choice == 0x25)
SCE 2009-2010 Page 32
Department of E.C.E Braille Keypad for Visually Impaired
usb_cdc_putc('U');
else if(choice == 0x27)
usb_cdc_putc('V');
else if(choice == 0x3a)
usb_cdc_putc('W');
else if(choice == 0x2d)
usb_cdc_putc('X');
else if(choice == 0x3d)
usb_cdc_putc('Y');
else if(choice == 0x35)
usb_cdc_putc('Z');
choice = 0x00;
k = 0x00;
}
else if(k==0x02)
{
if(choice == 0x01)
usb_cdc_putc('1');
else if(choice == 0x03)
usb_cdc_putc('2');
else if(choice == 0x09)
usb_cdc_putc('3');
else if(choice == 0x19)
usb_cdc_putc('4');
else if(choice == 0x11)
usb_cdc_putc('5');
else if(choice == 0x0b)
usb_cdc_putc('6');
else if(choice == 0x1b)
usb_cdc_putc('7');
else if(choice == 0x13)
usb_cdc_putc('8');
else if(choice == 0x0a)
usb_cdc_putc('9');
SCE 2009-2010 Page 33
Department of E.C.E Braille Keypad for Visually Impaired
}
void main(void)
{
char c;
set_tris_b(0x01);
set_tris_d(0xff);
enable_interrupts(GLOBAL);
enable_interrupts(INT_EXT);
ext_int_edge(L_TO_H);
printf("\r\n\nCCS CDC (Virtual RS232) Example\r\n");
usb_init_cs();
while (TRUE)
{
usb_task();
}
The Java Communications API consists of the javax.comm package. This package does
not come with the core Java development kits but instead is included in the set of optional
Java Extensions packages that provide various useful services.
With the Communications API can be used to obtain a set of objects representing the
RS232 serial ports and IEEE 1284 parallel ports on a platform. With these we can obtain
exclusive ownership of a port, read and write to the port either synchronously and
asynchronously, and receive events from the port that indicate some state change in the
port such as the arrival of data.
javax.comm package consists of primary classes that you need for input/output over serial
and parallel ports. This will include the port classes that give information about and
access to the ports on a platform, the port event classes and interfaces that allow for
responding to data and state changes on ports, and exceptions.
Package javax.comm
Class Summary
Exception Summary
Interface Summary
The Java Speech API defines a standard, easy-to-use, cross-platform software interface to
state-of-the-art speech technology. Two core speech technologies are supported through
the Java Speech API: speech recognition and speech synthesis. Speech recognition
provides computers with the ability to listen to spoken language and to determine what
has been said. In other words, it processes audio input containing speech by converting it
to text. Speech synthesis provides the reverse process of producing synthetic speech from
text generated by an application, an applet or a user. It is often referred to as text-to-
speech technology.
The Java Speech API is an extension to the Java platform. Extensions are packages of
classes written in the Java programming language (and any associated native code) that
application developers can use to extend the functionality of the core part of the Java
platform.
Along with the other Java Media APIs, the Java Speech API lets developers incorporate
advanced user interfaces into Java applications. The design goals for the Java Speech API
included:
• Provide support for speech synthesizers and for both command-and-control and
dictation speech recognizers.
• Support integration with other capabilities of the Java platform, including the suite
of Java Media APIs.
The javax.speech package of the Java Speech API defines an abstract software
representation of a speech engine. "Speech engine" is the generic term for a system
designed to deal with either speech input or speech output. Speech synthesizers and
speech recognizers are both speech engine instances. Speaker verification systems and
speaker identification systems are also speech engines but are not currently supported
through the Java Speech API.
The javax.speech package defines classes and interfaces that define the basic functionality
of an engine. The javax.speech.synthesis package and javax.speech.recognition package
extend and augment the basic functionality to define the specific capabilities of speech
synthesizers and speech recognizers.
The basic processes for using a speech engine in an application are as follows.
The four basic steps which all speech synthesis applications must perform
ARE:
SCE 2009-2010 Page 38
Department of E.C.E Braille Keypad for Visually Impaired
Synthesizer synthesizer;
SynthesizerModeDesc synthesizermodedesc;
EngineList enginelist;
SynthesizerProperties synthesizerproperties;
public blind()
{
try
{
System.out.println("in synthesis");
synthesizer = Central.createSynthesizer(new
SynthesizerModeDesc(Locale.ENGLISH));
enginelist = Central.availableSynthesizers(null);
synthesizermodedesc = (SynthesizerModeDesc)enginelist.elementAt(0);
synthesizerproperties = synthesizer.getSynthesizerProperties();
synthesizer.allocate();
start();
}
catch(Exception e)
{;}
}
public void run()
{
try
{
System.out.println("after allocate");
Voice avoice[] = synthesizermodedesc.getVoices();
synthesizerproperties.setVoice(avoice[0]);
}
catch(Exception e){}
}
public void speak(String msg) throws InterruptedException
{
synthesizer.speakPlainText(msg,null);
synthesizer.waitEngineState(0x10000L);
}
public void destroySynthesis() throws EngineException
{
synthesizer.deallocate();
}
public void stopSpeaking()
{
synthesizer.cancel();
}
public static void main(String args[])
{
//String data=args[0];
blind b=new blind();
new ReadWords(b);
}
}
ReadWords.java
import javax.comm.*;
import java.io.*;
import java.util.*;
class ReadWords implements SerialPortEventListener
{
CommPortIdentifier portId;
SerialPort serialPort;
InputStream in;
int ch;
int k;
String data="";
String dat="";
String data1="";
String data2="";
blind b;
Vector vector;
StringTokenizer st;
ReadWords(blind b)
{
this.b=b;
try
{
vector=new Vector();
portId = CommPortIdentifier.getPortIdentifier("COM3");
serialPort = (SerialPort) portId.open("ComControl", 2000);
in = serialPort.getInputStream();
serialPort.addEventListener(this);
serialPort.notifyOnDataAvailable(true);
serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,S
erialPort.PARITY_NONE);
System.out.println("com initialized");
try
{
if(event.getEventType()==SerialPortEvent.DATA_AVAILABLE)
{
while((ch=in.read())!=32)
SCE 2009-2010 Page 45
Department of E.C.E Braille Keypad for Visually Impaired
{
if(ch==35)
{
b.speak("capital sign");
}
else if(ch==36)
{
b.speak("number sign");
}
else if(ch==42)
{
b.speak(dat);
}
else if(ch==45)
{
k=1;
}
else
{
data+=(char)ch;
System.out.println("***********data*********"+data);
//sb.append((char)ch);
}
}
if(k!=1)
{
if(vector.contains(data))
{
b.speak(data);
File file=new File("D:\\project\\note taker for blind from
pratiba\\SOURCE CODE\\NoteTaker For
Blind\\spoken_words.txt");
FileOutputStream fos=new FileOutputStream(file,true);
SCE 2009-2010 Page 46
Department of E.C.E Braille Keypad for Visually Impaired
data1=data2;
dat+=(data1+','+' ');
if(data1!="")
{
fos.write((data1+" ").getBytes());
}
fos.flush();
fos.close();
data2=data;
}
else if(data=="")
{
File file=new File("D:\\project\\note taker for blind from P
ratiba\\SOURCE CODE\\NoteTaker For
Blind\\spoken_words.txt");
FileOutputStream fos=new FileOutputStream(file,true);
data1=data2;
dat+=(data1+','+' ');
if(data1!="")
{
fos.write((data1+" ").getBytes());
}
fos.flush();
fos.close();
data2=data;
}
else
{
b.speak("Sorry, the word was not found");
}
}
else
{
b.speak("previous spoken output, deleted");
SCE 2009-2010 Page 47
Department of E.C.E Braille Keypad for Visually Impaired
data2="";
k=0;
}
data="";
}
}
catch(Exception e)
{
System.out.println("Exception in Read"+e);
}
}
}
5. SOFTWARE
3. Select the language tool suite as CCS C compiler and click “NEXT”.
4. Create the project by selecting name with the path. (NOTE: All the headers and
the source file used to build the project should be outside the folder containing the
project file) then click “NEXT”.
5. Add all the header files that is needed along with the source file and click
“NEXT”.
6. Now the summary appears which defines the project parameters. If correct, click
“Finish”.
7. After clicking the “Finish”, the project will be opened. The Firmware Code is
written in the space provided and then it is compiled using CCS C Compiler.
JCreator is only available on the Windows Operating System. However, both the LE and
Pro versions of JCreator run adequately on Linux (using Wine). So far no Linux versions
are planned for immediate release, but new components will be built for cross-
compatibility in mind.
The feature set of the Pro version is comparable to that of other language aware IDEs
with respect to project management and editing features, but lacks advanced features,
such as automated refactoring, support for common frameworks etc, which can be found
in the dominant Java IDEs such as Eclipse and IntelliJ IDEA. The free LE version further
lacks some features, such as code completion, that are included with other free IDEs.
Unlike the dominant Java IDEs today, JCreator also lacks the level of extensibility
through third-party plug-ins that is common in popular Java IDEs.
5.2.1 Features
This software is used to establish connection between PC and PIC Microcontroller. The
initial settings to receive the characters from the Microcontroller are shown below.
1. Go to device manager and check whether the device is connected. If so, see the
comm. Port number (if the driver is not installed, install the driver and then check
for comm. Port number).
3. Select the USB to UART comm. port (i.e. COM3) and click “OK”.
Open a notepad in the folder that contains java file and write the instructions as
shown and save it as a bat file.
Now close the notepad and open the bat file to execute the java file as shown and press
any key.
1. If there are no errors, then the output of the bat file will be as shown, after which
the characters can be entered.
7. PCB Layouts
8.1 APPLICATIONS
1. The main application of this Note taker is that it allows the blinds to enter notes
via Braille keypad to access words and to output result in audio format.
2. Braille Note taker can be used to take notes in class, lectures and meeting for the
blind people.
3. Blind people can be employed as a typist.
4. This device can be used to teach the Braille language for blind people in a more
interactive way.
8.2 ADVANTAGES
1. No external power supply is needed. Power is shared through USB for all the
components (5v).
2. Typing is easier using this device as it is based on the standard Braille system.
3. Learning of Braille language is made more interactive with the help of the audio
feedback.
4. Compared to the existing Braille keypads (available in foreign countries), this
device is low-cost and economical.
8.3 DISADVANTAGES
9. FUTURE SCOPES
SCE 2009-2010 Page 63
Department of E.C.E Braille Keypad for Visually Impaired
• This device can be made a portable hand held device with features as shown in the
Figure 9.1.
• The device can be used to inform time, date, message in audio format.
• This device can be integrated with walking stick, which serves as a Walking aid to
the Blind.
11. CONCLUSION
Braille Keypad serves a low cost, economical and easy to use device that has great
potential to aid the education of a large number of blind students residing in the
developing nations and also aids in the increase in employment opportunities for the
Blind People. The Keypad is an attempt to use technology to enable education for the
visually impaired.
12. BIBLIOGRAPHY
[2] http://en.wikipedia.org/wiki/Braille
[3] http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010300
[5] Anuraag Gupta, Prateek Agrawal, Shashank Singla, Sushmita Rawat, M. Balakrishnan
“Braille Tutor System for the Visually Handicapped,” World Blind Union, December,
2007
13. APPENDICES
13.1 Encoder datasheet
Pin 1: Hook switch input: This inverter input pin detects the state of the hook switch
contact. “Off Hook “is represented by a Vss condition. “On hook” is represented by a
Vdd condition.
Pin 2: Mode IN: This is a TRI-STATE mode select pin.
Pin 7: TONE: Tone dialing output. When a valid key press is detected in the DTMF
mode, appropriate low group and high group frequencies are generated which hybridize
the dual tone output. TONE output is in the “OFF” state in pulse mode.
Pin 8: Dialing transmission mute output. This is a N-channel open drain output.
Normally, the transmission mute output is “OFF” during pulse or DTMF dialing this
output is “ON”.
Pin 9: MODE OUT PIN. This is an N-channel, open drain output. It is “ON” during tone
output and “OFF” during pulse output.
Pin 10: Key-in Tone Output. This N-channel open drain pin sends out a “beep” tone for
each pulse mode key entry, along with entries of accepted function keys. The tone output
frequency is 437 Hz and tone duration is 23 ms.
Pin 11: Dialing Pulse output. This is an N-channel open drain output. The normal output
will be “ON” during break and “OFF” during make in the pulse dialing mode.
Pin 11, 13, 14, 15, 16, 17, 18: Keyboard pins. This input serves as the interface to an XY
matrix keyboard. On a 4 x 4 matrix keyboard, the input from the forth column, should be
connected to Vss.