BrailleDuino
A braille reader can read up to 200 words per minute (Foulke 1991).
In this tutorial I’m going to show how I implemented the electronic part for an innovative braille interface that can be connected to a computer via USB. The idea has been patented by my friend Nial Slater.
The poster describes the concept behind the innovation:
The device is composed by:
- 6 buttons on the top side:
- 3 buttons for the left hand and 3 buttons for the right hand
- a rather special sheet that emboss on the fly braille characters
- a set of 6 microactuators (and NO they are NOT simpe solenoids!) that emboss on the special sheet
Now the first prototype was built to emulate the braille encoder:
how to encode the 6 buttons combination into the corresponding micro actuators output.
Because the micro actuator has the same current draw of 40mA LEDS we decide to use 6 LEDS and dispose them to form a braille matrix.
We wired the arduino 2009 in the following way:
- PINS 8~13 are connected to the 6 LEDS with pull down resistors
- PINS 2~7 are connected to the 6 buttons with pull-up resistors
The reader will ask why the pull up configuration!
Because a braille typer works in a reverse way: the pins emboss the layer only when 1 or more than 1 buttons are released! This imply that:
- in average the buttons will be pressed: therefore we do not want to drain any current!
This explanation doesn’t make sense unless you do not debug it in your head.
Assume the buttons are number from left to right as an array, when all are pressed you have:
A= 000 000 (because of the pull up)
And when they are not pressed:
Aneg=111 111
If the typer lift the index of the left hand, the status will become:
Anew=011 111
There was a transition from high to low of the MSB bit and only this pin should be activated to emboss the letter A!
The arduino code makes use of port registers and clever arithmetic operations on the PORTD and PORTB to detect the trigger of HIGH -> LOW BUT no the trigger LOW -> HIGH and then do the output of the differential status onto the LEDS matrix.
I also included a more intuitive coiding which simply copy the button configuration to the ouput LED, and also a cool features where the user input the ASCII letter on the keyboard and the arduino will output the braille encoding on the matrix. I left the reader the task to finish the braille encoding.
This video shows the initial prototype working:
And during the expo:
And good drink to everybody!








May 5th, 2010 at 10:28 am
[...] http://www.epokh.org/blog/?p=235 [...]