RGB LED Matrix ?

Go To Last Post
29 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

can someone please tell me the easiest way that to wire up and control an RGB LED 8x8 Matrix please? I am after full RGB control of each LED.

Last Edited: Sat. Apr 11, 2020 - 01:23 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Red on/off, green on/off, blue on/off, or full variable intensity of every LED?

JIm

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
RGB LED 8x8 Matrix
Do you have a datasheet ? And of course we need an answer on Jim's question :)

64 leds in the matrix, each RGB, under full control means 64 * 3 = 192 PWM channels. Ooompf.
Makes man feel humble, thinking of RGB LCD's with millions of pixels. It's December .... time for reflection.

A GIF is worth a thousend words   They are called Rosa, Sylvia, Tessa and Tina, You can find them https://www.linuxmint.com/

Dragon broken ? http://aplomb.nl/TechStuff/Dragon/Dragon.html for how-to-fix tips

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The OP will be demanding code soon :lol:
For a tiny13.


If I wanted to play with one of these, I'd probably plump for a Mega32 or it's ilk - because you've got the quantity of pins to sensibly run things...
A port for each 8R,8G and 8B, plus a method of selecting a row? - either the fourth port or some sort of shift register chip? You could then drive one row at a time to give a 1/8 duty cycle. Bit angle modulation (aka binary coded modulation) would be the way to deliver different intensities.

