I am trying to do my first Arduino project, and I would like to drive a 5x5 matrix of IR leds. I would only like to have one switched on at a time.
I understand that in an array I can do it with 5 lines for anodes and 5 lines for cathodes. My problem is that I cannot supply 100 mA with an Arduino.
What would be the easiest way for me to supply 100 mA for these leds? I think they don’t need current limiting, if I could drive them with 1.35 V voltage, it would work perfectly. I’ve measured a couple of my LEDs and they used exactly 100 mA at 1.35V.
I know that I can use a transistor for supplying a higher current power source, but I don’t understand that how could I do it with a 5x5 LED matrix. How many transistors do I need? 5 or 10? And if I need 10 transistors, then I understand the 5 which supply 1.35 V, but what are the other 5 doing? How can a transistor supply 0 V?
Or, as an ugly trick, I was thinking about using a Mega, and for each line, using 3 pins in parallel. I mean one pin has a current limit of 40 mA, so 3 pins would be enough for 100 mA. That way I wouldn’t need to care about an other power source, and transistors. I could just run the whole thing from USB. All I would need would be 5 resistors. Is that a good option?
Or, as an alternative, I was thinking about using Rainbowduino in itself. It has current limiting, and in theory I could possibly run the whole thing from 5V USB. But it seems really complicated to just control 5x5 LEDs. I don’t understand the whole idea about source driving the anode and current driving the cathode! Isn’t it a circuit, I mean we either set the source, or the current? And why does the anode has 500 mA current limit, while the cathode has 120 mA? So while it looks good on paper, I think I’m really not on a level to understand how it works.
All I would need is to control 5x5 LEDs, where each of them would require 100 mA @ 1.35 V. What would be the best way you’d recommend me doing it?
Remark, I don’t want to light up all the LEDs at the same time, I just want to light on one at a time. I don’t want multiplexing, it’s OK if they switch very slowly (like at 10 switch / second).