ArduIrish Tin Whistle
Play an Irish tin whistle (D) easily with 7 servos and a simple notation.
Supplies
Irish Tin Whistle (D) (~12-20 €)
Arduino nano (or equivalent: ESP8266, ESP32)
7 servos SG90
3D printed parts (~28 g)
[ All parts designed with Tinkercad and prepared with Ultimaker Cura.]
air pump (3D printed or bought)
window sealing tape
rubber band, PVC hose
12V power supply + adjustable buck converter
The Tin Whistle
The tin whistle, also known as the penny whistle or pocket whistle, is a simple flute with six finger holes.
It is played with the middle three fingers of both hands. The left hand covers the upper holes, the right hand the lower ones.There is no thumb hole (in contrary to the block flute).
A Bed for the Whistle
To be able to play the flute with the servos, we need a firm hold for the flute. This can be done on a board with a few wooden strips or, as in my case, with a channel made with a router.
The flute is secured with a 3D-printed clip or a leather strap.
The Servo Fingers
Print out the specified parts. Apply sealing tape to the inside of the flap. Attach the small (1/2) control arm to the servo and secure it with the small screw.
Attach the flap lever to the servo arm and secure it again with a screw. However, you have to pre-drill a little into the plastic.
You can then align the servos next to the flute. Three on the left, three on the right. Make sure that the flaps sit well over the finger holes of the flute.
Everything is fixed with the servo brackets. With my servos, I also put a strip of wood about 4 mm high underneath to align the flaps in the best possible way.
As you can see in one picture, a hole is drilled next to the cable outlet of each servo to hide the wires on the other side of the board. Looks better.
The Fan / Air Pump
The hardest thing was to create a stable and powerful stream of air for the flute. I have converted a PC fan for this purpose. The advantage of this is that it is very quiet.
The project was so extensive that it became a separate project: Improve a CPU fan
The PVC hose is needed to connect the mouthpiece of the flute to the blower.
Arduino Nano/ ESP32 /ESP8266
The script works for all Arduino or ESP devices. Only the appropriate library for the servos must be selected accordingly.
If you are not yet familiar with Arduino, I recommend this tutorial by randomnerdtutorials.com
Notation
The notation for songs is quite simple:
The notes are simply given as letters, starting with D. The exception is the F sharp, which is given as F:
D, E, F, G, A, B, C, ...
p as a pause
The length of the note is indicated by a number (with the divisor):
1 for a whole note
2 for 1/2
4 for 1/4
8 for 1/8
This results in a melody, for example:
G2 G2 F4 E4 D4 D2 p1