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.
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 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).