So, together with my friend Alessandro we went at an Arduino controller using an RGB shield for a total price lower than 40 $ using Android as user interface, having full control of two (but can be more) strips and driving them also with the music played by the smartphone.
Simply, the video show the amazing (for us!) result. Lets follow the next steps to build your own.
Step 1: Step 1 – Basic on Control a LED Strip
An RGB LED is a single device that embedd three colored (red, green and blue) LEDs into a case, control it is nothing more than control a set of three LEDs with a common anode. A strip has four pins, one for 12V power supply and the three cathods of the R (red), G (green) and B (blue) LEDs; it include also resistor so that you can apply directly 12V as input voltage.
Activating the MOS (one for each color) will lets current flow into the LED, having more than one LED active at same time gives mixed colors. This scheme is perfect for a fist test, but all the current that your strip will sink would go thought the Arduino PCB, so don't use too longer strips.
Step 2: Step 2 – Build the Controller
You can build the circuit as shown before or use a shield if too lazy for handling an soldering iron (as we are), there are two boards that we used, the RGB LED Shield by Open Electronics and the MOD-RGB by Olimex.
The former is a shield, you just need to plug on the top of you Arduino and load the sketch, the latter is more compact but isn't a shield and needs an Arduino compatible board by Olimex to be plugged in. Both boards use a similar scheme, the current doesn't flow in the Arduino PCB and long (up to 5 meters) strips can be driven.
In the video is used the Souliss framework, that include also the Android application. Is just a matter of download the code and do a simple configuration, the code for the RGB is included in the examples (available in the Arduino IDE once loaded Souliss in) under hardware -> OpenElectronics if using the shield or hardware -> Olimex if using the MOD-RGB module.
Once loaded on the board, following these instruction, the Android phone (using the SoulissApp) connect to the board and recognize the RGB strips, then you are ready to play :)
Step 4: Last - How It Works
We have used a framework that is in development since last year, is designed to control multiple devices and this make easy build networked object, like these two strip controller at same time from the smartphone. The user framework is called Souliss, runs over Arduino and support multiple medias, you can start with Ethernet connected boards, but wireless is also supported.
The communication protocol with the other boards and the Android application is behind the framework, the user just need to specify in the sketch what is supposed to be controlled and add eventually code for customized solution and needs.
You can download Souliss at this link, is completely open-source, lets have a try!