Controlling strings of leds with Arduino

Every year I have the same discussion with my wife about how many strings of light we should have in our christmas tree. Every year, she wants me throw a string (100 lights) more than we already have in the tree. I think we had 5 string last year, while I think 4 strings is enough.

Anyway, I talked her into having a more dynamic light setup this year (if I manage to get everything ready before december). The tree (fake) has about 8 layers of 6-8 branches. If I remember correctly I counted 79 branches last year. I am thinking about giving each branch about 6 leds (close to 400 leds total) and make them dimmable. If you would number them, all 8 branches in a layer would have a led 1 in parallel, a led 2 in parallel, led 3 in parallel, etc… All leds (on the first layer) numbered with 1 are in parallel with the leds numbered 1 on layer 2 (and layer 3-8)

In short I have to power 6 strings with 64 leds each (8 layers with ~8 leds per layer) = 384 leds and I want to make them controllable through an Arduino.

I have been looking into a TLC5940 (16 channels, more than I need), but since my knowledge of electronics is not good enough to make the right calculations I am not sure if this IC is the way to go.

All hints, suggestions, caveats are welcome.

You may want to read the datasheet for the 5940. The most you can drive off the whole chip is 120 mA. If you have an average LED that takes ~20 mA, you will go over that 120. So you will need to blink them.

That takes me to my next opinion. The TLC5940 library is complex. If you know C++, then go for it. I am a novice at programming and it took the last 2 days just to get 2 LEDs to fade together. If you don’t, I would look at using a shift register like the 74HC595 or TPIC6B595N which can take more current.

I have been looking into a TLC5940 (16 channels, more than I need)

16 channels = 16 LEDs. for 384 LEDs, you will need 24 5940s.

Thank you very much for your reply. I think 25 is a little too much for this project. I will look into the suggested shift registers.