Suggestions for two infinity mirrors

Hello community, and thank you for taking the time to read, and hopefully give me some advise.

New to electronics, stumble upon arduino after I did a crash course on LEDs for my motorcycle LEDs. I live in Cancun Mexico, and don't get to see my son to often. He is flying on the 23rd for 10 days, and one thing he seems to be interested in is electronics. When I was young I never got a chance to play with electronics because my father knew nothing about them or even where to get parts and plans. Because of internet, it seems that is no longer an issue.

I purchased an arduino uno starter kit. Plan to do all 15 projects with my son. I also purchased enough parts to make 3 arduinos on my own (for the set it and forget it projects). I also purchased 5 TLC5940NT LED drivers. Plus a bunch of LEDs and resitors.

Ideally I want to make 2 hexagonal infinity mirrors with 30 RGB LEDs on each one (5 leds per side).

The purpose of building two mirros, is for my son to be able to take one back with him, and together we can program different sequences or animations.

I have little to no experience on electronics, and I don't even know how to read the diagrams (plan to learn shortly after my son leaves). I don't expect someone to write up a step by step instructions for me, but I would appreciate any help you can provide. I don't mind searching myself, but I've learned it is much easier to find good info when I know what keywords to use. For example, I know I can learn how to daisy chain the TLC5940's by googling it.

I will try to break it down in the different steps I need, and hopefully I can start getting some expertise on the different points.

  1. I am contemplating using a master 3 position switch (on, off, on). One on position would put infinity mirror on a random loop, it would basically stay on one animation for about 1 minute, then switch to another animation. The second ON position, would work in combination with a push button. When pressing and releasing the push button, it would cycle through the different animations one by one. (Is there a better way?)

  2. Each mirror will have 30 RGB leds, which I assume it is like having 90 LEDs correct? If I want to be able to control each LED individually, what would be my best solution with what I have? The TLC5940s are 16 channels, with up to 4 led in parallel (all on or all off corect), so does that mean I would need 6 TLC5940's per mirror (16 channels x 6 = 96 to cover the 90 LEDs on each mirror), or is there a simpler method? I quickly read about multiplexing, would something like that help me? would it be too much to chew on?

  3. For the code. I've taken programming classes 20 + years ago, but still remember the basics. I've been looking at some example code, and I seem to understand what is going on. I assume, some animations can be very short in programming (ie cycle on LED at a time would be a simple loop), while others can be much more complex. About how many different animations can I have saved?

Well, again thanks for any and all help. Hopefully my son will become interested, and I will have a reason to go to basics, and learn electronics from the ground up, understanding how to read and draw diagrams, etc. However, for this project I just don't have enough time to research it all on my own, that is why I am hoping folks from these great community will be able to point me in the right direction and offer me some good advice.

Cancun Manny

1). That works. Could also use single button and toggle between the modes with each button push.

  1. 6 x 16 = 96 LEDs, that is pretty simple method.
    Don't understand the 4 in parallel comment.

You could use two '5940s (32 IO), and multiplex thru three sets of LEDs.
Where you have limited time tho, concentrate on the simpler hardware, simpler software.

With 32K of memory, you can have lots of patterns.
Try a simple program with a '5940 library, see how many bytes it is taking.

These are common Anode LEDs, yes?

New to electronics, stumble upon arduino after I did a crash course on LEDs for my motorcycle LEDs.

...He is flying on the 23rd for 10 days, and one thing he seems to be interested in is electronics. When I was young I never got a chance to play with electronics because my father knew nothing about them or even where to get parts and plans. Because of internet, it seems that is no longer an issue.

...I purchased an arduino uno starter kit. Plan to do all 15 projects with my son.

I hate to be negative, but I think you're going to run out of time.['b] :slight_smile:
There's a LOT to learn and a lot to do!
> Ideally I want to make 2 hexagonal infinity mirrors with 30 RGB LEDs on each one (5 leds per side).
>
> 2) Each mirror will have 30 RGB leds, which I assume it is like having 90 LEDs correct?
Right!
I did a "Giant VU Meter" project which required 48 hand-wired LEDs (24 on each channel). That took quite a bit of time and it was boring and tedious. This project took me a couple of months (part time, mostly on weekends). The programming also took extra time, because it has other audio-activated effects, besides operating as a normal VU meter.
I've never done a large number of RGB LEDs, so I'll let others suggest circuits & driver chips. It will make a difference if you need to dim the LEDs and/or get all possible colors.
What I'd actually suggest is this: Make a simpler one-color 5-channel set-up (with the 5-LED pattern repeated 8 times). That way, you can use 5 Arduino output pins. You'll still need a transistor/MOSFET or driver chip to boost the current to drive 8 LEDs per output, but it will be a LOT simpler to build, test, and program. It also means you can test & program it with 5 LEDs directly connected to the Arduino. It will be a lot more fun if you wire-up 5 LEDs and start programming patterns/sequences right away.
__You can make a lot of interesting sequencing-patterns with 5 LEDs... I've made a 4-channel audio-activated lighting effect. It can operate as a regular sequencing "ring counter" or "[u]Johnson Counter[/u]" in either direction. When it randomly operates as a ring counter in one direction and a Johnson counter in the other, you automatically get lots of interesting sequences. __
You could build a simple 5-channel sequencer to start with, and if you have time expand it later to 30 channels of RGB.

