Fully 3D Printed Arduino-Based Piano

by elliottgriffiths in Workshop > 3D Printing

4239 Views, 14 Favorites, 0 Comments

Fully 3D Printed Arduino-Based Piano

DSC_0001.JPG

Being a PhD student in pursuit of 'click-to-manufacture' technology in the realm of 3D Printing, I decided it would be cool to demonstrate a simple concept of the potential of Additive Manufacture in this area - whilst keeping it fun!

I designed, printed and assembled a circuit for a fully 3D Printed piano! Whilst I plan to match the tone frequency up with the actual notes in the future, I think the result is still pretty nifty and could potentially lead onto other printed instruments!

I designed this in Fusion 360, which enables you to easily print in multi-material - allowing for conductive and non-conductive filaments to be used together to form a functional object. The stl was then exported to Cura and printed on an Ultimaker 3 - but you can use any printer with multi-material capabilities (and potentially single extrusion with some assembly).

On with the show!

You Will Need...

1. Arduino Uno microcontroller

2. A compatible speaker or buzzer - it's up to you!

3. Resistors: 7 x 1MOhm, 1 x 220 Ohm

4. A 3D printer capable of dual-extrusion.

5. Filament: A Standard PLA and Protopasta Conductive PLA (or similar).

6. A can-do attitude.

Downloads

Designing for Multi-Material in Fusion 360

Piano.PNG
Piano2.PNG

I have made a separate Instructable for this, as I assume you'll want to print your own designs!

Printing

20180215_122832.jpg
DSC_0005.JPG

Printing can potentially take some patience and experimentation. Remember, if you have oozing problems the chances are that you will have a short across your sensors - causing significant cross-talk! I've also included the original STLs for convenience - but I encourage you to make your own and let me know how it goes!

I will not go into too much detail on this aspect, as there are excellent online resources such as this one from Ultimaker or this one from Simplify3D.

Downloads

Arduino Setup

Setup.PNG
DSC_0006.JPG

Assemble as per the image above.

Key notes:

Dependent on what audio device you are using, ensure you don't overload the pin. I have used an 4 Ohm 3W speaker output, and have put a 220 Ohm resistor in series to limit the current.

Arduino Code

Use the attached sketch. You will also need Paul Stoffregen's CapacitiveSensor library found here: https://github.com/PaulStoffregen/CapacitiveSensor

Downloads

Check Theshold Values

image.png

If you struggle to get your piano to play a tone, check the threshold values I've set as potentially there is some variance. Check the serial plotter to see what touched and untouched values you get for each sensor (as I've done above!).

I seem to get pretty consistent touch readings across all the sensors, but there will be some variation based on your slicer settings, material and printer.

Have a Play Around With It!

DSC_0004.JPG
DSC 0010