Mbed_Text_Reader
mbed Text Reader Demo
Quickly read text files from SDcard on uLCD using mbed
Background:
This project is inspired by technology found on http://www.spritzinc.com/ . This text reader displays one word at a time at a speed that ranges between 100-500wpm. The idea is that reading line by line is more time consuming because the reader must move his/her eyes back and forth to find the next words. By displaying text one word at a time at one position on the screen, the reader's speed can increase dramatically.
Each word is centered on the uLCD and the middle position is colored red. This should help give the reader a focus point while the words speed by.
The text files are stored or written onto the microSD card and then are made available for selection at the beginning of the program.
Devices Used:
Basic Steps:
1. Place the files on the microSD card
Example Files:
- /media/uploads/ndureja3/hello_world
- /media/uploads/ndureja3/reader_test
- /media/uploads/ndureja3/story1
2. Set up connections
Sparkfun MicroSD Pinout:
microSD | mbed |
---|---|
DO | p6 |
GND | GND |
SCK | p7 |
VCC | VOUT |
DI | p5 |
CS | p8 |
MPR121 Capacitive Keypad Pinout:
Key Pad | mbed |
---|---|
VCC | VOUT |
IRQ | p26 |
SCL | p10 |
SDA | p9 |
GND | GND |
Note : Make sure to pull up SCL and SDA to Vout using 4.7 K ohm.
uLCD-144-G2 128 by 128 Smart Color LCD Pinout:
uLCD | mbed |
---|---|
RES | p29 |
GND | GND |
TX | p28 |
RX | p27 |
+5v | VU |
3. Import and run the program on mbed
- Navigate the menu using the up and down keys (7 and 5)
- Choose the file to be read using the enter key (8)
- Control wpm speed using + and - keys (10 and 2)
- Play and pause by pressing key 6
- Reset current text by pressing key 0
MPR121 Key Functions:
Function | KeyNumber |
---|---|
Up(menu) | 7 |
Down(menu) | 5 |
Select(menu) | 8 |
Increase wpm | 10 |
Reduce wpm | 2 |
Play/Pause | 6 |
Reset | 0 |
Demo Code:
Import programMbed_Text_Reader
Mbed_Text_Reader using an SDcard reader, 12-key touch pad and uLCD.
Demo Video:
Some issues we came across:
- Displaying things where we wanted them on uLCD (a lot of trial and error)
- Accommodating for printing time to maintain correct wpm speed ( added scaling factor to wait time)
- Aligning and resizing the text to enhance readability (this program is limited to reading 9 characters at a time)
- Limited uLCD printing speed (our solution is limited to 500 wpm to maintain accuracy)
Please log in to post comments.