I would like to know, if this work, and if corrent i much suply because only 1 colum of the 24 will be on, and how i can use PWM here?
This works fine as a 8x16 matrix.
The current depends on your way of multiplexing it.. there are several possibilities, including the use of special matrix driver chips, transistors, or just depend on the Arduino (8 Arduino pins for the rows and 2x '595 shift registers for the colums..) The 595 might become overloaded as current sink, so you might need 16 transistors or 2x ULN2803 ..)
because only 1 colum of the 24 will be on,
so the column supply must be capable of providing enough current for 8 (or 16 if you use both colours) LEDs. At 20mA per LED that is 16 * 20 = 320mA. To supply this you need transistors or FETs.
Maybe it would be simpler if you had a column as a sink, but then this would exceed the current output from the shift register and you would need two ULN2803.
and how i can use PWM here
You can't use the arduino's PWM outputs to drive this. If you want PWM control then you will have to go for an external driver chip.
because only 1 colum of the 24 will be on,
so the column supply must be capable of providing enough current for 8 (or 16 if you use both colours) LEDs. At 20mA per LED that is 16 * 20 = 320mA. To supply this you need transistors or FETs.
Maybe it would be simpler if you had a column as a sink, but then this would exceed the current output from the shift register and you would need two ULN2803.
In the img that i post, I will use 24 transistors, 1 for each column, i think that must be PNP, and as you say i need more 16 transistors for the row, and the transistor sould be PNP or NPN??
thanks
Sorry, I did not even recognize you posted that picture ![]()
This is why I talked of 8 rather than 24.....
You must distinguish whether you are working at (+) "high side" or (-) "low side". High side drivers generally use PNP transistors, as their drawbacks are compensated by a simpler wiring. In worst case those have to source 200mA, so small signal versions will not do.
As you will only set ONE the columns to high, the short current pulse at the low side '595 sinks is acceptable - you need no transistors there!
I am not aware of nice packages of high side drivers like the ULN2803 - that would simplify the wiring ....
Just some tipps:
-
rather than decoders or such you can use 3x '595 as well for this purpose; just one of the 24 bits will be high. Daisy chaining all 5 registetrs will save you some pins.
-
You can/also interchange the row column multiplex: Just select one ROW to be on and provide a 24 bit pattern. This can be done without transistors for the columns. So you will be able to use 2x 8-bit low side drivers for the rows (only 1 will be active at a time, though might have to sink 24x20 = 480 mA)
-
You cannot really PWM, but you can use 2 or 3 levels of brighness by skipping the LEDs to become more dim every other cycle...
I couldn't see the picture earlier today, now I do You haven't shown the transistors correctly. You need a PNP, with the emitter going to +5 and the collector going to the LEDs. The base must go to the decoder / counter (you should use another shift register here)
The problem with only doing a column at a time with such a big matrix is that your refresh time is over a large number of cycles (32 before it has to come on again)
by skipping the LEDs to become more dim every other cycle.
Trouble is that the dim ones tend to flicker as they are not on so long.
you said that i should use 3 shift register, and one shift register conected to the decoder?
i have thinking about conect 5 shist register, 2 for the rows an the 3 for the columns, but i don't kown if this become very slow?
or in another way, use two decoder for the coluns, but one is low and the other is high, and sould be the opposite, for this i should use transistor? what type? and how to conect?
thanks for the help
i have thinking about conect 5 shist register, 2 for the rows an the 3 for the columns, but i don't kown if this become very slow?
or in another way, use two decoder for the coluns, but one is low and the other is high, and sould be the opposite, for this i should use transistor? what type? and how to conect?
But I think I had already answered nearly all of your questions.. Haven't you read my postings??
And no, shifting through 5 registers is fast enough (<1ms =1000 Hz)
for this i should use transistor? what type? and how to conect?
I too have answered this question.
You need a PNP, with the emitter going to +5 and the collector going to the LEDs.
What about these answers do you not understand?
i didn't realize the transistor PNP that the way you talk work as a inversor
thanks both
I have read all the post and and I'll do this in one of two ways suggested
1)whit five shift register
-or-
2)whit two shift register, 3 decoder for the columns with a PNP transistor to work as an inversor and power suply,
how the deSilva and Grumpy_Mike say
the matrix is 8x24, i know with 24 columns the matrix will work fine, with no blink, but the bright can be a problem
to avoid the little glow I could work with each matrix independently, have 2 shift register for the green and red, one decoder for the positive, would use a total of six shift register
i am new at this, sorry so many questions and doubt
ok..
In fact there are many more ways. The main problem with multiplexng is, that the brightness is disappointing...
Though the most parsimonious way to wire a matrix is as square as possible, you can boost the brightness by less multiplex steps.
So you could (logically!) stack all three matrixex and have 48 (logical) rows and only 8 (logical) columns. Thiswould need 7 shift registers (or 6 shift registers an 1 decoder).
The 6 shiftregisters will easily sink thecurrent of one LED, but the high side drivers now must deliver 48x20 = 960mA worst case!
Each red led 'eat' 25ma, and green 30ma, how much ma should i gave for each led, if it work in 1-8 cycle?
8x25=200ma?
or 100ma, in the matrix said "Peak Forward Current (Ifp): 100 mA", i don't know the meaning
to source power i wiil buy 2n4401 NPN, and to sink 2n4403.Collector Current — Continuous IC 600 mAdc
i dont know how to calculate the resistor (5-2.4)/(??ma)=
You don't need transistors when sinking 20 or 30 mA only. However resistors can be supplied for the cathodes (i.e. at the '595 registers current sinking outputs) They are computed in a standard waY
Red 3.3 Volt difference @ 30mA = around 120 Ohms
Green 3 Volts difference @30 mA = around 100 Ohms
If you are bold you can leave them out totally. There are good arguments for and against this ![]()
then i only go use transistor NPN for the positive side off matrix and resistores for the negative side?
i gone use 6 74hc595 and a 4017 decade counter
Mind whether you need positive (active high) or negative (active low) output from the decoder - there are both types available (74HC...)
However, you will need 3 additional output lines for it!
If you daisy chained a 7th '595 you would get this for free - and without prior contemplations for high or low ![]()
But maybe the software will look to you more complex then...
then i only go use transistor NPN for the positive side off matrix
Not sure what you mean, but I don't think you can do that without limiting the voltage drive to the matrix. Post a schematic of what you want to do.
Not sure what you mean, but I don't think you can do that without limiting the voltage drive to the matrix. Post a schematic of what you want to do.
Resistor for the green led it 120, for the red is 82
And one more question, i alredy ask it but i dont become informed. In one matriz that have 8 columns, only one will be active, how much energy should i suply, 8 times more energy, or only energy for one column
Forward Voltage: 1.8/2.4V Red - 2.2/2.8V Green (Typical/Maximum)
Forward Current (If): 25mA / 30 mA (Red/Green)
That is not the right way to power the rows. If you do this then you will not get the full voltage out of the transistor. This is known as an emitter follower.
You want to use a PNP transistor here with the emitter going to +5V the collector to your rows.
You also need a resistor in the base of each transistor.
In one matriz that have 8 columns, only one will be active, how much energy should i suply, 8 times more energy, or only energy for one column
You have no control over how much current you supply, what you mean is the components must be rated so that it can take the current you draw. The answer depends on how you multiplex it in software. Work out the maximum current taken by the most LEDs that can be on at any instant in time. That is the current that needs to be drawn. So if you have a row at at time the transistor supplying that row has to supply current for all 8 LEDs but the column has the current for only one LED so the sink only has to be able to cope with the current from 1 LED.
