Hello guys, I need help with a school project im dealing with,
i need to use a Microcontroller to emulate a surface controler like the famous Behringer BCF2000 to control some audio thingys on the computer, connecting a slider or knob encoder to the arduino its easy, no problemo there.
My problem is that this "device"(Arduino) has to connect via USB to the computer and be recognized as a MIDI device (Not necessarily the BCF2000) and i would send and recieve MIDI comands,
Thank you for your help :),
PD: I've seen MIDI shields, but i would like to not use one of those, becuz i need the system to be reduced in components
The Micro is similar to the Arduino Leonardo in that the ATmega32u4 has built-in USB communication, eliminating the need for a secondary processor. This allows the Micro to appear to a connected computer as a mouse and keyboard, in addition to a virtual (CDC) serial / COM port. It also has other implications for the behavior of the board; these are detailed on the getting started page.
I think we have a misunderstanding, the arduino UNO when you plug it in a computer with the propper drivers installed its "emulating" a COM port, that's because the second processor is programmed to do so, i want to modify that second processor, that way instead of reading a COM port the computer will see a MIDI controller, most computers have already drivers for those devices,
i want to modify that second processor, that way instead of reading a COM port the computer will see a MIDI controller,
You can not do that simply on an Arduino.
If you want to use the Arduino then there is the Hiduino project to be found at GitHub - ddiakopoulos/hiduino: 🎹 Native USB-MIDI on the Arduino . This is software that you can use to reprogram the ATmega 8u2 or 16u2 used as the serial to USB adaptor chip on the Arduino Uno rev 2 or 3. That in itself is not too difficult, although it does require the use of a hardware programmer to replace the existing code in the chip. However, the real pain is that once the software is in the 8U2/16u2 chip, then you can no longer program the Arduino through the normal boot loader process in the IDE. This means that during development you have to constantly swap between the HID software and the normal USB serial software. So the turn round time for testing your code is a lot longer, and more involved than it normally would be.
What you can do is have a helper application on the computer that will translate the serial inputs into MIDI. The best one is called "Hairless". http://projectgus.github.io/hairless-midiserial/
fungus:
The Arduino Leonardo has a proper USB host built into it. It can emulate any USB device.
I don't know if MIDI devices have been done yet, 10 minutes with google should let you know.
No this has not been done.
However if you want to switch processors to a Teensey https://www.pjrc.com/teensy/
Then there is drivers for this board to look like a MIDI device.
yoko911:
I think we have a misunderstanding, the arduino UNO when you plug it in a computer with the propper drivers installed its "emulating" a COM port, that's because the second processor is programmed to do so, i want to modify that second processor, that way instead of reading a COM port the computer will see a MIDI controller, most computers have already drivers for those devices,
is there a way to do so?
That "second processor" is the same chip used on a Leonardo. The Leonardo just cuts out the middle man.
(Except a Leonardo will be far faster to develop code on and you'll have more memory)
Grumpy_Mike:
fungus:
I don't know if MIDI devices have been done yet, 10 minutes with google should let you know.
No this has not been done.
Quite surprising.
But ... if true then it also applies to the "second processor" on an Uno.