I'm a computer scientist (doing Java, C++ and other high-level things) who wants to dive into the world of "hacking" with a project I'll now describe. Please bear with me that I have little to no knowledge about this world, and I've spent this afternoon reading up on many different topics, getting myself confused a bit more on the process :D.
Being a drummer, I want to attach a couple (3-5) RGB LED strips to the drum set, each strip could e.g. ~1m long. Whenever I hit the bass drum (kick drum), I want all strips to do a "lightning" animation in parallel. The characteristics of lightning should work well with the way these LED strips work, because from what I understand you tell the strip controller a pattern and then drive a clock to punch it through (i.e. the flow is always in the direction of the strip). However, lightnings are fast, i.e. I would want such an animation to be short, e.g. have the flash pass through 1m of cable in, I dunno, 100ms maybe? Anyways, the setup should be used live on stage during gigs.
The micro-controller would have the following tasks:
- T1: process the analog input signal from the transducer that translates the vibration of the batter head into voltage, analyze it for peaks (the "trigger moments"). It should also be capable of doing some analysis, e.g. to do re-trigger protection. Either way, even just for peak analysis I have to store the past values in a buffer in memory
- T2: Whenever a trigger was detected, a new lightning animation should be sent to the LED strips. Depending on the intervals between the past and the recent triggers, I'd like to change the color of the lightning animation (example: if I don't hit the drum often, the animation is dark blue, but if I hit it very frequently, it is red). I'm just mentioning this so that you know that, again, I have to store trigger timestamps in memory
- T3 (optional, but nice-2-have): Be able to use my Android phone to adjust what the program does, e.g. set the tresholds used in signal analysis, or whether to start/stop the lightning animations (exchange them with some pre-made idle animations)
What I already know:
- I would need digital RGB LED strips, because I want that animation (I could have used analog strips otherwise)
- I would need a BlueTooth module so that I can pair the microcontroller with my phone
- The Roland RT-10k seems to be such a transducer which I need. Unfortunately I'm unable to figure out what the output actually looks like. Even from the manual I downloaded, the only thing I can see is that the physical connector is a 1/4", the one also used for electric guitars etc, so maybe it's an instrument level signal?
What I have no idea about (help needed)
- What specific hardware to buy. For example, which Arduino board should I use? Is an Uno enough for this project (especially considering processing power)? [btw, I live in the EU]. Similar I'm unsure about which specific LED strip to buy. With the specific model you propose, what is the update rate of that LED strips I can achieve with it?
- How do I get the signal from the transducer into the Arduino? From what I understand, such 1/4" cables are simply 1-conductor 1-ground (tip/sleeve) cables, so can I "just cut the cable and shove in the wires"??
Best regards! NZ