I stumbled across this topic:
USB MIDI - Project Guidance - Arduino Forum and I wanted to know some things.
I want to create a similiar project and still gathering information before I buy new parts etc.
What I have is a Piano from Yamaha the P-45 with a standard USB-B-female Port (that one you needed for printers). But the leonardo uses a Micro-USB-B-female port. I want to have my code directly on the leonardo so I can connect it with my Piano, a led-strip and a power-supply (without needing a pc or laptop).
The problem is that I can't find a micro-usb-b to standard usb-b-cable. Do you have any ideas? Is it maybe possible to solder a micro-usb-b cable with a standard-usb-b cable?
Do you have any other suggestions?
Please let me know!
Thank you in advance.
USB uses a host and devices. The host is usually a PC (A-type connector); the devices are HID devices, printers etc. Devices can NOT talk to each other so your Leonardo can not talk to the piano or vice versa.
You will need a USB host shield on the Leonardo for the physical part of the communication. The programming might be a whole different (and complicated) story.
So the "connector" you need is in fact - a PC.
A Pi would do the job nicely.
You will need a USB host shield
Why do I need a USB-Host shield? A Leonardo can send and receive Midi-Messages am I right?
So when I've programmed my Leonardo to receive midi-data from piano it doesn't has anything to do with my pc. All I want is to receive midi from my piano so why would I need a shield for that and especially why would I need my pc for that?
I saw many similiar projects with a teensy and there you don't need a pc. (Although you need one for programming the teensy that is obvious). But they have been programming it, pugged it into a external power-supply and connected it with their hardware receiving midi-messages. So I don't get the point why I would need a pc if I already programmed the leonardo and want to receive messages from my piano directly
USB communication is always between a host and a client.
Your piano is a USB client, so is your Arduino. Therefore they can not talk to one another directly. If you have the USB host shield, you can have your Arduino act as a USB host, and thus communicate with the piano.