First set has a DC Forward Current of 120mA and DC Forward Voltage Typical-2.4v Max 3.2v
Second set is described as If 20mA, Vf = 3.4v, Vr 5v Max
I take it the second set's Vr refers to the Forward Voltage Max in the first set.
The Forward Voltage is the voltage drop across the diode when lit. It's not a very well controlled value so the first one lists a typical/nominal value (2.4V) and a Maximum value (3.2V) for worst-case calculations. It means you have to supply at least 3.2V per LED (times the number of LEDs in series).
The Vf in the second one is probably the typical/nominal value. The Vr is the maximum REVERSE voltage. In a matrix some of the diodes that are not lit will be reverse-biased. I think that means you shouldn't run your matrix one more than 5V.
1.The Ardunio outputs 3.3v or 5v, if plugged in to the USB the max amps is 400mA if plugged in to the mains max amps is 900mA.
Yes. The first id from the 500 mA limit of USB and the second is from the 1A limit of the Arduino voltage regulator.
If you provide externally regulated 5V to the 5V pin you can draw quite a bit of power from that pin since any you draw from there doesn't have to go through the traces on the Arduino.
- If I supply the TLC4940 with 5v, it magically converts this up to a maximum of 17v.
No. Your LEDs will run on 3.2/3.4V so 5V is fine.
IF you put, for example, three LEDs in series you would need 9.6/10.2V to drive them. In that case you would need to provide a higher voltage (something like 12V) to the TLC4940. The upper limit to the voltage the TLC4940 can handle is 17V.
- So the TLC4940 will provide enough Volts for- 5 of my first LED's - 3.2v x 5 = 16v
No. If you want to use LEDs in series you have to provide the higher voltage.
- Driving the TLC4940 at 5v will put out up to 120mA per channel. To output at 120mA I use a 0.32K resistor, If I want to use 5 of my first set of LED's I'll have to use the Ardunio's external power as 5x 120mA = 600mA which is bigger than 400mA!
Current is the count of how many electrons flow through the wire (like how much water is flowing through the pipe). The same amount flows everywhere in the circuit. If you put put LEDs in series you need more voltage but the same current.
You DON'T want to push 120 mA through a 20ma LED.
For your first set of LEDs if you drive 120 mA through 16 LEDs you will need a power supply capable of 1920 mA (roughly 2A) and at least 3.2V (5V will be fine).
For your second set of LEDs you need 320 mA and at least 3.4V (5V will be fine). You can experiment with these using the Arduino supply and switch to the high-power ones when you get a 2A supply.
- To output 20mA I'll use a 1K resistor, and I'll be able to use the Ardunio's USB power as 3 x 20mA = 60mA which is less than 400mA.
Yes. 16*20 = 320 mA which is still below the max that USB can provide.
This seems bit of a shame as I was hoping to power 16 LED's without resorting to an external power source- I guess I'll have to go down that route?
Yes. For 16 high-power LEDs you will need more power than the Arduino regulator can provide.
You have two choices for running everything on one supply:
Regulated 5V supply at 2A or more: Connect + to the Arduino "+5V" pin. Connect + to the TLC "Vcc" pin. Connect + to the anode of each LED. Connect - to Arduino "GND" and TLC "GND".
Unregulated 7-9V supply at 2A or more: Connect + to the Arduino "Vin" pin. Connect Arduino "+5V" pin to the TLC "Vcc" pin. Connect + to the anode of each LED. Connect - to Arduino "GND" and TLC "GND".
to power both the LEDs and the Arduino (through the Vin pin). The Vcc pin of the TLC would use 5V from the Arduino "+5V" pin. The raw 7-9V would connect to the anodes of all the LEDs. The cathodes of the LEDs would connect to OUT0 through OUT15 of the TLC.