Hello. Nice photo, the construction looks good. i'm using HDPE for the construction of my board - but I like the clear look of yours.
What do you mean about linear potentiometers? Do you want to use these ribbon pots to determine the velocity sent to the midi controller?Six piezo on arduino analog
getting six analog inputs on an arduino with piezo inputs is easy. you can buy the board here or just download the code. http://midikits.net23.net/
be certain to put 1M pull down resistors on all analog inputs. Tom has been really helpful and he will answer questions by phone or online. my effort to design a higher quality touch
but using piezos in this fashion won't give you the velocity of a standard weighted key controller, and doesn't allow you to 'hold a note". it's hobby-grade. Tom and I are working on something that is production quality. My design uses 96 keys and i can't explain that here. I've spent hours testing piezos and while the price point makes them attractive they don't have the fidelity (true response) needed for a production instrucment. I can't get them to accurately play repeated notes (let's say 1/8 note triplets with a tempo of 60). using optos
i'm still considering piezos but also looking at opto sensors. I'm doing quite a bit of work on this with the goal of measuring velocity. i am moving towards optos which are < $2 each and considering the vishay opto CNY70, vishay TRCRT5000, and the Rohm RPR-220 all which measure distance from 2-12mm very well. To get them working in a test jig all you need is two resistors (220 ohm; 10k ohm) and maybe a 2nw capacitor (mine works without). holy grail of keyboard
the trick is writing an arduino program to measure velocity. that's the wall i am currently hitting my head on. I'll probably need some sort of fancy library to measure the time that each keystroke travels and report that as a byte to the arduino. Maybe an interrupt handler of some sort. mayhew mux shield - 48 analog channels on one uno
I've purchased a few of these multiplexors. The code is easy to implement. If I use a mux shield i get 48 analog inputs per uno. This is all throttled down to one analog input pin. All the math so far says that one arduino can handle the keyboard - but the overhead with the velocity is a concern to me - probably even the storage (several large arrays) required to do this. The trade off is creating a circuit for each key to offload some of the compute time but with 96 keys i really don't want to go there.I2C communication
I'm also experimenting with I2C to communicate between boards. pretty cool way to go but it uses two analog ports (clock, and serial).
let me know how yours progresses! i hope to have my design up and running by maker faire (california) 2013.
be happy to trade notes.