Transcript Document

BRAILLE DISPLAY
Katie and Kara Chylinski
Advisor: Professor Hedrick
March 5, 2005
OUTLINE
•
•
•
•
•
•
•
Background
The Problem
Our Objective
Design Process
Final Design
Results
Conclusion
INTRODUCTION
Braille Alphabet
Braille Display
MOTIVATIONS
•
•
•
•
•
Combine past class work
Include a variety of topics
Solve a problem
Beneficial to people with disabilities
Have fun!
PROJECT GOAL
Concerns: inexpensive, adaptable, portable
SYSTEM MODULES
Convert printed page to bitmap
Convert bitmap to ASCII characters
Change ASCII to Braille dot pattern
Send dot pattern to display unit
MODULE DESIGN PROCESS
•
•
•
•
Environment: Linux
Collecting bitmap: SANE
Converting bitmap: GOCR
Driver hardware: Cynagal C8051
Microcontroller
This module technique allows us to change each component.
Text
DEVELOPMENT SYSTEM
Scanner
C++
Program
Microcontroller
Program
Circuit
Power
Supply
Display
Cell
DESIGN PROCESS
•
•
•
•
Research
Compare actuators
Design sketches and performance criteria
Configure scanner and optical character
recognition (OCR)
• Use microcontroller and RS232 port
• Program code changing ASCII to Braille
• Construct driver circuit
RESEARCH
• Freedom Scientific
• Pulse Data
• ALVA
• Metec
ACTUATORS
Solenoids
Piezoelectric
Speakers
Cost
+
-
++
Size
+
++
-
Voltage
-
+
++
PERFOMANCE CRITERIA
• Cell Dimensions:
• Between dots: 2.54 mm
• Dot height: .5 mm
• Between cells: 3.75 mm
• Changing speed
SOLIDWORKS SKETCH
DETAILED SKETCH
SCANNER AND OCR
• Devices
– Epson SCANNER GT-8500
– GOCR 0.39
• Procedure
– Scan in Text
– Use Optical Character Recognition
– Create “out.txt” File
MICROCONTROLLER
• RS232 Port
• Serial Port
• Data Communication
Protocol
• Program
Linux
Microcontroller
SEND
@
@
WAIT
@
WAIT
R
R
SEND
R
SEND
CHAR
char
WAIT
CHAR
WAIT
S
S
SEND
S
WAIT
PROGRAM
// receive example:
// a '1' turns LED on; a '0‘ turns LED off.
P2MDOUT = 0xff;
XBR2 = 0x40;
P2 = 0x00;
while (1) {
input_char = _getkey();
if (input_char == '@') {
putchar('R');
//get the braille character
input_char = _getkey();
putchar('S');
P2 = input_char;
}
}
C++ PROGRAM
•
•
•
•
•
•
•
Algorithm
Set baud rate
Open output file from scanner
Read in first character
Communicate with microcontroller
Check if capital letter or number
Write to port binary sequence
C ++ PROGRAM
/* Change ASCII to Braille */
switch (int(next))
{
// Lower Case Letters
case 101: case 69:
// e - 010001
portchar = 0x11;
write(port, &portchar, 1);
break;
case 116: case 84:
// t - 011110
portchar = 0x1e;
write(port, &portchar, 1);
break;
case 97: case 65:
// a – 000001
portchar = 0x01;
write(port, &portchar, 1);
break;
DRIVER CIRCUIT
RESULTS
RESULTS
a
RESULTS
b
RESULTS
c
TOTAL COST
Scanner:
Microcontroller:
OCR software:
6 Solenoids:
Circuit components:
Casing materials:
$50
$150
free
$20
$10
+
$20
$250
SUMMARY
FUTURE WORK
•
•
•
•
•
Finish mechanical casing
Improve scanner
Improve OCR
Run SANE from C++ program
Make portable
REFERENCES
http://dots.physics.orst.edu/gs_index.html
http://jocr.sourceforge.net/
http://www.aagi.com/
http://www.allelectronics.com/
http://www.alva-bv.nl/alvacorp/alva_corp_home.asp
http://www.askoxford.com/asktheexperts/faq/aboutwords/frequency
http://www.braillenet.net/accessibilite/livreblanc/english/affbraille.html
http://www.freedomscientific.com/
http://www.htwm.de/acmc/mcmodule.htm
http://www.k10k.net/issues/issue059/golan/dakadaka/braille.html
http://www.kgs-america.com/bc.html
http://www.metec-ag.de/english.html
http://www.nec-tokin.com/english/product/sekisou_e/pa_features.html
http://www.pulsedata.com/
http://www.sane-project.org/
http://www.vesid.nysed.gov/lsn/stvnews/fall03.htm
ACKNOWLEDGEMENTS
Professor Hedrick
Eugen Schäfer
Roland Pierson
James Howard
Gene Davison
QUESTIONS?