Since it’s somewhat unusual for a band to play with robots, we thought you might be interested in the details of their creation. The robot drummer is a continuously evolving project that we hope to keep improving upon.
Our current version – Junkbot – is an experimental prototype, great for learning and trying new things. We expect many changes in future versions.
This page is a general overview of the robot project – for a more detailed explanation of how it was built including wiring and code, see the build log.
It started with an idea. Wouldn’t it be cool to have a robot drummer? I, Hedera Helix, Musical Mastermind (Kelsey) decided to make the dream a reality.
Like all good projects and experiments, it began with research. Googling “robot drummer” pulled up some exciting links and as I continued to look into it, it became apparent that this was going to be actually possible without millions of dollars or advanced engineering degrees.
Next, it was time to start learning some basics. I decided to try an arduino controlled machine, so I went out and got an arduino starter kit. Except for the laptop, this kit included everything needed to get started and a number of Junkbot’s current parts came from it. I did the beginner projects in the book that came with the kit until I thought I had what I needed to make sticks go up and down regularly. Then I picked up some extra parts and started putting together a drumbot!
Drumbot version 1 uses:
wiring – the arduino and the hardware it talks to are connected through a breadboard. This is like a circuit board but you can move the wires around to experiment and change things.
servos – I connected two servos to the arduino. They each move one stick.
switches – Junkbot has a power switch and a “Run” switch
potentiometer – this is the tempo control dial
code – the arduino must be programmed to know what to do. The kit’s instruction book explains how to tell the arduino what’s connected to it and what to do with them. This took some fiddling with to get the servos to move exactly how I wanted.
Now I had the electronics and software, but I also needed hardware. So the Minion General dug up a body for me. It’s an empty, old Apple computer body. (The kind we used to play Oregon Trail on in grade school.) Then I hit the thrift stores, looking for arms. They ended up being a desk lamp section, and a window opener arm. These have some drawbacks, like they won’t move left and right, but they were good enough to get started.
I extended the servo wires so they reached to the ends of the arms, attached the servos, attached drumsticks to the servos, and Viola!…
(Hang on, let me just tweak that code…)
Ok, Viola! It goes Tick Tock!
Gears – not just for decoration
It wasn’t good to go just yet, though. The strikes of the sticks were very weak. The servos couldn’t move the drumsticks fast enough for good, solid hits.
Now what could I use to make the sticks move faster…
Oh, right – Gears! Steampunks use them for decoration because they’re an integral part of machinery from the Industrial Revolution. Junkbot’s gears have a 2:1 ratio, so the smaller gear is moving twice as fast as the bigger one.
Keeping in line with this spirit of innovation (and because it was cheap) I had gears 3D printed. I used Sketchup and an extension specifically for creating gears to make 3D models and sent them to friends with 3D printers. If you’re in the Kansas City area, you can check out the Johnson County Library’s MakerSpace where you can access a 3D printer and other cool maker tools! Now the drumsticks have nice solid strikes and are held in place securely.
As of April 2016, Junkbot plays several songs with us onstage!
He currently has the assistance of Minion General to turn him on and off at the right times. His repertory is increasing all the time!
The Grand Scheme
But we’re not stopping there! Mwa ha ha!
I’m currently working on ways to control the robot remotely so he won’t need direct assistance. Long term future plans include using a humanoid torso with more arms. I’d also like to eventually incorporate sensors that will allow the robot to react to our playing and change tempo and volume based on what the band is doing. We may even eventually incorporate a neural network to allow it to learn to play better.
By then, it will be better than a human drummer! 😉
June 2016 – No strings attached!
In preparation for showing off at Maker Faire, Junkbot got some upgrades. It still had to be connected to a laptop for power and for switching rhythms and I wanted it to be more autonomous.
First, I attached a battery pack to the power input, so it can run without being connected to a laptop. Easy part – done!
Then I did some editing on the code so that instead of having several programs that each ran one rhythm and had to be downloaded every time you wanted to change, I had one program with several rhythm patterns and the ability to change which one is playing with a switch. Since it was now on battery power, I changed the power switch into the “Change rhythm” switch.
This was a little tricky. Because the code on an Arduino runs in a continuous loop, getting it to change the selected rhythm was no problem. Getting it to stop was!
I also wanted to be able to tell what rhythm it was set to, so I added an LCD display screen and programmed it to display the name of the current rhythm. This required a LOT more wires than I had been using previously, so I’ve upgraded to a larger breadboard. I plan to look into making an actual circuit board for it soon.
See you at Maker Faire! 🙂