This is a project I recently started to create an acoustic percussion robot using solenoids and MIDI data.
- Create midi tracks in a sequencer like Ableton
- Use the different notes to switch different transistors on/off via a midi interface board
- Connect solenoids to those transistors
- Connect drum sticks or mallets to the solenoids
- Surrender to our glorious robot overlords
The Interface Board
There’s a couple different boards out there pre-made for this exact purpose.
For this prototype I’m using a board called the Midi Switcher:
The cool thing with this board is you can configure it to map the MIDI velocity values to modulate either hold time or pulse strength (through PWM) of the drum hits. This should hopefully allow it to sound less robotic.
I bought a couple different solenoids from Ebay for ~$3 each. The 12 volt, 2 amp ones that looked like this worked the best. They had the hardest strike.
I needed to make sure I have enough current to run multiple solenoids at once. Rather than buying one I took an old Xbox 360 supply and after an hour of googling I had a 12V 12A supply.
Putting It All Together
First a quick trip to the music store:
Mechanical design was inspired by the drum machine in this video. It uses these metal L brackets you can buy at any hardware store.
Here’s the first test, I programmed the beat from Hotline Bling:
If this prototype were an Android version I’d call it popcorn.
Possible Improvements For Next Version
- Find better things to hit (not popcorn kernels)
- Increase striking power by using 24V solenoids
- Use bearings to improve motion of drum sticks