Go Down

Topic: drive current of 5x5 RGB LED matrix—NEED URGENT HELP! (Read 2 times) previous topic - next topic

ahhreeyell

Hi everyone,

I have a project that's due on Tuesday. I was going to make a 5x5 RGB LED matrix powered by the arduino (and connect it to shift registers), but I just realized that I'm going to need something to drive the current to the LEDs. I tried using PNP transistors to do this (see the schematic I attached), but then the LEDs went really dim. I really don't know what to do. Please help me out--it's my final project and it's due Tuesday! Thanks!!

madworm

#1
Apr 30, 2011, 01:29 am Last Edit: Apr 30, 2011, 01:35 am by madworm Reason: 1
Did you measure your voltages/currents ?

I bet the RED ones were quite OK?

Don't use a common/shared current limiting resistor, you need one for each color and LED. If you multiplex per row, you can share the resistors between the rows, as only one is active at any given time. 15 resistors...

What is the voltage drop across your 10 Ohm resistor? If it is anywhere near or even above 2V, you have a problem.
• 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!

ahhreeyell

Oh hey madworm, are you the same madworm who made that RGB LED matrix on Instructables? I'm the one who posted that question about whether you had any schematics or photos of the circuit before you had your PCB made. lol.

To answer your questions:
- I had my LEDs powered by an external source of 6.4 V. I didn't measure the current. Where should I measure it on my circuit?
- No, they were all equally dim.
- I have one transistor for each color, but I have two LEDs connected to those transistors. It's all there in my schematic.
- I tried measuring the voltage across it. I took my multimeter and put the probes to the resistors while the circuit was being powered. Nothing happened. I tried taking out one leed of the resistor and sticking a wire in its place instead, then measuring the voltage between the two. The LEDs got really, really bright when I did that. Then once I took the probes away, the LEDs got even dimmer. They don't even light up now, except for when I touch one of the transistors or resistors. Then they get really, really bright.

I have no idea what's going on.
Could I use something like this to power my matrix instead? http://arduino.cc/en/Tutorial/RowColumnScanning or multiplexers or shift registers?

madworm

#3
Apr 30, 2011, 02:48 am Last Edit: Apr 30, 2011, 03:01 am by madworm Reason: 1
Using just shift registers with resistors will work, but it won't be very bright. Looking at the shortage of time, it may be the way to go. Wiring up the matrix will be unpleasant enough. Remember: one resistor for each color per led per row/column.

If you plan to use the pnp transistors and you have a decent electronics store in your town that is open on Saturdays, you should try getting common anode leds. You could ask for 8ch led drivers as well, but that might not be successful. Then you would be done with just 5 pnp transistors for the 5 rows and could use 3 shift registers for the 15 cathodes (and resistors, 20mA max.) (per row. but they are shared). That would be a bit brighter than just using shift registers for sourcing and sinking current. But be warned, that you cannot use anything else than 5V for the leds as well. If you need a higher supply voltage, you'll need npn-s to drive the pnp-s, otherwise they never turn off. The arduino would have to output more than 5V, which it can't.

It appears that you have built your circuit on breadboard. If you get strange behaviour, make sure that the wire's actually have good contact and are thick enough to make that happen. This is one short path to insanity.

Substituting the 10Ohm resistor with a wire is not a good idea. It would help if you made another drawing indicating where you put your volt-meter's leads.

But before you do that:

I bet 'Grumpy Mike' would probably use severe language for the schematic you've posted. With just one resistor per led it just can't work, you need 3 per led. It should be trashed. Also it doesn't make any sense to share the transistors across the leds, if you need individual color control (with the exception of shades of gray for all of them).

And regarding your other question: yes it is me. There can only be one  ]:D

Now I must go and travel to some of the still remaining parallel universes and eliminate the duplicates.
• 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!

ahhreeyell

I can't get common anode LEDs; that isn't an option.

I'll put up another drawing once I get home.

What do you mean by three resistors per LED? I'm confused. Where on the schematic do they need to go? You mean that each anode pin on each LED needs a resistor?

Also, how much would the following ICs help with a project like this?
CD4067BE (http://www.alldatasheet.com/datasheet-pdf/pdf/157680/TI/CD4067BE.html)
74LS257 (http://www.datasheetcatalog.com/datasheets_pdf/7/4/L/S/74LS257.shtml)
74LS139 (http://www.alldatasheet.com/datasheet-pdf/pdf/8082/NSC/74LS139.html)
74LS251 (http://www.datasheetcatalog.com/datasheets_pdf/7/4/L/S/74LS251.shtml)

Go Up