Controlling lights in drums using Arduino

Hi all,

This is my first attempt at an Arduino project and one of my first custom lighting projects in general and after 4 days of solo research I've realized that I have no idea where to start trying to figure things out.

My goal is to put LED strips in each of the drums in my kit so that each drum lights up independently when hit. I'd like the cymbals to do the same thing as well. Brightness changing based on how hard I play would be nice but not necessary.

I was told that there are systems out there for running everything through MIDI and a sound board/ DMX controller but I don't have a couple $1K to spare for lighting.

What I'm hoping to get:
-Recommended parts list
-Tips and tricks for connecting everything cleanly
-Programming advice or complete code

Thank you in advance!

You need to start by thinking how you can detect the hitting of the drum - some form of vibration sensor or microphone ?
You need to look into that , maybe gain ideas from commercial products Which are similar . Buy some promising bits and experiment

And don’t forget google

I can only partially answer the question. There are two types of LED strips. Adafruit refers to them as analogue and digital (better known as NeoPixels).

In an analogue LED strip all LEDs will display the same colour and brightness (which you can vary using PWM), in a digital LED (NeoPixel) strip you "address" each LED and that way you can set the colour and brightness of of each LED in the strip.

Analogue LED strips will always require additional components to drive them because a microcontroller can't deliver enough current to drive them.

Although it depends a little on which effect you want to achieve, the disadvantage of NeoPixels is that you need plenty of memory in your microcontroller (basically 1 byte per colour per pixel) and updating a single LED in a strip requires the whole strip to be updated which takes time (30 microseconds per pixel). 30 microseconds might not sound like a lot but if you have 1000 LEDs it's 30 milliseconds and you can only update your strip 33 times per second.
With relatively simple microcontroller boards (Nano, Mega etc) and the requirement that each LED should be able to have a different colour and/or brightness, there is no difference if you connect all NeoPixels in series or group them over multiple strips and connect each strip to a different pin; the writing will still be in sequence. With some more modern microcontrollers you can talk to strips on different pins in parallel which can improve the update rate.

So you need to decide if you need NeoPixel strips or analogue strips. Based on that and additional requirements you can pick a microcontroller.

I can't advise on the sound detection; as @hammy indicated, google is your friend.

Make sure that you have decent power supplies that can supply sufficient current for the scenario where all colours of the LEDs will be on full brightness.

You can have a look at the different strips that are available in this world at e.g. the Adafruit website: LEDs, Strips Products Category on Adafruit Industries.

And some ideas for sound detection: arduino clap sensor - Google Search

1 Like

I guess/ hope bought a pack of piezoelectric sensors thinking i could just pop them in on one side of the circuit for the section of LEDs I wanted to light up but I think it's either too much (voltage? amperage?) for the piezos or the piezo doesn't act as a switch, even temporarily. Not sure if what I'm saying adds up but that's my theory at least.

One more thing to think about: will more than one piezo sensor detect the same drum?

I've had the same thought but haven't gotten to a functioning model yet so I haven't addressed that issue yet. If they cross detect I imagine I'd have to figure out some kind of signal filter or gate my input signals to only trigger past a certain threshold which is something I'd imagine would be needed anyway.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.