[Tyler Bletsch] sent us a tip about his new build: a keyboard that redefines “coin-operated.” The Nickelphone can emit square wave tones via a piezo buzzer, but [Tyler] made this 25-key piano as a MIDI keyboard capable of driving a full synthesizer.
He chose an ATMega644 as the brain because it’s Arduino-friendly but has more data pins—32—than the usual ATMega328 chip, which allows him to provide each key with its own pin. Each coin was soldered to its own wire and connects up to a 1MΩ resistor array. Coin-presses are recognized by the simple capacitive sensing technique outlined here, but [Tyler] needed to take advantage of a workaround to accurately detect multiple presses.
Check out [Tyler’s] detailed project guide for more information as well as the source code. Check out the video of the Nickelphone after the break, then browse through some other capacitive touch hacks, like the Capacitive Touch Business Card or the Capacitive Touch Game Controller.
Larger coins on the floor. A pedal board for bare feet.
How much lag?
better question: where would you get huge coins from?
Same place as everything, ebay
http://www.ebay.com/bhp/giant-quarter
50 cent piece?
(This is Tyler, I built this thing)
No detectable lag — when I was done, it measured all 25 keys in just a few milliseconds. I got way more lag from my PC’s sound system (before I started using an ASIO driver). From what I read, it sounds like 10-20ms is the minimum for a musician to detect, and it’s definitely way below that.
I love the creativity here! Cd cases for part of it, breadboard for another, change for the main part! And what looks like an old school table top for the board! This is awesome!
(This is Tyler, I built this thing)
Ha, yeah, that has a lot do with the fact that I suck at fabricating stuff :-)
The board is a shelf that came with an old computer desk.
Flip over all the nickles and it’s the Nickleback phone.
I came for the nickleback joke. was not disappoint
I have to confess that, when programming naked AVRs, the JTAG “bug” bites me every damn time.
I don’t use the Arduino library so that might have something to do with it.
Nah, it’s the fuse settings, Arduino or no. The default (at least on this chip) was a fuse setting that reserved 4 pins for JTAG.
The OCD part of me is screaming at the folded excess wire. Next time please trim the wires to the correct length.
i was just trying to think of ways to have a large number of capacitive touch sensors with as few pins as possible (without using a separate chip). would a matrix work?
I thought a lot about how to get more capacitive sensors cheap, and I couldn’t think of a way. For one, there’s only one wire going to the coins, so what exactly would you multiplex? :-)
That’s why I got that giant ATmega644 — lots of pins while still being breadboardable. If you want even more, I’d go for an Arduino Mega. (I actually ordered one just for this before I found the ATmega644 in my collection.)
If I needed even more pins, I’d probably just calculate what Atmel chip gives the greatest pins per dollar and use a bunch of them, slaving them to the master microcontroller. The in-built pull-up resistor and internal clock makes it so easy, I wouldn’t bother looking at any technique with discrete hardware. But I’m lazy…