Here's my attempt at driving an eight by eight RGB LED array.
I paid just under $7 for these arrays but they now cost less than $6 $7.50 from ebay
I'm using two SN754410 H-bridge chips
to drive the eight anodes at 5V. The anodes are the rows of the array (I said columns in the video).
The 24 cathodes are controlled with three TPIC6B595 high power shift registers
. There are three cathodes per column (one per color).
I used 150 ohm resistors between each red cathode and the shift registers and 100 ohm resistors on the green and blue cathodes. I'm not sure if the resistors are really needed, if I could make sure the multiplexing didn't stop. If I could be sure the multiplexing were reliable, I could probably remove the resistors and even increase the voltage to the array. I'd need to have the Prop control some of the enable pins on the H-bridges and/or shift registers because as it is now, when the Prop is reset the power to all the anodes is often turned on.
As I mentioned in the video, I initially tried to use only Spin in the control program. Spin couldn't cycle the LEDs fast enough to have controllable dimming without having a very pronounced flicker (I think "flash" is a more appropriate description than "flicker" in this case).
Even in PASM, I still had to keep the resolution down in order not to have a noticeable flicker. At 7-bits per color the flicker was noticeable on some colors (all colors to my wife). I might have been able to get away with 6-bits per color but I wanted to make sure the flicker wasn't a problem so I reduced the resolution to 5-bits per color. I personally think 32,768 colors is plenty on this type of a display.
While I don't think these displays look as nice as Parallax's new arrays (product page link
) (forum post link
), I'm think they're pretty darn cool for $6 each. I'm pretty sure I can control a couple of more displays with the same Propeller and still keep the 15-bit resolution. I'm planning on adding an additional set of three TPIC6B595 shift registers for every added array. I might use a separate data line for each set of shift registers in order to keep the PWM frequency relatively high (I'd still share the shift and latch lines). I think the 754410 h-bridge chips could probably handle multiple array rows so I doubt I'll need to add more of these.
I'll likely add some other fonts to the program. Back when I was looking for fonts for my 12x10 red LED array
, I found that there were lots of 8 pixel high fonts. One thing I'd like to try with a scrolling text array, is to use some sort of variable brightness font where the LEDs aren't just on or off but some of the font's pixels would be dimmed compared to the others. I'm not sure if such fonts exist, but I've often wondered how a "grey scale" font would look.
I don't really have an application for these arrays in mind; I just thought they looked too cool to pass up. Some of you may have seen the LEDs I added to my hexacopter
. I have 160 more
of the LEDs I used on the hexacopter that will likely get used with other quad/hex 'copters in the future. I'm still trying to figure out if these 8x8 have aerial applications. I'm thinking they're probably too small (6cm squared) for a "Close Encounters" style light show
I'm sure I could be persuaded to post the code if anyone is interested in it. I'll try to add support for a second (or more) array so the scrolling text is easier to read.
I know LEDs are supposed to be the easy stuff for microcontrollers, but I still get a kick out of seeing a bunch of LEDs light up in a fun pattern.