I have a question regarding WS2812B neopixels.
I am making a small dancing fountain in which I would like to have 10 groups of 8 leds which I can control the color and on/off state of seperately for the best effects.
Every pump in the fountain (10 pumps total) will have it's own LED ring.
I have no idea how to approach this as efficiently as possible without every LED change taking more than a couple of lines of code each time I need it to do something.
Let me know if you have some suggestions or questions.
Using an Arduino Uno for now with 4 pumps as prototyping setup, but will be switching to the Mega for the final project.
You can connect each group to it own pin of the controller and control it as 8 separate led strips or chaining it one to another .
Do you already know what lighting effects you want to use in the project?
I will have to look into the meaning of 'state machine', but I am using delays as of now. I know it's frowned upon.. But since everything in this script is just "ON/OFF" per note (yes, it's synced to music, by hand, not by sensors of music detection) I don't know if switching to millis() would make things easier.. But maybe I'll have to for when using the fading out LED effects, so that the LEDs can continue fading out instead of being paused cause of the delays.
Thanks for the advice. You have convinced me already.
Hi all!
I have started creating a Dancing Fountain that's synced to music with 10 12v 5w pumps and neopixel LED's.
Now I was thinking of a better way to program each show.
As of now I am doing it with my Streamdeck that I mapped text input buttons to;
pump1.ON();
pump2.ON();
etc.
and also for the LED's;
ring1 (then another button for the second part) = CRGB::Green;
ring2 (then another button for the second part) = CRGB::Red;
etc.
and for the timing I have calculated the amount of ms per note as delays in between the actions:
(114 bpm)
1 = delay(2104);
1/2 = delay(1052);
1/4 = delay(526);
This works like a charm. Definitely. See the working example code for a test run down here.
But here is my actual question.
Right now I am pushing buttons on the stream deck per line. Which is ok. But I was wondering if I could get the output data of let's say a Vixen/Lightorama or even any midi-editor, and translate that to delays in the right timing and on/off states or other lines of codes.
Is this possible? And if yes.. How!
Would make programming 10 pumps and 14 sets total of LED's a lot more fun when doing more than 1 show.
I don't want to work with external input to the arduino, like how Lightorama can work with arduino. I just want the Arduino to be it's own everything.
It's being tested on the Uno now, but will be on a Mega in the final.
I'm sorry.
This is a question regarding the software side of things and hoping to find someone that has a way of finding out a way to make a sequencer work with what I'd like to accomplish.
Last thread was only a question about the neopixel groups and how to best group them.
I found out that regarding the groups, using arrays works great for me!
I understand the confusion here. So sorry about that. But this is meant to be a complete different question..!
It seems to me that you need to develop a record of your events - including fountains, pixel color changes and delays in some kind of array - either common for all events, or several arrays for each neopixel ring...
and than run playback this events from arrays
Your two topics on the same or similar subject have been merged.
Please do not duplicate your questions as doing so wastes the time and effort of the volunteers trying to help you as they are then answering the same thing in different places.
Please create one topic only for your question and choose the forum category carefully. If you have multiple questions about the same project then please ask your questions in the one topic as the answers to one question provide useful context for the others, and also you won’t have to keep explaining your project repeatedly.
Repeated duplicate posting could result in a temporary or permanent ban from the forum.
Could you take a few moments to Learn How To Use The Forum
It will help you get the best out of the forum in the future.