I found the opportunity to try out a Makey Makey as part of an Instructables build night at my local makerspace, The Maker Station. In case you are not familiar with it, a Makey Makey is a kit that allows you turn turn everyday objects into touchpads that you can use to interface with a computer. The Makey Makey is seen as a keyboard by your computer and by completing different connections on the board, you can send specific key presses as if the same key on a keyboard was pressed. For this Instructable, I decided to make a large floor piano for my kids to play. This build is really easy, uses basic household items, and goes together pretty quickly.
Step 1: Gather Your Supplies
This will only take a handful of supplies. If you have never used a Makey Makey before, you should first try out the quick start (http://makeymakey.com/howto.php) to make sure everything works correctly with your kit. Then gather the following supplies to make your floor keyboard.
- Makey Makey kit
- roll of aluminum foil
- sheet of poster board
- 9 pieces of wire (each about 4 feet long)
Step 2: Select Software for the Piano
Since we are making a floor piano, we will need some software to simulate a piano and accept keyboard presses to play notes. A quick google search turned up a well-suited option...the web-based virtual keyboard hosted by the Birmingham Grid for Learning (http://www.bgfl.org/virtualkeyboard). This keyboard supports different voices and accepts keyboard input to play the notes. Perfect!
Step 3: Remapping the Makey Makey
The Makey Makey supports directional keys, space bar, and mouse click on the front connections out of the box. There are also pin headers on the back that allow you trigger key presses for (W,A,S,D,F,G) and another for directional keys and left and right mouse clicks. You an remap any of these connections by visiting http://www.makeymakey.com/remap and following the directions there.
For this project, we need eight pins connected to (A,S,D,F,G,H,J,K) because these are the default keys used by our virtual keyboard. I'm ignoring the sharps/flats for this project. For my version, I left the A,S,D,F,G keys as they are and remapped the W pin to send the H key. Then I remapped the first two directional pins on the other header to send the J and K key presses.
Step 4: Making the Keys and Adding Wiring
Making keys for the keyboard is very straightforward. Using the the poster board as a base, we will attach eight pieces of foil for the keys and a larger piece to serve as the ground connection. The great part about this build is that the size and spacing don't really matter...make whatever suits you.
I took eight strips of foil and folded their edges to make the smaller size keys. Then I took two more strips and folded them into thin strips and positioned them along the bottom of the poster board. The folds along the edges will be used to attach our wiring.
I have several spools of low voltage landscape wiring left over from previous projects. I cut several nine lengths of wire to use to wire up the keys. After exposing the wire at both ends, I tucked one end of wire under a fold for each key and the ground foil panel. Then tape everything in place on the poster board. Add some extra tape around the wires to hold them in place during use. Insert the other ends of the wires into the pin headers on the Makey Makey corresponding to the appropriate keys for our virtual keyboard.
Step 5: Trying It Out
Now simply plug the Makey Makey into your computer, bring up the Virtual Keyboard, and you are ready to go. To play, you need to touch the ground strip with on hand or foot and then touch any key with the other and you are making music! My kids loved trying it out. They found it especially challenging trying to play and keep their balance at the same time. To share the fun, I connected my computer display to my TV so the whole room could join in.
This was a very easy project to put together. The Makey Makey is very intuitive and very easy to use. In a very short amount of time we had a playable piano with only basic supplies and no custom programming required.