Nigel Batten
www.batsocks.co.uk

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If I wanted PWM on that many LEDs, I would definitely want 24 output pins for a complete R+G+B row, then a few pins to select columns (or vice versa). 8-bit PWM would be a stretch, depending on the speed and code quality, but 4-bit PWM would be very doable and provide a nice color gamut. 2-bit PWM provides a 64-color palette, a nice step up from the 8-color palette of simple on/off control, and eminently doable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes I want full PWM on each individual LED (I don't want much do I? :) )

I know you can do it with TLC5940's but haven't found a decent solution for full RGB control.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think it's worth looking at Binary Coded Modulation / Bit Angle Modulation to provide the intensity control rather than PWM. It will scale much better. You don't have to use PWM to dim LEDs - Yes, it's convenient if you've only got a couple of LEDs to control , but 24(+) is a different matter!

Nigel Batten
www.batsocks.co.uk

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm glad you brought this one up: I knew of the existence, but not the details.
Thanks !

Nard

A GIF is worth a thousend words   They are called Rosa, Sylvia, Tessa and Tina, You can find them https://www.linuxmint.com/

Dragon broken ? http://aplomb.nl/TechStuff/Dragon/Dragon.html for how-to-fix tips

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi
I looking some information ( diagram / program ) about inteligent display HDSP 21xx or HDSP 2203(6) and (for example ) atmega 8 16, 32. ( how to connect and control it )
thx. tadi

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

tadeuszknas wrote:
Hi
I looking some information ( diagram / program )
Beware, duplicate posting :-(

https://www.avrfreaks.net/index.p...

Stealing Proteus doesn't make you an engineer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
the easiest way that to wire up and control an RGB LED 8x8 Matrix

Buy a ready-made RGB serial controller from somewhere like Sparkfun :wink:

Or if you fancy having a go at it yourself, try their approach, and use a microcontroller to control a 24-bit shift register (8-bit shift register for each color - I believe they use the 74LS595D in their design), to control the rows of the matrix, and a transistor array (like the ULN2003) to sink the column current. They use an AVR Mega8 to drive it all... You'd have to do the PWM in software though!

Quote:
It's December .... time for reflection.

:lol: Very deep, Nard.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

firestorm099 wrote:
Quote:
the easiest way that to wire up and control an RGB LED 8x8 Matrix

Buy a ready-made RGB serial controller from somewhere like Sparkfun :wink:

Or if you fancy having a go at it yourself, try their approach, and use a microcontroller to control a 24-bit shift register (8-bit shift register for each color - I believe they use the 74LS595D in their design), to control the rows of the matrix, and a transistor array (like the ULN2003) to sink the column current. They use an AVR Mega8 to drive it all... You'd have to do the PWM in software though!

Quote:
It's December .... time for reflection.

:lol: Very deep, Nard.

For the columns, since you only want to drive one column at a time, you could save some pins by using a 74xx138 3-to-8 line decoder. DigiKey has parts that will sink 25mA, which is more than enough to drive a column of LEDs.

Luckily, you can run the PWM very slowly :)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

No I am after individual control of each LED, so in an 8x8 RGB Matrix that is 192 individual LED's to control.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The usual way of controlling this number of LEDs is by multiplexing. Not all LEDs are on at the same time. Essentially you display row 0 (only), then display row 1 (only)... then display row 7 (only).
This means that you can get away with directly controlling 24 LEDs, plus a way of selecting which row you want to 'light'.
It might sound a nasty thing to do (only light a row one-time-in-eight), but in fact it's incredibly common. If you do it fast enough, with enough current, you won't notice any flickering and it will be plenty bright enough.
Driving all 192 LEDs individually will lead to insanity.

Nigel Batten
www.batsocks.co.uk

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

zooto68 wrote:
No I am after individual control of each LED, so in an 8x8 RGB Matrix that is 192 individual LED's to control.

...but not all at the same time. You're using PWM control, so make the pulses of very short duty cycle (and higher current to compensate) such that you can interleave the pulses for each of the 8 columns.

Have 3x 74xx595s strung together to make a 24-bit shift register, and have a 74xx138 (make sure it's one with high current sink capability) with the ABC inputs driven from PORTx pins, the two low enables wired to ground and the high enable driven from a PORTx pin.

Shift in the data for column 0, select column 0 using the ABC inputs and pulse the enable for however long you want it. Repeat for the other 7 columns. As long as you get through all 8 columns within about 40 ms, nobody will know the difference.

Of course, if you want individual PWM control per LED, you have more work to do... but in that case you'll want 4x 74xx138s, and scan in both dimensions. That should be interesting trying to get through in 40ms, but might be doable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the info. Can it be done with TLC5940's as well as I have some of those already?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Plons here is the Datasheet for the RGB array I am using :-

http://ledsee.com/index.php?page...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks. In the mean time it has become clear that each dot is a RGB-led, and they are connected in a 8*(8*3) matrix. Do-able, with an AVR and some peripherals.

A GIF is worth a thousend words   They are called Rosa, Sylvia, Tessa and Tina, You can find them https://www.linuxmint.com/

Dragon broken ? http://aplomb.nl/TechStuff/Dragon/Dragon.html for how-to-fix tips

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

zooto68 wrote:
Thanks for the info. Can it be done with TLC5940's as well as I have some of those already?

You could, but it might not be a particularly good solution, depending on what you're trying to do. First question: are you expecting to control the color of each LED independently (beyond the 8 colors available by activating the various combinations of red, green and blue)?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes that's right. so I have full RGB colour mixing control.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ok... well, since you have the TLC5940s available, maybe start with 2 of those to drive the 24 lines for a single column, with a 138 multiplexer. You're going to have a lot of data to shift for each scan, though...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Any example circuits around please? I am new to electronics so wouldn't have a clue how to do that I'm afraid.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I don't know of any off hand. I'll see if I can come up with some close examples. It'll have to wait, I'm afraid - I'm going to be out of communication for most of the next week but I'll take a look when I come back.

Maybe it would be a good idea to try something a little simpler first to get your feet wet?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've already made a PWM controlled dual RGB LED lamp, plus got a 16x2 LCD running so my feet are wet. I want to dive into LED arrays now. Maybe I should start with a simple on/off RGB array with it's limited colour palette rather than go for PWM to start with. That might be a lot easier.

I have ordered some 74HC595s to go with my TLC5940's as I have both common anode and common cathode RGB LED's, though the 8x8 array I have from LEDSEE is supposed to be common anode.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've come across this little known chip called the AS1107 which is designed to control 8 digit LED displays. 3 of these could control an RGB array WITHOUT having to multiplex (as the chips do that automatically):-

http://www.truveo.com/RGB-LED-dr...

http://www.austriamicrosystems.c...

The devices can be programmed via SPI, QSPI, and Microwire as well as a conventional 4-wire serial interface.

No PWM but looks ideal !!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

FYI I have figured out how to do it using only 595 shift registers (the HC versions). These chips do not give PWM control but this could be done in software (perhaps using BCD).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Please check this:

https://youtu.be/bu308tAqyIw

It describes the internal circuitry of a 64x64 rgb led matrix panel plus codes and libraries needed from Github site.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Why have you woken up an eleven (11) year old thread? The original poster has not been here since his last post in 2009.

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Do something sensible and use 64 WD2812b NeoPixel programmable LED chip modules.  They will all string together.   It takes about 27 microseconds to send the RGB bit data for each LED, so it will take about 1.7 milli seconds to set the RGB colors on all 64 of the LEDs.   You can buy strips of 64 plastic-encased NeoPixels for about $20.

Topic locked