I have spent the past few months developing and fabricating my own MIDI controller to control music programs and DJ software. I have just finished everything from the coding, debugging, and building and soldering the physical hardware. This is a universal controller that will work with any USB compliant MIDI device. The Arduino Mega board has been converted to be used as a USB compliant device and can be recognized by any MIDI program such a Apple's Logic, Traktor Pro, etc. All the parts were purchased separately, and assembled by me. I did all the coding, and it was done in C. I cut an iPhone cable, and connected to a +5v Vcc source and ground, but I had trouble with the iPhone recognizing the charger, so i put resistor values that mimicked the resistor values that are on an Apple charger. Once I did this, the iPhone recognized the power source form the Arduino. The micro controller reads an analog signal from a 10K ohm potentiometer and converts it to a 3 bit MIDI control command with a value of 0-127, 0 being all the way left, and 127 being all the way right. The button does the same, but it reads through a digital pin and sees if the pin has a high or low state. Depending on the state of the button, it sends a MIDI message. The LED within all of the buttons is toggled on and off each time that you press the button to offer a visual to which control is either on on or off. I have had to work out many bugs in the code that would flood the serial port of the computer with redundant MIDI messages. Once I got everything, the buttons, iPhone as a touchscreen, cable to charge the iPhone, the LEDs, and the carbon fiber cut completed, I was quite happy with the way that the project turned out. I took pictures along to process and have posted them in a Flikr album. I have attached the link below.
Nice!
How did you make the mega into a USB compliant MIDI device?
I used a serial to MIDI converter. You can also convert to arduino to communicate without a 3rd party application through the serial port. It can be converted to a USB MIDI device.
Did you see these options to make the mega a native USB midi device without using a convertor? Arduino Playground - InterfacingWithHardware