Hi jlpicard!
Thanks for the compliments and great to hear you've had a lot of fun with the code.
For your purpose you could work indeed with an Arduino.
I assume that you want to tap the signal of a solenoid? In that case (since I don't know the voltage of the solenoid), you could try placing a relay (same voltage as solenoid) in parallel with the solenoid. When the solenoid fires, the relay would trigger as well - the switch part of the relay then can be used as a "switch" for the Arduino.
To apply the Marquee effect, you could use the All-in-one sketch and slightly butcher it, so it restarts and runs the marquee effect only once. Something like this;
...
void setup()
{
FastLED.addLeds<WS2811, PIN, GRB>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
digitalWrite (BUTTON, HIGH); // internal pull-up resistor
attachInterrupt (digitalPinToInterrupt (BUTTON), buttonTriggered, CHANGE); // pressed
theaterChase(0xff,0,0,50); // or whichever effect you have in mind to run only once
}
void loop() {
// do nothing
}
void buttonTriggered() {
if (digitalRead (BUTTON) == HIGH) {
asm volatile (" jmp 0");
}
}
...
Here we call one of the effects in setup() instead of in loop() - this way it doesn't keep repeating itself.
The function "buttonTriggered" will reset the Arduino, which then will run setup() again and show the effect.
Once setup() is completed, it will go to loop() and do nothing ... until you reset again (with the switch/relay).
Hope this gets you started - curious about your project!