Post navigation

The Arduino UNO finally has Phase 2 parts added. The last time I posted about the project on Word Press I had the two 8×8 matrix displays setup to receive scrolling directions based on text input commands sent through the Serial Monitor.

Building upon that code, I now have those functions that were being called on text input now setup to act inside a switch case block inside the event for voice capture and recognition. The great part about starting the project off with text input through the Serial Monitor is that the Voice Command Module still operates through the serial port thus making the original code for this project very scalable.

CODE BREAK DOWN AND PITFALLS:
There are a couple of really good Classes/libraries that I am using in this project. The first is the Parola Library:http://parola.codeplex.com/

This Library is a pretty robust scrolling library. The ability to scroll text, isn’t to hard to do from scratch, but the creators of this library have easing, inverted text and support for fonts to name a few.

* If you are going to use this library, there are a couple of pitfalls that you should keep in mind. The library was originally designed to work with a specific 8×8 LED matrix display, it has been updated to use any generic 8×8 but you have to update the .h file.

The next Library in the list is the SoftwareSerial, which actually is an internal Arduino Class that you import. Using this class helps assign RX and TX to other slots on the board.*This is another pitfall area that I want to call out. All Arduino boards have dedicated TX and RX slots. The catch is the dedicated slots don’t allow interrupts back and forth. This for the most part was undocumented until I found an Ardunio forum page online that explains it in detail which slots on what boards do support interrupts.

HARDWARE BREAK DOWN AND PITFALLS:

The Voice Command Module is really easy to use, It has 4 connection points ( GND, VCC, TX, RX) which fit as they should on the Arduino board and you can get up and running within 45min… If you have the information I have in the next two paragraphs… before you start…

* The catch here is that in order to interact with the Module you have to use a specific serial monitor app that ships with the device, which isn’t the best piece of software… and the Manual lacks some specific explanation as to the exact format of the HEX CODES the Voice Command Module needs inorder to set it up. The Manual has a detailed table showing all the Commands ( 0x36 )but doesn’t express that the format isn’t what is in the table but looks like this ( AAx36 ) instead…

*Also another pitfall that was undocumented was the act of “NOT” flipping the TX and RX connection points on the USB TTL adapter. In almost every project that I have used on the Arduino you flip RX and TX, but for the recording and saving voice commands from your PC to the Voice Command Module, you don’t… This took me 2 hrs of trial and error to find this bug. This was really hard to find because the software is so bad, the issue looks as though it is your RX display settings.

All in all this project has been really fun, and shows the power of prototyping with Arduino and it’s plethora of compliant modules.