The code for this project can be downloaded from github.
I used the Arduino Uno, Xkitz touch sensor shields and a USB shield connected to a Nexus One Android phone to add audio enhanced touch sensors to a radio. When a control is touched, an audio tag describing the function is played by the phone, but without the control having to be activated. This means that someone who is visually impaired can learn the layout. This is a port of my home made circuits described here to off the shelf components. The Xktiz kit does require some soldering – but all of the components are through-hole so it is not tricky. The cartoon below shows the principle.
Here are the components in real life.
I’m putting step-by-step instructions on how to make this device onto my Make Projects page.
In the video below, I connected a Roberts radio to some touch sensors and an Android phone. When the control buttons are touched, an audio tag is triggered by the touch sensors.
Design News ran an article on this device on their Gadget Freaks blog, but the link to the article is now dead. You get to see my baldy square head beaming with pride at the top of the article. The three minute talk through of the device I prepared for the article is below. Please note, that I make a mistake when I state that the XKitz boards use the mTouch technology for their touch sensors. XKitz tell me that they use their own firmware for this – which is clever!
This is the stack of boards used. The top two are Xkitz touch sensor boards; each one can handle eight channels. The red board is the USB shield that connects with the Android phone. At the bottom is the Arduino Uno. The stack can be powered using a battery shield. For testing I am using an external power supply. I suspect that the Xkitz boards use the same mTouch technology as I used in these mTouch boards that I built. It is great that Xkitz have made these kits available.
Here’s a schematic that shows the arrangement of boards:
I got the Android going by editing some example code from Simon Monk’s book Arduino + Android Projects for the Evil Genius. Please find the .apk file for loading onto your Android device at the bottom of the page. This is compiled for v2.3.4 of Android and tested on a Nexus One running v2.3.6. I put a zip file with all of the code and resources from my Motodev IDE – which is souped up version of Eclipse produced by Motorola for Android development. The code that I cobbled in to Monk’s example is not that well structured and I can see half a dozen things which need improving. On the other hand – it does work, which is the ultimate Engineering criteria.
Please find the Arduino code attached below. A chunk at the start is taken from the XKitz diagnostics example – it lists all of the touch sensor boards attached to the Arduino and gives their ID. Each touch sensor board has a different ID, set by a jumper.
Hackaday featured this project here.