LEDs getting smarter
Sometime ago, I used for a project a set of RGB LEDs that were networked and responded to a few commands sent through a shared bus. It was a lot of work but it was fun. A while ago, at a RepRap meeting, user fungus showed me how he was using new controllers for doing exactly that, controlling RGB leds through a shared bus (daisy-chain would be the exact term though). They are available either as a small PCB with the chip so you can solder your own LED, or with a built-in LED or in a long stripe of LEDs.
Other manufacturers just included the chip together with their RGB leds, so you can get a three pin RGB led that includes internal memory to be set at any desired color from a single-pin output of your favorite micro-controller. And my favorite during the last few years has been Arduino so I just downloaded the FastSPI library and try to make sense of it. Unfortunately it never is so easy, so this time I was forced to upgrade my Arduino to 1.0.4 (I was avoiding that and keeping the 023 version that worked nicely with my 3D printers firmware, I hope nothing will break now) as library was not compiling and I did not want to go through the effort of backporting the code to an old version of Arduino environment.
I did not find a simple example, but eventually got everything running fine with an Arduino UNO using just one output pin. Now I have to figure out what patterns may look cool and to code them.
Here you have my sample code I used for the video above (I am using digital pin 5 on Arduino for the data line):
// Sample code for WS2811 LED bars // by misan #include "FastSPI_LED2.h" #define NUM_LEDS 60 struct CRGB { byte g; byte r; byte b; }; struct CRGB leds[NUM_LEDS]; WS2811Controller800Mhz<5> LED; void setup() { LED.init(); } int counter=0; int MAX=16; //keep power usage low void loop() { leds[counter].g = random(MAX); leds[counter].b = random(MAX); leds[counter].r = random(MAX); LED.showRGB((byte*)leds, NUM_LEDS); delay(10); counter = ( counter + 1 ) % NUM_LEDS; } 5>
Comments
Acer - 13.3" Aspire Laptop - 4GB Memory - 500GB Hard Drive - Cobalt Blue
Acer - 15.6" Aspire Laptop - 6GB Memory - 500GB Hard Drive - Smokey Black