PDA

View Full Version : WS2812 LED Strips



paul_z
08-07-2013, 02:32 PM
There are many people on the forum who make edge lit acrylic “signs”. There is a new type of LED strip suitable for edge lighting. It uses WS2812 LEDs which are becoming available at reasonable prices. Although they are in a single string, each LED is Green/Red/Blue and each color has 256 levels of brightness. Further, each LED in the string is individually controlled. Here is a link to one of the suppliers:
http://www.bing.com/videos/search?q=ws2812+led+video&mid=B1282218BA22255098DEB1282218BA22255098DE&view=detail&FORM=VIRE2 (http://www.bing.com/videos/search?q=ws2812+led+video&mid=B1282218BA22255098DEB1282218BA22255098DE&view=detail&FORM=VIRE2)
The link below is a video of a WS2812 LED string.
http://www.bing.com/videos/search?q=WS2812+video&mid=79261D2D450CBCB7B5B679261D2D450CBCB7B5B6&view=detail&FORM=VIRE1

I have one of these LEDs running off a PIC microcontroller. I was very surprised how bright the LEDs are and when GRB are turned on max they produce a very convincing cold white.

The strings are available as “waterproof” which may open interesting outdoor applications.

Most (if not all) of the strips can be cut to the required length by cutting between any two LEDs. ( I would not recommend trying to make your own strips. The chips are extremely small.)

A controller is required to control the LEDs. I have seen some simple controllers for about $9 on ebay.

For the technically inclined:
1. The interconnect between the LEDs in the string is ground, +5, data in, and data out to the next LED.
2. The power requirements are rather forgiving.
3. The documentation states that the pulse stream is a NRZ protocol. It is not a NRZ coding. It is a rather simple pulse width encoding scheme; a narrow pulse is a zero and fat pulse is a one. If no pulses are detected for a nominal 50uSec the WS2812 LED assumes that the “talking is over” and latches the GRB bytes into the respective GRB constant current source. These values are retained until the next data stream or power is lost.
4. I have C18 C code that I wrote for a PIC 18F2525. It will control 32 LEDs and is updating the LEDs at 50Hz. I “bit bashed” the interface and would be happy to share the code. It requires a processor that runs at 8M inst/sec or faster. It may be possible to run at 4M inst/sec by tweaking some of the delays.
5. The data sheet for the WS2812 is rather poor; however, I have to admit that the overall design is rather clever and my sincere congratulations to the designer.
Paul Z

myxpykalix
08-07-2013, 05:19 PM
Hi Paul,
I couldn't figure out, from the link, who the mfg of these was. Do you have a link? I'm getting ready to start building a deck for my son and wanted to think about some kind of lighting to shows stairs, ect. This said it was waterproof so it might be what i need.

Maybe i can figure out how to make some disco floor lighting.....
"ah, ah, ah, ah, stayin alive, stayin alive...:D

bill.young
08-07-2013, 05:55 PM
Digital LED strips are very cool...they're the same ones we use on Handibots to show what the tool is doing. We control the ones on the Handibots with a small Arduino ProMini from Sparkfun ( https://www.sparkfun.com/products/11113) that costs about $10. If you use long runs you'll need a microcontroller with more memory than the ProMinis, but for short runs they work great and are cheap.

I buy the strips from Adafruit and they're available in 60 LEDs per meter ( http://www.adafruit.com/products/1138 ) and 30 LEDs per meter ( http://www.adafruit.com/products/1376). I'm sure they are probably available cheaper, but the Adafruit folks do a lot for the open source hardware community so I try to buy from them when I can.

I've got a video on youTube showing a strip randomly flashing...both color and duration.

http://www.youtube.com/watch?v=yaKrFlAPv1g