mercoledì 11 ottobre 2017

ArduPiano






ArduPiano

In this article I describe how I have built a simple capacitive keyboard with 7 key (kind of a single octave piano keyboard) with no soldering. I have only used a widely available aluminium tape, a bunch of wires and a Arduino Uno (this can be implemented also with other versions of Arduino).
Below I also provide the source code to compile and to run on Arduino
This simple project can be executed by kids/teens and by anyone willing to experiment with fun.


Capacitive Sensor

The core concept of this article and project is the building and implementation of a capacitive sensor. In short I have implemented a key/button which can be activated only with a finger touch and with no mechanical parts or elements.
The idea behind this capacitive sensor is simply amazing and it is fully described here .
In short this technique is based on the idea of changing a logical state of an Arduino’s GPIO pin and then measure the time needed for a second pin to get to the same logical level.
This time gap is proportional to the capacitance measured on the pin and it increase while the finger touch the key/button.






ArduPiano






The above picture show the completed project and it is possible to see that I have only used aluminium tape and no soldering.


BoM

Below the list of the components and material I have used:
  • 7x aluminium tape rectangle (size is about 2.5 cm x 4.5 cm or 1 inch x 1.8 inch)
  • 4x aluminium tape rectangle (size is about 10 cm x 1 cm or 4 inch x 0.4 inch)
  • 7x 1M ohm resistor
  • 9x conductive wire (normally the one used for jumpers on breadboard)
  • 1x Arduino
  • 1x Buzzer
  • 1x cardboard to give a more solid structure to the project






Wiring Schema







Source Code

The source code is simple and can be understood by anyone. I have leveraged the CapacitiveSensor library to che the status of each key and I play the associated tone in case the finger is touching the key.
The code is available on my github


…..and now let’s play a classic