September 13, 2011
Actor, Writer, Electronics Engineer
Spin, PASM, BASIC, SX Assembly, C
about a year ago
Grody is correct; the WS2801 uses a clock and data line – it is SPI without an external chip select. The chip select is handled internally by monitoring the state of th clock line (when it’s quiet for a specific period, the chip resets itself to accept incoming data).
Propeller uses that tried my original driver found that some products reversed the red and blue LEDs, hence I added that feature to my driver.
That depends on the chip and the driver you’re using. I code for the Propeller which allows me to devote a processor to constant updates (typically every 3 to 5ms) and have a RAM buffer for 170 LEDs (or more - 170x3 fits into DMX universe).
These videos show Propeller-based projects I designed and coded for Steve Wang (he created the Predator and a lot of other cool movie monsters):
– http://www.youtube.com/watch?feature=player_detailpage&v=pO5P7-LxzTE (see Wes Borland’s costume at 5:20 mark)
about 2 years ago
Technically, you don’t, which makes it useful for simple processors and low-bandwidth color changes.
I work in Hollywood with effects shops, often doing animated lighting, so I need to be able to refresh the display at a fairly zippy rate. This is where the Propeller really helps; I can have one or more processors updating color registers while the driver processor is constantly updating the LEDs.
For a project I did using WS2801 LED strips (with 95 LEDs in the strip, wrapped around a sphere) I uses a 5ms refresh of the LEDs and two animation cogs (processors); one created a swirl effect, the other a latitudinal ring effect. I don’t have video of the final program, but you can see test code running in the video link below. This display was built by Steve Want (Predator and many other cool movie characters) and his team at Biomorphs.
Here’s a direct link to my WS281x driver and demo files: http://obex.parallax.com/object/703
The driver code (written in Propeller Assembly) is commented and should make sense. It uses a very nifty rearrange-on-the-fly trick by TonyP12 in the Propeller forum. I like to store my color values in the form $RRGGBB, but the device wants the order to be $GGRRBB. By adding just two lines (a test and a rotate) the bits can be sent to the WS231x in the correct order.
For those using the Propeller chip, I wrote a driver that is posted in the Propeller Object Exchange. Since the driver runs in its own processor, it’s behavior is set and forget (it auto refreshes so you don’t have to tell the string to update).
No public wish lists :(
Forgot your password?
No account? Register one!