Recently, I had been thinking about improving my vocabulary. As I found referring to flash cards really boring and could barely stick to the plan I had made for reading books (such as Barrons, Word Power, etc.), I decided to make a ‘WordFeed – a vocabulary booster’ device that keeps flashing words frequently.
Each day 20 words with an abbreviated definition keep on flashing in loop taking around 5 second per iteration. There are total 4814 words, thus it will take about 241 days to cover all words. However, one can always change the variable from the code to meet his/her pace of grasping. Philosophically, I believe that most of the words will be stored permanently in your subconscious mind if you keep on going through the words again and again. See this video to get a brief idea about it.
Let’s make it! List of parts we require…
- Ethernet Shield (Wiznet 5100) & Lan Cable
- 16*2 LCD or LCD shield
- DS1307 RTC module (optional, to display time)
- LDR & 100 ohm resistor (optional, for night mode)
Make the connection according to th following sketch. The Arduino Uno R3 is right beneath the Ethernet Shield.
To fetch a word and its defination; and display it on LCD, our Arduino client makes a GET request to a PHP page through an ethernet shield. The GET request passes a variable ‘count’ to the PHP page, for example, ‘http://www.adeshshah.com/words/?count=2‘ passes 2 as a value of the variable ‘count’. The PHP page looks for a specific word and its definition indexed at the value of ‘count’ variable (here 2 for example) in a MYSQL database table through SELECT query and responds back with XML like information, for example, the PHP page returns, ‘<word>abase</word><def>lower; degrade; humiliate</def>’ along with other information. On extracting this XML type string on the Arduino client from other information received, the string is processed. The word and the definition of the word are stored in separate variables and eventually displayed on 16*2 LCD (in separate lines).
Complete Code – Github