Thanks for the replies!

Crossroads

Yes, I am using common Anode Leds

"You could use two '5940s (32 IO), and multiplex thru three sets of LEDs.
Where you have limited time tho, concentrate on the simpler hardware, simpler software."

Quick crash course. If I understand correctly, multiplexing is lighting up different LEDs with one power source. Multiplexin in sets of 3, means it means that the 3 LEDs in the set are actually never all on at the same time, instead power is being roated between the 3 leds quickly enough that it seems they are all on at the same time?

Part of my problem is that I seem to have ran out of time to order different parts. My son flies in on the 23rd, so only way to get more chips in on time is by paying 2 day shipping, which cost of shipping vs cost of items wouldn't make much sense. I only have access to the 5 5940s, so seems I wouldn't even be able to complete one, so looks like I will have to multiplex.

I know I am trying to be very ambitious, specially with RGBs. I am trying to get as much info now, so that I can start prepping as much as I can (cut wires to size, strip ends, etc).

Since it seems I will go with two 5940s on each mirror, I will be mulitplexing in sets of 3. Would it make sense to multimplex each LED as on set each? Or since different colors use different volate, I would be better off in sets of 3 different LEDs with the same color?

DVDDoug,

I do appreciate your input, and understand your comment about I might not have enough time. I did buy lots of other LEDs, so going with solid color instead might end up being the right soultion for me. Perhaps irelistically I assumed I could perhaps build the boards and wire them up, making sure to be precise, so that the only issue would be the programming. Since I would build two exactly the same, I could work on the programming after, and then send it to him (he would need to upload the sketch himself)

It seems, being that it is my first project, it might not be as simple as just making sure to follow instructions on where to weld what where without testing first.

The multiplexing is fairly simple - you just need 3 PNP transistors, or 3 Logic Level, Low Rds, Low Gate capacitance P-channel MOSFETs.
The 3 sets of LEDs will be wired in parallel like this, with each transistor selected one at a time.
turn off transistor 3, load the PWM levels for the first bank, turn on transistor 1. Wait 5 to 30 mS
turn off transistor 1, load the PWM levels for the 2nd bank, turn on transistor 2. Wait 5 to 30mS.
turn off transistor 2, load the PWM levels for the 3rd bank, turn on transistor 3. Wait 5 to 30mS.
Repeat
Can you order from Mouser.com? They ship from TX, should arrive quick?
http://www.mouser.com/ProductDetail/Fairchild-Semiconductor/NDP6020P/?qs=%2Fha2pyFaduhGwELCdBm1U2jvVTnB9nUTJeJPDp1tnCs%3D

I wanted to give you guys an update. I know it has been a while, but although we didn't complete the two mirrors, we did get 80% done with one, and 95% with the other. It was a great learning experience.

I do admit it was a bit too ambitious, specially trying to make two arduinos plus the rest. In the future I might revive this thread to get the one mirror to 100%. The extra a/b switch and the push button don't seem to do anything, and I can light up each of the 30 RGBs one by one on each color just fine (running a loop), but when I start animating using combinations (oranges, yellows, purples, etc), 3 LEDs light up the wrong color. The other problem is that I was never able to figure out how to not have the first LED of each group (I ended up with 3 groups of 10 each) light up each time the sequence went to a new group. Exampe, 3 groups A,B,C with 10 Leds each. If I want to loop around, I go from A1..A10, one by one, then I have to switch to B1. When the animation goes from A10 to B1 A1, B1 and C1 do a quick flash at the same time.

My son did have fun and I was able to keep him entertained most of the time, but he did also make me buy him mindcraft or whatever the game is called. He is now in some type of robotics group or class where they are teaching him more about Arduino. He recently told me about the raspberry, so it seems I did manage to ignite some long term interest. I consider it a success!

I do want to thank CrossRoads for his amazing help!

Hope you get to finish them sometime.