background image

Finally, if the push button is pressed, 

playMelody()

is called. All this 

function does is go through each note stored in the array 

notes

and plays 

each one for 300 milliseconds with the 

tone()

function. After each note is 

played, it checks again for a button press, and the melody stops playing if a 
button press is detected. The LED is also turned on while the melody is 
playing.

These are the highlights of the core functionality of the default program. At 
this point, some exploring and experimenting is required to get a better 
grasp on the program. Always feel free to contact us if there is any 
confusion and we can do our best to improve the readability of the code 
and/or the above explanation.

Resources and Going Further

By building the Gram Piano Kit and working through this tutorial, you have 
learned more about soldering, capacitive touch, playing tones, and coding 
in Arduino. Congratulations!

From here, you can repurpose your board as you see fit. You could change 
the musical scale, make keys play melodies you choose or run blocks of 
code, or even simply just leave it as is and enjoy coming up with some 
simple tunes. We hope you enjoy your Gram Piano. Feel free to share with 
us your feedback about the kit and/or whatever creative uses you have 
found for it.

Extra Resources:

• Installing the Arduino Development Environment
• Installing an Arduino Library
• Using Github
• Arduino’s Capacitive Sense Library Reference
• Arduino’s Tone Reference

Check out these other great audio related SparkFun tutorials:

• WAV Trigger Quick Start Guide
• Lilypad MP3 Player Hookup Guide
• My Drunk Kitchen Apron
• MP3 Player Shield Hookup Guide
• MP3 Player Shield Music Box
• RN-52 Audio Bluetooth Hookup Guide

Page 8 of 8

8/5/2016

https://learn.sparkfun.com/tutorials/gram-piano-assembly-guide?_ga=1.51727977.11809772...

Summary of Contents for Gram Piano Series

Page 1: ... This guide will explain the assembly process the gram piano s default functionality and will provide an overview of the pre installed software After building and playing with the board s default settings you can customize your board to your liking by diving into the source code Suggested Reading This tutorial assumes you have prior knowledge of the topics mentioned below If you are unfamiliar wit...

Page 2: ... x1 Gram Piano PCB x1 PCB Speaker x2 AA Batteries x2 AA Battery Holders x1 Atmel AVR 328 Microcontroller x1 Mini Power Switch x1 Mini Push Button x1 10k Ohm Potentiometer x2 Red 5mm LED s x4 1 uF Ceramic Capacitors x2 330 Ohm Resistors x2 10k Ohm Resistors x13 2M Ohm Resistors x1 6 Pin Right angle Male Header x4 3 8 4 40 Nylon Standoffs x4 3 8 4 40 Screws Extra Tools Parts You ll Need Not included...

Page 3: ... orientation You can use the trick of bending the legs on the under side of the board to hold the capacitors in place while you solder After soldering a component you can cut its legs with some diagonal cutters Now let s solder in the resistors There are three values 2M Ohm 10K Ohm and 330 Ohm Make sure you pay attention to the color rings on the resistors to ensure you put the correct value resis...

Page 4: ...ewdriver and or pliers to help with this step You can also hand tighten them Make sure the standoffs are on the underside of the board Now that the build is complete make sure the power switch is in the OFF position and then you can plug in the two AA batteries in the correct orientation of course Your kit will look just like the photo below Start playing with your kit now and or read the next sec...

Page 5: ...e button on the top left of the board is programmed to play a specific sequence of notes you may recognize If the button is pressed again while the notes are still being played the playing will stop Out of the box the Gram Piano can essentially be used as a simple musical keyboard In the next section we will go over the default code running on the Gram Piano so you can learn how it works and give ...

Page 6: ...ch is set by the potentiometer CapSensors is an array that declares a capacitive touch sensor for each of the keys All the keys use the same send pin but each key s pad is connected to a different pin CapacitiveSensor 2 3 indicates 2 is the send pin while 3 is the pin connected to the key s pad This particular sensor is for the low C key and all the keys are listed in order from lowest to highest ...

Page 7: ...nt details here In the measureKeys function the most important line to understand is the following keys i CapSensors i capacitiveSensor 5 5 samples per key For each key this takes 5 capacitive touch readings averages them and then stores them in our keys array These values are then used afterward in the playKeyPress function like this if keys 12 threshold tone spkr NOTE_C5 octave 30 Each key is ch...

Page 8: ...ve learned more about soldering capacitive touch playing tones and coding in Arduino Congratulations From here you can repurpose your board as you see fit You could change the musical scale make keys play melodies you choose or run blocks of code or even simply just leave it as is and enjoy coming up with some simple tunes We hope you enjoy your Gram Piano Feel free to share with us your feedback ...

Reviews: