Next year's project, overly complicated Christmas tree!

Good day all, I'm gonna kind of make a placeholder out of this thread so I can revisit it as I learn and figure out the proper way to do these things.

I'll throw in the general idea of what I'm cooking up, and once I feel I've either figured out most of it, or reached a point where I know I won't, I'll re-visit this thread to ask for further assistance if that's okay with all of you. Or, if anyone reads this and can devise a better way of setting it up, I'll be all ears.

Next year, I'm going to build a Christmas tree for our office. Our building houses 600+ employees so I needed an idea to catch attention. Enter BlinkyTape, Arduino Mega and friends.

The tree by default will have a white theme, with wide white and silver ribbon, semi opaque and white ornaments, etc. It will also have 2 sets of lights. Standard white twinkle lights and 10 meters of ws2812b strips and 5 meters of simple RGB strip (which will be attached along the back of the wide ribbon. This strip will be off in the default white mode). The blinkytape will run a simple white discoparty style flash/fade routine in this mode. I also need to find a way to have a default music mode that plays a playlist of Christmas music that matches this mode. I'm guessing the mega will handle this with a shield or two...
The mega will have a donation box attached which will have an interrupt in the slot so that when something is dropped in, it will notify the blinky to change to pattern 2, pause playlist 1 and play 1 rather upbeat Christmas song on a different playlist. Pattern 2 will obviously be very colorful and flashy.

I think the trickiest part of this will be how to set the system back to mode 1 after the single song has completed. I'm thinking a timer on the mega can be utilized to set it back after the length of the song has passed... It will also have to ignore the donation box switch while in mode 2 so as not to mess up the song.

Aaaannndddd... That's about all I've got right now. I'm probably in waay over my head, but I've got a year to figure it out so it should work out OK.

Thanks!

Addendum

I have a set of Bright Tunes lights with 4 bluetooth speakers attached that I can use to play the mode 1 playlist. Stuff like White Christmas, Silver Bells, etc. Classical, soft Christmas music.
Mode 2 would use a small (but formidable) speaker at the bottom of the tree, and my Supernight music controller would utilize it's sound to run the strip LEDs on the back of the wide ribbon. (Mode 1 would be quiet enough not to disturb the supernight controller, so it would only fire up the ribbon strip once the main speaker came on.)

The mega and whatever power hardware I need to run everything will go into a box under the tree disguised as a Christmas present with the wires hidden under a tree skirt.

Sound feasible?

Thanks!

I think the trickiest part of this will be how to set the system back to mode 1 after the single song has completed.

That seems pretty simple to me. Using the right kind of shield, playing a song is non-blocking. So, while one song is playing, all the Arduino is doing is checking for donations and for the end of the song. When a song ends, start another one. When a donation happens, stop the song, play a different one.

Ohmigod - aren't the commercially available ones complex and nasty ehough for you? - especially those which play merry tunes....

I always thought on seeing such things - eg the cards which play tunes when you open them - some poor engineer designed that, and I bet he wouldn't admit it to his friends.

perhaps one which told dirty jokes?

retch

Allan

PaulS:
That seems pretty simple to me. Using the right kind of shield, playing a song is non-blocking. So, while one song is playing, all the Arduino is doing is checking for donations and for the end of the song. When a song ends, start another one. When a donation happens, stop the song, play a different one.

I'm sure you're right. I haven't gotten to the point of learning the shield end of things yet. Still learning simple programming.... I've played a good bit with PHP and VBScript, and C is familiar enough where I can mostly tell what's being ordered. It's how it gets delivered that I need to work on the most.

I'd "like" to cycle through several different songs for each successive donation, but for now I'll settle for making one work. It just needs to go back to being a simple white tree once the "donation song" is complete. And if the donation box is triggered in the middle of a song, I wouldn't want it to interrupt that song to play another, just let it finish.... So, I figured setting it up to ignore the box for a couple of minutes once triggered would be a good route to take. shrug

I will keep your ideas in mind though, every little bit helps!

allanhurst:
Ohmigod - aren't the commercially available ones complex and nasty ehough for you? - especially those which play merry tunes....

I always thought on seeing such things - eg the cards which play tunes when you open them - some poor engineer designed that, and I bet he wouldn't admit it to his friends.

perhaps one which told dirty jokes?

retch

Allan

I'm just playing the hand I was dealt. No worries! I figured "If you're gonna do it, do it BIG.". I pitched the basics as I listed above to the suits, and they all had that kid in the candy store look on their faces so at least they'll like it...

Sounds like they'll deserve it. Have fun...

regards

Allan