Unnati Dani's profile

Braille Keyboard Prototype

Final Project: March 19, 2014 
Accessibilty: Learning Braille for visually imparied Kids
Project Brief
Exploring: Human Centered Design/ Inclusive design approach
Low Fidelility: Model Prototype with Lego Blocks
I had explored the sense of touch in my low fidelity prototype. 
Now I wanted to explore the sense of hearing...
High Fidelity: Electronic Prototype using Ardunio and Processing
System Components
Arduino KeyBoard
Testing Braille alphabet detection
After a few late nights, my prototype was ready to test
Usability Study
Work Flow:
Arduino based breadboard will have six button in braille formation
Kids will press the button trying to enter alphabets
Arduino will recognize the pressing pattern
When a patter matches an alphabet - voice feedback will be provided to the kid.

Problems: 
The option I was aware of to play music files (using SD card) was known to be very unreliable. After some research and talking to my professor I learnt about Processing. Its basically a programming language that works well when trying to communicate with an Arduino. I would detect alphabets from Arduino and relay them to Processing. Processing will recognize what alphabet was pressed and play an audio file for the alphabet.
Easy!

Process:
- Play a file using Processing
- Establish communication channel between Arduino and Processing
- Read Arduino output on Processing
- Play a particular file based on Arduino Output
- Recognize braille alaphabet patters using 6 buttons on Arduino
- Communicate the recognized alphabet to Processing
- Play specific alphabet files on Processing based on the alphabet read from Arduino
- Test, Test Test.

I had set up an apointment for user testing on Thursday morning so I had no time to waste.
Usability Testing:
Rounnd 01
- Cindy: Kids may require too much strength to press the buttons
- Cindy: "I absolutely think the interaction was very easy to learn and the tool is very intuitive"
- Cindy: "Lot of reason why students with disability are behind are because there are not enough tools that are    affordable and intuitive for learning like this one"
 
Rounnd 02
- Jarad: Regular keyboards have finger orienters on "F" & "J" to ensure users fingers are well oriented to the     keyboard, it would be nice to have a reference point for a braille keyboard as well.

Rounnd 03
- Demo day user: My keyboard is horizantal, this keyboard is awkardly placed to use six fingers vertically,         could I have an option to align these 6 buttons horizantally?
 
Learnings:
- It was very fruitful to see how quickly I could build a fairly robust and working prototype.
- Learning a language is not easy.
- Electornic prototypes provide a level of sophistication that can easily convince users quickly. There was high delight on users faces when they learnt this was built in a few days.
- Using a library like minim which is not completely matrure or has a known good set of examples was challenging. I saw a set of examples in the library but all online adoptions used something differnt API's. Eventually I worked through a combination of them to understand how to load files.
- Arduino had a simple program organizatoin setup(), loop() which is well documented and easy to undersand. Being a designer it was hard for me to orient quickly to a new programming language with a different set of functions. I ended up using - setup(), serialEvent(), draw(), stop() however it took me a long time to arrive at these.
 
Problem: Every alphabet mp3 file would play only once. I added log statements that identified alphabets were detected at Arduino as well as Processing. However, files would not play.
Solution: Every loaded files can be played only once. If you have to play it again use the rewind function in minim

Problem: Buttons were very flaky in press detection
Solution: Use resistors to ensure current is passed to ground.
 
Braille Keyboard Prototype
Published:

Braille Keyboard Prototype

Final project for prototyping studio class at University of Washington.

Published: