Go Down

Topic: 16x16 RGB LEDs with 96 register, good idea? (Read 3 times) previous topic - next topic

cvl4317

First time poster, if I sound impolite, please smack me as needed. It is not intended.

My plan: 16x16 pixel of RGB LEDs, common cathode.
I have Arduino Mega 2560, excessive IO port usage is not a problem (for now).
I assume that most of the LED arrays use shift registers, turning on one row/column at a time, and depend on high refresh rate for persistent-like display.
So, I attempt to use 96  8-bit register / d latch to allow consistent display, and the arduino will only update the selected register as needed. I will update each register with 8 IO pin from Arduino, if it is actually worth the reduction of time delay, if any.
I know this will be expensive, as 96 8 bit  D Latch will cost almost as much as 256 RGB LEDs.
However, my question will be:
Will having register remembering each pixel color will have significant increase in performance (display to eyes)?
Will this worth the price for the max performance it can obtained compared to row-scanning method?
If there is anything worth mentioning, I will like to hear.

Grumpy_Mike

Quote
Will having register remembering each pixel color will have significant increase in performance

It will be brighter because you don't need to multiplex it, but the unit will take more current.

Quote
So, I attempt to use 96  8-bit register / d latch to allow consistent display,

It is not so easy to scale up electronics like that, for a start each logic output from the arduio can only drive 20 or so inputs, so you will need some buffer chips. It needs proper layout on strip board with lots of decoupling and a good power supply. Assuming each LED takes 20mA the a 16 X 16 matrix will take -> 16 * 16 * 3 * 0.02 = 15.36 Amps, that is quite a lot.
Also 96 X 8 is 768 arduino outputs, a touch more than a mega has free, and I am not sure you can drive 8 LEDs direct off the D-type latch.
Apart from that the plan is flawless.

cvl4317

I have a 36A 5V power supply to power the LEDs. And I am planing to use up to 15 8-bit demux to access each register independently (and part of the plan is to update only the changing pixels/register selectively).
Also, all of 8 input of registers will share the same 8 output from Arduino.

Other than the fact that it will get expensive, I still want to know if I can obtain "higher" framerate for smoother animation if I do it this way.

madworm

Are you planning to do PWM as well, or is this just a 6 color + black variant?
• Upload doesn't work? Do a loop-back test.
• There's absolutely NO excuse for not having an ISP!
• Your AVR needs a brain surgery? Use the online FUSE calculator.
My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...
• Microsoft is not the answer. It is the question, and the answer is NO!

Grumpy_Mike

Quote
I still want to know if I can obtain "higher" framerate for smoother animation if I do it this way.

Not particularly, you will have a big problem just working out what part of the image to update, it is much easier to refresh it all.

Quote
all of 8 input of registers will share the same 8 output from Arduino.

So just remember what I said about buffering.

Go Up