Help an ignoramus build an 8x24

Hi. I'm completely new to microcontrolers. I have a basic understanding of electric circuits. I want to embed in a motorcycle helmet an array of LEDs I can program to light up in dazzling moving patterns. I'm really excited to order some parts so I can start tinkering, but I need some advice on which hardware approach to take.

From the reading I've done so far, I gather a basic arduino board by itself isn't going to manage 192 lights for me. The lightuino looks like it would cover me, but I'm wondering if it's more than I need (and whether it and my head will fit in the helmet at the same time). I've seen several chips/drivers/shift-registers I could use in combination with an arduino board to reach the number of contacts I need, but I'm not sure which is right for my project.

I was thinking of powering my project with 6 eneloop AAs. The brighter the better of course, but for simplicity and battery life, I'm guessing I'd be better off using standard 20mA LEDs rather than high power ones? Similarly, for simplicity and battery life I'm guessing I'd be better off sacrificing more brightness and multiplexing rather than trying to directly control all 192.

They'll all be one color, and because it's my first project I was going to forgo any perceived brightness control and just deal with on/off states for the LEDs. The animations I'm planning are stuff like sine waves, bars wiping across the grid, that kind of stuff. I'm guessing on average 25% of the LEDs will be on. For controls, I was thinking about including a button to cycle through patterns, and a knob or pair of buttons to adjust the animation's tempo. I'll be wearing it, so it'll be warm inside, but it'll be cold outside and maybe I can put a heat sink behind some components connected to exterior cooling fins (if that would help).

I'm fairly confident I'll be able to figure out the programming part, but I don't know which combinations of components I should be studying. If anyone can suggest an arduino board and/or additional chips and/or an LED type, that would be awesome.

The main challenge would be to make everything small and flexible enough so that it can be attached to the (exterior of the) helmet.
As for the schematics, you can go with the 595-based solution or adapt the one used in MeggyJr RGB (one 8x8 RGB == 3 x 8x8 single colour).
The power could come from a LiPo rather than 6 AA eneloops (why not 4?), since it packs a similar capacity in a smaller package.
Please keep us posted with your progress.

Consider carefully the advantages of high output LED's > 10K Candela's (High Efficiency). I have some 20K units that are hard on the eyes @ 1 mA and perfectly useful in a bright room @ 500 uA. ,02 A (20 mA) X 192 lights on batteries = 384 mA load current?. Yes IF you can only turn on one LED at a time, the trick is to do it fast enough to look like constant illumination. With 6 cells the battery voltage would be 9v X .384 mA is almost 3.5 W and this makes no allowances for the current drawn by the controller and the drivers.

Doc

Yes using 595 shift registers is the way, you can even fade them with this software.
http://www.elcojacobs.com/shiftpwm/

Great, that gives me somewhere to start. Thanks, guys. :slight_smile:

ok, more reading has yielded more questions, mostly current-capacity related.

I'm looking at using LEDs like these superbrights from adafruit, or these 5mm from superbrightleds, or super flux ones like these. I think using anything 10 candellas or above is going to be out of my budget. This LED Matrixing article suggests that multiplexed LED’s can be driven with currents above their peak continuous current, because they’re only flashed briefly, to make them appear brighter. So now I’m trying to figure out what 595 configuration I can use if I want to deliver, say 40mA (the super flux spec a max of 100mA), to my LEDs.

I was thinking about 8 rows, 24 columns. With three 74HC595s each driving 8 columns and a TPIC6B595 sinking one row on each of its 8 pins. I’d be cycling through the rows rather than the columns so my led’s would be lit 1/8th of the time instead of a 24th of the time. But I saw somewhere that the 74HC595 is only good for providing 20mA per pin. And even if I could get 40mA out of it, if I lit a whole row at once, that would be roughly 1A trying to sink into one of my sink pins spec’d at 150mA.

If I instead used three MAX7219s, each controlling an 8x8 grid, and got them to somehow cycle through their rows in sync with each other, the specs look better. Each one could easily supply 40mA to all their columns, and sink the maximum 320mA coming from their rows. And I could pretty much copy the [MAX72XX schematics in the playground](http://” Arduino Playground - HomePage) directly. And I’d only need 3 resistors instead of 24. But I get the impression that 595s are simpler and easier to troubleshoot if something doesn’t go as expected. Not sure the difference in programming difficulty.

Any advice?

Either way, I’m worried about putting too much current through the arduino board. So I should find a way to supply a regulated +5V to the drivers, in addition to the 7 to 12V needed for the arduino, right?

But I saw somewhere that the 74HC595 is only good for providing 20mA per pin.

No it is a lot less that that when you consider to total package limit it is more like 10mA per LED.

You need a high sided driver on the end of the shift register to delver the current. Look at chips like 2981, BTS6143, VN750 or use some p-channel FETs.

Well, I ended up using four Max7219s and was pretty happy with the result. No PWM, but a pretty simple schematic and programming. See the final result here: My Blue LED Helmet - YouTube
My Blue LED Helmet - YouTube

Sweet!
Nice job getting the LEDs layed out on the helmet. The patterns you came up with pretty neat.

WOW! very nice, great video!

Add some El wire to your Leathers and Gloves for that "TRON" look.

Now create a blog/instructable... :smiley:

:slight_smile: thanks. Yeah it's hard to tell in that lit room but that is glowing EL wire on my gloves.