Introduction: Music Notes Using Low-Tech Capacitive Sensor and RFID
Music Notes is a device that allows you to record and replay music on sticky notes. To use, sticky notes with embedded RFID sensors are used to record music made by drawing over the copper tape piano board or can even tapping fingers on its surface as if it were really a piano. The music note can then be removed from the pad, annotated at will, and left as a note for a friend or for later use. Later, a person can hear their earlier recording by placing the note back on the Note Pad box.
"This instructable was made by Kristin Williams and Fan Duas part of the CS graduate course "Tangible Interactive Computing" at the University of Maryland, College Park taught by Professor Jon Froehlich. The course focused on exploring the materiality of interactive computing and, in the words of MIT Professor Hiroshii Ishii, sought to "seamlessly couple the dual worlds of bits and atoms." Please see http://cmsc838f-s14.wikispaces.com/ for more details."
Step 1: Gather Your Materials
- 8.5"x11" surface (we recommend one that is portable)
- Styrofoam (optional)
- Copper tape
- Plenty of 1 kilo ohm resistors
- Alligator Clips/Connecting Wires
- RFID sensors
- Sticky Notes
- Arduino Uno, Arduino ATMega 2560
- Sparkfun RFID read/write shield
- Paper/Particle Board
- Duct Tape
- Paint Brush (optional)
Step 2: Create Your Music Surface
You can use any surface you want so long as it is easy to manipulate and you don't mind soldering it. We recommend using paper for quick experimentation, but we also found that a more durable surface is better for long term stability of your work. We sawed a piece of particle board to 8.5x11" and then wrapped it in white duct tape. When creating your surface, you will want to think about how you will use it. We made use of both sides and used a wrapping design. You could make a more stationary surface with only one side, but you will need to modify our design. We affixed styrofoam legs to our surface in order to raise it and allow for hiding things underneath.
Step 3: A Little Background
The most important part of this process is understanding how a capacitive sensor works. To that end, these are great resources to understand how touch input triggers musical notes in our design. Put simply, for each music note you will create a copper tape capacitive sensor by sending a signal through through one of the digital pins of your Arduino and waiting for that signal to be received by another digital pin. The capcitance of the receive pin changes dramatically when a person touches the tape, and so alters the circuit. This change is used to register a touch event. Arduino has a capacitive sensing library to help you do this and describes in much more detail how capacitive sensing works. We've rigged up one sensor here using a sticky note, breadboard, resistor, and Arduino. While the following instruction describe how to make the whole music note system, we recommend you keep this one note system in mind for building, testing, and debugging purposes.
Step 4: Create Your Musical Field
Design how you would like to configure your surface for touchable notes. We used a piano string idea and measured lines at equal intervals across the surface. To ensure our lines were straight and even, we marked the surface and measured equal lengths of tape first . Then we affixed the tape to each line wrapping the tape around both edges of the surface so that one side appeared as continuous lines and the other held one inch gap between the ends.
Step 5: Lines of Input
The main line of input for your musical surface is a single piece of copper tape which sends a signal to every horizontal piece creating a parallel circuit. Place a strip of copper tape running vertically along your surface. Our design runs the vertical line all the way to the end of the board for ease later. Make sure it is in the gap between the strips of horizontal copper tape. Leave room on either side of the vertical piece so that you have room to solder and none of the copper tape touches. You will need at least 1 kilo ohm resistor for each piece of copper tape. Affix each resistor to each horizontal piece and the other end of the resistor to the vertical piece. You can do this by soldering. Or, if you just want to see how it works use scotch tape. Because you will be soldering a cylindrical object to a flat surface, using a paper clip can help hold your resistor in place when soldering and to provide guidance on how to bend your resistor to make contact with the surface.
Step 6: Lines of Output
Attach output lines to each horizontal piece of copper tape on your music surface. We were sure to color code our lines to keep track of all 22 output lines. You can solder these if you like, or use alligator clips for quick connections.Then attach these lines to your Arduino Mega's digital pins. We Started our receiver pins at pin 22 so as to keep the receiver pins separate from our sender. Our sender pin is connected to pin 2. If you want to change these, you will need to alter our code accordingly.
Step 7: Test Your Musical Surface
Before moving on to create your notepad and music notes, now is a very good time to stop and test whether everything is working. To do this, simply run our Arduino capactive sensing code:
To evaluate, open up your serial port monitor in Arduino to see the baseline values of your capacitive sensing system. When you touch any one of the copper lines on your board, you should see these values change. If you run into any problems, remember the basic principles of the system discussed in the background step. Just test and debug the notes one at a time. All you've done so far is scaled the capacitive touch system to a larger amount of sensors.
Step 8: Linking Music Notes
Next, map each one of your touch sensors to different music notes. Choose a range of pitches you want to use for your music notes. You can change pitches by altering the values in the array 'pitch' at line 27 in our code. If you want to use our code, full stop, you will need to wait until you have set up RFID tag read and write because the code is dependent on your ability to record. If you want to test and see how the capacitive sensors are linked to musical notes, you can play around in Processing with the Minim library and reading in values from the serial port. Or, you can use this test code that we have set up.
Step 9: Getting RFID Sticky Notes Working
First you need to make sure you can read RFID tags before you can create an RFID sticky note. The Spark Fun tutorial is great place to get started with this:
Once your reader is detecting your tags, you can go ahead and embed them in sticky notes. Simply use Elmer's glue, a paint brush, and a pad of sticky notes for this. The paint brush keeps your application of glue thin so that you do not warp the paper.
Step 10: Connecting It All
Once your piano and sticky notes are working. You can go ahead and use our code to connect them. We use Processing to associate the notes that are played on the music board with the RFID tag. You will need to change the code to reflect the directory you've downloaded our files to. To record a note, simply place an unused note on the RFID shield and then draw on the music surface. Remove your note from the shield and tap it on the shield so that the shield registers the note's presence a second time.