For some time now I’ve been looking for an effective way to drive higher loads than the Arduino outputs can source.
I should say right away that I’m not trained in electronics, I’ve just done my interweb research on the subject…
The options seem to be
- Individual NPN transistors
- Darlington array
- Output expander
My application is this: I’m driving rows of LEDs that are controlled with a TLC5940, which is a current sink. I have 5 or 10 rows, of which only one will be on at any time.
The ideal solution would be able to source at least 320mA and have 5 or 10 outputs. If it’s cheap, easily available and comes in a DIP package then that just makes it so much better.
Option 4 would have the big advantage of freeing up some IO pins, but it’s difficult to find serial-in, parallel out drivers that can source enough juice. One I found is the MIC5891, which can source up to 500mA. It’s 8 channels though, and not terribly cheap.
I’ve had difficulties finding an option 3 with good output current ratings, most seem to be designed for sinking current. Allegro’s UDN2981 and 2982 Darlington NPN arrays otherwise seem like good contenders, also capable of 500mA. As with the MIC, these devices have 8 channels.
Otherwise the DS2003 (High Current/Voltage Darlington Driver) from National Semiconductors might be more suitable for me as it is 7ch, 350mA.
As for options 1 and 2 I’m not sure how or even if it would work in this application.
I’m hoping someone with insight and knowledge can help shed some light on the subject - please!