So a number of us in the Twin Cities maker group are interested in driving a mess of the GE Color Effects lights in order to backlight the glass block windows in our building, the Hack Factory. The GE lights are perfect for us; their spacing exactly matches the glass block windows and everything. And about 6 strands would work nicely for us.
Sadly, I failed to read this thread:
until just now, or I might have ordered a Propeller Proto Board USB and used darcos very nice .spin file.
But instead, we had an Arduino at hand, so suddenly everything looked like an Arduino problem :-/.
So I wrote some overly fancy code to theoretically let me drive up to 6 strings simultaneously on a little old Amtel328. In reality, the code ends up being gated on 115,200 baud, and the truth is I'll likely only ever drive 1 string at a time. But it was fun to write, and in theory, now I can write anything, even a Tetris wall.
*But* As I've played with this, I cannot squeeze out a few random glitches. A whole lot of googling suggests that others have experienced similar issues.
Occam's razor suggests it's my code that's broken; clue bats welcome. In fact, I'm more convinced of that now than when I started writing this post.
If anyone is interested, you grab an arduino and hook the signal line to pin 8.
The code is here:
I'm a command line junky; I use a Makefile to build both the .hex file and a command line utility to talk to the Arduino (drive).
make && make upload
./drive --init --verbose
./drive --cmd=132 or ./drive --cmd=130
both will run long patterns with occasional glitches.
You can in theory fiddle with the timing in led.h (if the code works, that is) - I need to get a protocol analyzer hooked up to see if it actually works as claimed. Fiddling about hasn't really left me feeling I know the best timings.
Has anyone learned more about these bulbs in the last 9 months? Timings? Anyone know the IC inside 'em so I can look up a data sheet?