I'm looking to build an 3.3V Arduino Pro Mini based LED driver that drives 3 (possibly 6) super bright 10mm LEDs (R, G and B).
Max Fwd Cur VDC Drop VDC delta Req'd Resistor RED 0.08 2.2 0.1 18.75 GREEN 0.08 3.2 0.2 6.25 BLUE 0.08 3.2 0.2 6.25
I want to drive this with a ULN2803A Darlington Array (DA).
I have a few questions.
- Have I calculated the required resistor values correctly above?
- Will PWM work for the LEDs when wired into the low EDIT:[I mean't HIGH] sides of the DA?
- Do I need to regulate the voltage into the common pin of the DA, or can I wire this into the RAW (VIN) pin of the Arduino or directly into the battery? As the battery's voltage drops, I appreciate that the lights might get dimmer -- this is okay (up to a point) as long as the DA continues to function? As an aside, if I used an unregulated wall wart, rather than a battery, would the ripple cause a problem with the DA's operation? Am I being lazy here and should I regulate the high side voltage as a matter of good practice anyway? If I was running it at 5V, say, rather than 3.7V, would the answer be the same?
- Do I risk the Arduino by drawing too much current if I wire the DA common pin directly into the 3.3V VCC pin of the Arduino?
- I see everywhere that GNDs should be wired together. Is this true in this case, for both the low and the high sides of the DA? Even if the high side is unregulated?
- Will picking a higher voltage battery be a better option in terms of brightness, power dissipation, and battery life? Even if the mAh rating of the battery is comparable?
- Is there a better way to do this (e.g. a shift register, MOSFETs, etc)?
I want to have the LEDs be able to be as bright as possible without risking the Arduino, and minimising on power loss wherever possible. Physical space is also at a bit of a premium but SMD chips scare me from a soldering perspective.