Arduino Piano ?

Hey dudes! I'm really new here.. I was wondering if anybody had any pointers for creating a piano keyboard using an arduino board.. IE. what sensors / addons should I use to get this baby working? I was thinking maybe using tongue depressors as the keys and rigging them up to springs but i'm not quite sure what they would hit to trigger the note, as im very new to working with arduino type tech.

thanks in advance! :grin:

Which Arduino are you using? Count the number of IO pins. Did you come up with 88? I didn't think so.

but i'm not quite sure what they would hit to trigger the note

You need a switch somewhere. The Arduino can't read tongue depressors. They are not conductive.

You know that the Arduino can only output one tone at a time, right?

PaulS:
Which Arduino are you using? Count the number of IO pins. Did you come up with 88? I didn't think so.

but i'm not quite sure what they would hit to trigger the note

You need a switch somewhere. The Arduino can't read tongue depressors. They are not conductive.

You know that the Arduino can only output one tone at a time, right?

right right, I just meant I want the tongue depressor to trigger a switch, which would tell my computer to play the note (or whatever).. the problem i'm having is I dont know what switch to use. is it not possible for the arduino to have two switches turned 'true' at the same time? is it also not possible to create some sort of route or extension onto the arduino that would allow me to have a slew of switches.. I'm very new to the physical world of arduinos and was wondering what sort of extras I would need to buy to get this to work. I basically want to create a piano keyboard interface for my computer..

or at the very least can you point me to the right docs so i can learn up a little more on it.

It would be simplest and cheaper to get a MIDI keyboard.

Making it yourself would cost a lot of money about 20 times the cost of a good MIDI keyboard.

You need two switches per key, one that is broken when the key is just depressed and the other that is made when the key is fully depressed. By measuring the time it take between the two events you get a measure of how hard the key has been pressed. You have to do this for all 88 pins, so you need port expanders for 176 inputs and some quite fancy software to scan all the keys and do the timing.

Not a beginners project.

is it not possible for the arduino to have two switches turned 'true' at the same time?

Yes, it is.

is it also not possible to create some sort of route or extension onto the arduino that would allow me to have a slew of switches.

Sure. Multiplexing and port expanders can be used, as Grumpy Mike mentions.

I basically want to create a piano keyboard interface for my computer..

I agree with Mike. Buy a completed project.

Ignore that lot and build a Audino, its a super simple Audio project requiring only five additional components or a few more if you want to add a built in amp.

Check out some of the Audino's on you tube, one is made from a take away container, another from card or paper, some others have a bit more thought put into them, but the are all easy to build and sound great.

I would suggest building a small amplifier as well using an LM386 chip, its super simple if you follow the minimal component example in the datasheet, it will allow you to drive a PC speaker from the Audino or any other audio project you build.

Duane B.

rcarduino.blogspot.com

I basically want to create a piano keyboard interface for my computer..

I think you need to be more specific about what that means. My 'piano keyboard interface' has 88 semi-weighted, velocity-sensitive keys. There is no way that could be replicated with an arduino and some tongue-depressors. What are you looking to achieve?