Hello Ardiuno Forum, glad to finally make a post and stop lurking and finally join in on the community.
I'm currently working out the best way to drive a matrix of 24x24 RG LEDs (made up of 8x8 RG Matrices that I got here: http://www.ebay.com/itm/170628218127?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649 )
I have so far successfully driven/multiplexed a 4x4 RGB matrix and one of the 8x8 RG matrixes using 8 p-channel FETS, a 74LS138 decoder, and a TLC5940 (with the Mux library) so I have an understanding of how to drive LED matrices. Obviously I can just use 3 74LS138, 24 fets, and 3 TLC5940s (48 LEDS total in a row, one 5940 can drive 16 channels), but I'm trying to figure out a way to cut down on the arduino pins necessary to do this (3 per decoder).
I'm thinking of using six output pins on the Arduino to two 3-to-8 multiplexers to each of the decoders as follows:
- mux0_O0 -> mux0_O2 to select lines of decoder 0
- mux0_O3 -> mux0_O5 to select lines of decoder 1
- mux0_6, mux0_7, mux1_0 to select lines of decoder 2
Logically I can't see why this isn't feasible, but if I am wrong in assuming that this is possible, correct me.
I can't find a way to cut down on TLC5940s, but I have more than I know what to do this ( ordered WAY too many when I knew nothing about what was going on, I then didn't research enough and didn't realize you could just multiplex the rows :] )
I also can't find any way to cut down on FETs - I thought about just using the same 8 FEts to drive each set of 8 rows, but I'd need some way to multiplex those as well, and I'd rather just plop another FET down per row.
Again, I'm mainly concerned about keeping the amount of output pins on the arduino. If the multiplexing setup I described works, I could in theory drive up to 40 rows at a time, bringing my maximum display resolution up to [n*8]*40, n being the number of TLCs that I have.
I also have a couple questions about the current draw of the LEDs - I understand that when multiplexing that the maximum current draw that will be reached is simply one of the row's max current draw. If I'm going for a 8x8 RG matrix, assuming that all LEDS are on in the row, that should be [16*.020]A, or 320mA. So it should follow that the current for a 24x24 matrix should be 3[16*0.20]A, or 960mA.
What I don't understand quite well is the current source/sink aspect of the circuit. I know that the TLC5940s can sink ~60mA per pin, and that in this case they should only be sinking 40mA if both red and green LEDs are on. What I don't understand is how can the FETs source more current than the power supply can provide? I'm currently using a breadboard power supply with a wall adapter rated at 650mA from SparkFun. Will this be enough to power the LEDs, or will I need a power supply that can handle more current? Or is the current allowed to be higher somehow (my FET can source 27A) if you are able to sink it within the circuit (which the TLCs can do)?
Sorry for the long post - any help is much appreciated. Let me know if I should clarify anything. Thanks!