Light Ceiling is an Arduino project i developed during the last months, it consist on a 4×4 RGB LED Matrix that resides under the wooden structure where my bed lies on.
The goal of the installation is to build an interactive light system, interfacing the matrix with a computer running software like Processing, different stimuli make the Matrix react and translate that signals into light.
The LEDS
I discovered the ShifBrite , an IC containing a bright RGB LED which turned out to be really easy to interface with others in a chain. The manufactorer provides some Arduino source code in the website so you can start using it right away (Of Course, you will first need to make the wiring)
My Chain contains 16 SBs, i use a 6V/1,5A Power supply to power up both the Arduino and the lights.

Controlling from Processing
You can do a lot of stuff with the Arduino and the led chain alone, but connecting both with Processing (through the usb serial interface) expands the possibilities enormously. I developed a controller that allows to program the matrix and interact with it both live and in a sequencer-like fashion.

This software allows to light single leds, rows, cols, diagonals and the whole matrix with selected colors, the user can set a color to each component and send a message to the Arduino to make it react.
Once a component is being configured it can be stored (by pressing “S” and clicking on the component) in a Slot to be played as a sequencer, the sequencer can be started/stopped using buttons, the pitch can be as well configured and the tempo can be influenced by the beats detected on the audio input.
Another part of the synchronisation with the audio happens when activating the HIGH/LOW/BEAT Components, the user can set a certain color to be transfered to the matrix when detecting HIGH/LOW frequencies on the audio input, as well as trigger a color when a beat is detected.
Resources
You can get here both the Arduino and the Processing sources, feel free to modify and improve it, i would really love to see people building similar matrixes and using this software to control them. if you do so, please let me know about your project.
Arduino code - LightCeilingArduino.0.9.1.pde
Processing sketch - LightCeilingProcessing.0.9.1.zip
Future Roadmap
Integrating with Camera and Image recognition
Write a processing sketch that uses webcam and CV to detect the color of an object and transmit it to the matrix.
Advanced control interfaces
control the lights using the kinect or a MIDI controller
Implement Perlin Noise algorithm
As @kokuma did with his Britable, it would be really nice to implement this color mixing algorithm on the matrix.
build real-time visualization in the programm
While playing around with the matrix at home i realized that looking at the screen to control the software and then looking to the matrix to see how it looks like was a bit confusing, it would be really practical to implement a visualization window to see whats going on in the matrix in realtime, just analyse and interpret the signals being sent to the matrix and reacting to them.
Light installation consisting on a 4x4 RGB LEDs Matrix and an Arduino being interfaced with a computer running software made with Processing that allows the user to control it, the matrix interprets different signals and reacts to light up my living room.
Wednesday, September 14th, 2011