Android + Arduino + USB Host + Dual Analog Input
Dual analog input with Android and Arduino. This article will demonstrate a basic dual analog USB input accessory.
For additional background information on interfacing Android with the real world, check out my other introductory tutorials:
Hardware
Parts needed:
-
Android Device (1.6+)
-
2x Potentiometers
-
Hook-up wire
-
Android ADK Board*
-
– OR –
-
Arduino compatible and USB Host shield
*Supported boards include:
Google ADK board, Freeduino ADK board , Seeed Studio ADK board, and DIY Drones ADK board
Assembly
Connect one terminal on each pot to ground and the opposite to +5v. Connect the wipers of each to an analog input pin, pins A0 and A1 in the example. Here is a diagram of the completed circuit (created with Fritzing):
Software
Arduino Firmware
Next, upload the Arduino sketch to the microcontroller. The sketch uses the Microbridge implementation by Niels Brouwers. Microbridge uses Android Debug Bridge (ABD) forwarding over TCP, rather than the Google Android ADK. You can checkout the source for the Arduino sketch from Github, or just copy and paste the following into the Arduino IDE.
Android App
The next step is to install the Android Demo application onto the device. You can either download the pre-built .apk or checkout the source from Github:
git clone git://github.com/mitchtech/android_adb_dual_analog_input.git
Finally upload the app to the device (or browse to this page on the device and download the apk above). Connect the Android device to the USB Host board/shield, and start up the app.