The project I'm building requires multiple LED arrays. I'm going to wire these LEDs in parallel and then connect the arrays to individual pins on a shift register. In addition to the LEDs running in parallel I've connected resistors in series to each LED. I've been prototyping this on a couple of breadboards and I've noticed my parallel LEDs are much more dim then my LEDs I have in series. The resistors I'm using are around 550 OHMs and I'm powering the registers through my arduino uno. I think this may be part of the reason why they're so dim, as the arduino is only providing 5V. My question is, can I/should I have my registers connected to my arduino via the data connections and power them using an external source? Will this provide me with brighter LEDs? I don't want to dump the resistors, and I have around 21 arrays, if it matters, each with a varying number of LEDs
-
2To more clearly and definitely present your circuits, please include schematic circuit diagrams. Numerous free circuit diagram maker programs are available.– James Waldby - jwpat7Oct 12, 2015 at 8:41
-
What shift registers are you using? How many LEDs are you running in parallel per pin?– MajenkoOct 12, 2015 at 16:01
-
What shift register? Multiple LEDs in parallel will share the output of an output pin, so to get 20 mA per LED with 5 in parallel would require 100 mA from the output pin.– Nick Gammon ♦Oct 12, 2015 at 19:58
1 Answer
You haven't provided enough information to allow definitive answers to your questions, but you can apply LED resistor calculators and formulas to determine how much current is available to drive LEDs of various voltages.
Here is an example: Suppose you hook up a red LED that drops about 1.6 V when it's on and operating at a current of 5 to 25 mA. Suppose the LED is in series with a 550 Ω resistor, between a 5 V source and ground. Current will be about (5-1.6)/550 A ≈ 0.0062 A = 6.2 mA.
If you wished to limit current through Arduino Uno pins to safe-area amounts like 25 mA, you could drive at most 4 such LEDs per output pin. If you decrease the resistor to get more current, the number of LEDs allowed per pin decreases too.
Because pin voltage drops slightly as the pin drives more current, LED brightnesses will also decrease slightly as more LEDs are attached to a pin, so putting different numbers of LEDs on different pins is likely to make light levels uneven.
Limits on output currents from 74HC595 shift register pins are similar to those on Arduino Uno pins; eg 35 mA absolute max ratings for the Qn pins.
Rather than driving LEDs directly from Uno pins or '595 pins, you can use transistor driver stages. Most transistor drivers will allow higher voltages (ie more LEDs in series, rather than in parallel) and higher currents. Also consider using LED driver chips; many of them contain PWM circuitry for brightness control and registers for storing drive levels.