I redid this project to use a web server running on a PC connected to the Arduino via serial (USB). This allows the Android app to operate without the need for Bluetooth. The app simply sends a request to a PHP website on the server. The server then sends information along to the Arduino. The Arduino is responsible for interpreting this information and dealing with it, controlling the LEDs.
The new(er) project, called RGBWeb, is available here.
RGBDuino is a project created to use an Android device and an Arduino to control a string of red-green-blue LEDs over Bluetooth. The project consists of two main parts: the hardware side and the software side.
First, a demonstration:
For the hardware end of things, I used a breadboard-able version of an Arduino. Any Arduino or Arduino clone should work.
Essentially, the Arduino receives bytes from the Serial Module through digital pin 2 and sends data through digital pin 3. The power N-channel MOSFETS have their gate legs (left legs) connected to PWM pins 9, 10, and 11. Each gate leg is also connected through a resistor to GND. The drain leg (middle leg) is connected to one of the negative returns from the LED strip. The source legs (right leg) are all connected to GND.
The 12 volt power source connects to GND and the common anode on the LED strip.
The parts I used were:
The Android app was written using MIT's App Inventor. The project source and a compiled APK version of the app are available on GitHub.
The Arduino side of the project uses the SoftwareSerial Library to listen to the Bluetooth module. This could be done with the built in Serial pins, but that would make it difficult to upload new code while testing. The Arduino code is available on GitHub.
Any questions can be directed at RGBDuino@corb.co.
Monica Houston built a new project using some elements of this project. You can check it out at Hackster.io.