Tap-Tempo Strobe Light System Help

Hey there.

I have a project I am trying to work on, but I'm still very new to this. I have an Uno, but am not sure if that is ideal for this or not.

My project is as the title says, a tap-tempo strobing light-box. A light box just being a simple bank of LED lights in a homemade lighting enclosure that will work as lighting effects for a stage show. I would like it to be controlled by your standard guitar pedal-like pedal with a 1/4" instrument jack. I'm able to build the light box, and the pedal no problem. But its the coding, and figuring out exactly how to get the foot pedal to connect and control the timing of the lights that I need some help with.

At the most basic, I would like two switches on the stomp-box that control the lights. One being a typical "on/off" switch for the lights, and the other, obviously, being the tap tempo for the strobing pattern. In addition, it would be very useful to be able to program the tempo via the tap button while the lights are off, and then being able to seamlessly turn the lights on to match the music.

Any advice for this would be greatly appreciated. I've searched for this and found nothing quite similar enough for it to really get me started.

Thank you.

I don't fully understand what you are talking about, but your project seems to break down into these parts:

  • read buttons (digital, analog?)
  • steer lights
  • implement light sequences
  • implement sequence editor

Thanks for the reply. I will try to use that to the best of my ability to continue on. I apologize, I'm so new to Arduino that any other useful info is difficult for me to come up with at the moment. I plan to go to a local electronics shop that sells arduino to gather further info today.

Here is a quick little sketch I did in illustrator of what the project will look like to give anyone a better idea of what it is.

This is the part I can easily construct. I just need some help with coding to make this work, and, if possible, help breadboarding it. I understand it's potentially a lot to ask, but I've never got help without asking.

Thanks again.

It's easy to turn a LED on and off in code. It's also possible to make a LED shine brighter or dimmer, using e.g. analogWrite(LED_no, brightness). Try to break down and describe your ideas, in terms of that function.

What you are seeking is essentially a sort of software PLL (Phase-Locked-Loop).

With the first tap, you start a timer (read the current value of millis()) then with each successive tap, you count the time difference from the previous tap and compare it to your previously determined interval. If it is a little earlier you shorten the interval slightly and conversely if it is a little late, slightly lengthen the interval.

The trick is you want it to keep going (generating output patterns) if you miss a tap, so you need to restart the cycle on the estimated interval and compare future taps with that repeating interval value.

Long ago, I had a mind to build a metronome to do this. Instead of a dial, it would simply have a button to tap out the rhythm and would then continue at that rhythm and even indicate it in beats per minute on a display.