Project tutorial

Multi-Octave Portable Capacitive Touch Piano © GPL3+

Extending the "Portable Capacitive Touch Piano" to span multiple octaves using two push buttons! This portable piano packs quite a punch!

  • 3,220 views
  • 0 comments
  • 9 respects

Components and supplies

About this project

In my last project, I delved into how to build a Portable Capacitive Touch Piano using an Arduino, a Capacitive Touch Shield for Arduino using the MPR121, a piezo buzzer, and copper foil tape with conductive adhesive (cut in the shape of piano keys) enclosed in a clear acrylic ProtoStax for Arduino enclosure.

In the section "Taking It Further!", I talked about the possibility of adding buttons to extend the range of the piano to increase/decrease the octave.

In this project, that's exactly what I do! I modified the ProtoStax for Arduino enclosure to add two cutouts for a couple of Panel-mounted push button switches. I wired the buttons to pins 2 and 3 on the shield (I could have used any other available pins, but using pins 2 and 3 allow for attaching interrupt routines to handle button events, if you so choose, without any hardware changes - and pins 2 and 3 were free and available!)

I also changed the firmware to respond to the button presses to increase/decrease the octave of the keys (yellow button to increase and blue button to decrease). There were two possibilities here -

1) using a yellow button press to decrease the octave, and a blue button press to increase the octave

2) Increase the octave when the yellow button is kept pressed (dropping it back to normal when released), and decrease the octave when the blue button is kept pressed (and bringing it back to normal when released).

#1 allows you to have a very large octave range - as much as a full-sized piano, and even more!

#2 gives you a 3-octave range - however, it just makes the playing so much more intuitive and easier. Keep the yellow button pressed for the higher octave or the blue pressed for the lower octave - this allows you to use both hands in conjunction to easily increase/drop the octave while you are playing.

I decided to go with option #2, but option #1 is very easy to implement in the firmware if you would like a full 7 octave range of a regular piano (or more!) and can remember and deal with the button presses and octaves while playing! If you are stuck on how to do that however, just message me below!

Here is the final outcome! (Refer to the Portable Capacitive Touch Piano post for more detailed delving into the code if you are just starting out)

Heart and Soul, and Do-Re-Mi renditions by yours truly! 😊

Schematic and Code is enclosed. Enjoy! 😊

Happy Making! 😊

Code

ProtoStax_CapacitiveTouch_Piano_Demo
Demo for ProtoStax Piano with ProtoStax for Arduino Enclosure, Adafruit 12 x Capacitive Touch Shield for Arduino - MPR121, Piezo Buzzer, and Arduino

Custom parts and enclosures

ProtoStax Piano Keyboard Template
Pianokeystemplate cldsuws0uo

Schematics

Multi-Octave ProtoStax CapacitiveTouch Piano Demo Schematic
Protostax capacitivetouch piano demo extended bb dfccawfhfv

Comments

Similar projects you might like

Portable Capacitive Touch Piano

Project tutorial by Sridhar Rajagopal

  • 3,871 views
  • 3 comments
  • 11 respects

Arduino + LEDs + MIDI Keyboard + MuseScore = Piano Tutor

Project tutorial by tcucinotta

  • 12,124 views
  • 3 comments
  • 22 respects

Electronic Piano Keyboard With Preset Songs

Project tutorial by Lindsay Fox

  • 92,428 views
  • 68 comments
  • 186 respects

Unravel Preset Piano Easy Arduino (Even a Ghoul Can Make It)

Project in progress by ExeCuteLi

  • 15,166 views
  • 12 comments
  • 32 respects

Touch Sensing Paper Piano

Project tutorial by Jeremy Sow

  • 2,007 views
  • 1 comment
  • 9 respects

PIANO

Project tutorial by يمنى السيد ندا

  • 3,874 views
  • 0 comments
  • 1 respect
Add projectSign up / Login