Bagpipe chanter playing robot. A chanter is a low cost device allowing you to learn to play the bagpipes. It resembles the important part of bagpipes, i.e. the part that plays the main tune with a reed and finger holes, you just blow down it for now until I can make a suitable air pump.
Here it is playing the Star Wars theme: Click Here
here playing the riff from Thunderstruck by AC/DC (sort of): Click Here
and here playing Amazing Grace: Click Here
The brain is an Arduino Mega 2560.
The encoding of the music within the Arduino code is a custom system I have come up with (more later).
I particularly wanted it to have "hands" with moving fingers which played the notes and so I have used an off the shelf open source design of 3D printed prosthetic hand called a Raptor-reloaded, from the Enable project for 3D printing prosthetic hands for matched recipients in developing countries: www.enablingthefuture.org
The finger tips are lifted off the holes of a bagpipe chanter with 12V DC solenoids.
The solenoids are controlled by the Arduino board via opto-isolated MOSFETS which can be bought on low cost boards fully assembled in groups of four.
This makes a good project for an automaton:
i) The air flow is constant, ii) Notes are played by lifting fingers in groups off the holes so solenoids are not active all the time, iii) Only 8 "fingers" required (actually 7 fingers and one thumb), iv) A basic chanter is not expensive, v) As the air flow is constant, melody notes are separated by "grace notes" and "doublings" which can be thought of as all the fast sounding extra notes between the main notes that you can hear when pipes are played, there are various rules and finger sequences governing these that lend themselves to logical description in a computer program.
My "rules" on which the code was written were obtained from this website on how to learn to play bagpipes:
I used the "rudiments" index for my program rules so clearly there are other finer aspects I have not encoded yet!
An outline of how my program encodes the music is given in the last step. It will allow you to understand the Arduino code just about.
Note: The easiest way to do this, probably musically better as well, is to turn the chanter on its side and arrange solenoids so they push directly onto the holes. There are 3 or 4 videos of systems like this on YouTube, see below. Examples include Andrew Schaff, Neil Traser and the great "McBlare project from the Robotics Dept. of Carnegie Mellon University (RB Dannenberg). However I wanted moving fingers, because they look so cool for one thing and in time I can add arms and a head.
And the great McBlare project. There is an interesting downloadable book chapter on this here:
Main parts listing (each given in more detail in appropriate section)
Solenoids x 8: ZYE1-0530 DC 12V 1A 10mm Stroke Push Pull Type Open Frame Solenoid approx $5 each.
MOSFET board for Arduino to control solenoids, x 2: "Trigger Switch Module 4-Way FET" $10-15
Single sided 3mm thick foam tape 100 wide.
Arduino Mega 2560
Short piece soft plastic tubing approx 3mm diameter.
Bagpipe chanter, example for about $20 given later on.
Assorted 15mm screws to fix items to wooden board.
12V battery or mains adaptor capable of taking a 5Amp current draw.
Hot melt glue gun
3D printer, hobby level OK, mine is a pre sell-out plywood MakerBot which works just fine by the way.
Length of tube to connect to chanter to blow through (have not made an air pump yet).
The files for the hands and fingers are freely available online from the enable project link on the title page. You need to 3D print them at a scale of 1.71, i.e. 171% i.e. big!
The reason for this is that at this scale the finger spacing almost exactly matches the spacing of the holes on the my chanter. I assume this is true for all chanters but that is what was required for mine anyway.
All the parts will need filing and fettling to make them fit together nicely. Each pair of fingers hinges at the knuckle via a long pin as shown. Make sure they are not so loose they wobble from side, but move freely up and down.
The joint in the middle of each finger is to be glued so it does NOT bend and flat part of finger presses down flat on the holes of the chanter.
To begin with I would mount your chanter securely on a wooden board. I have made some clamps for you to do this which may need slight modification for your chanter. I designed them in google sketchup and then converted to .stl files for printing.
Files are attached for both the chanter clamps.