For the MIDI interface, Anthony and I worked together to make a MIDI pull chain interface that is combined with effects controls. We were both excited to use pull chains! Essentially, you can build chords by turn notes on and off with the pull chain switches. The notes will sustain until you turn them off & you can tell if they are on/off when the corresponding LEDs are on/off.
We also made interfaces to control different effects. We have a sliding switch with springs back to the center that does pitch bending. The drum pad that has a piezo sensor under a piece of silicone changes note velocity.
To get all these components working together we had the MIDI-to-USB box hooked up to two Arduino circuits. Yes, we are sending MIDI protocol to one play instrument using two Arduinos! Then we hooked up the USB to GarageBand on a computer to play some sounds.
Here is the code for the pull chain part:
And here is a link to the code for the effects controllers here.
We need to refine a few things, but overall it works. We based a lot of our code on the examples from the P Comp MIDI example as well as Tom's code from class. The Arduino Unos did not have two serial ports, so we needed to control MIDI through software serial.
The build concept was not that complicated, but the wiring was a bit messy.