Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

USB-BLE draadloze MIDI-adapters

Componenten en benodigdheden

Arduino 101
OPTIE 1:Combineer met Hobbytronics USB MIDI Host breakout
× 1
Hobbytronics USB MIDI Host Breakout
× 1
Arduino ADK Rev. 3
OPTIE 2:Combineer met nRF52 breakout of Bean+
× 1
SparkFun nRF52832 Breakout
× 1
Punch Through LightBlue Bean+
× 1
Arduino UNO
OPTIE 3:Combineer met USB Host Shield en nRF52 breakout of Bean+
× 1
Arduino USB Host Shield
× 1
SparkFun Logic Level Converter - bidirectioneel
Om 5V-logica te koppelen aan nRF52 breakout (3V3).
× 1

Apps en online services

Arduino IDE

Over dit project

Verbind uw USB MIDI-instrumenten draadloos met uw iOS-apparaat via energiezuinige Bluetooth.

Een Apple Camera Connection Kit is over het algemeen vereist om een ​​USB MIDI-instrument zoals een K-Board, BopPad of Artiphon aan te sluiten op een iOS-muziekapp zoals GarageBand, DrumJam of GeoShred. Met behulp van enkele Arduino-componenten en schetsen is het echter eenvoudig om een ​​adapter te maken die MIDI-berichten van een USB-instrument leest en deze naar een iOS-apparaat stuurt met behulp van Bluetooth LE (BLE).

Ik heb drie verschillende benaderingen onderzocht en geef instructies voor elk van hen in dit project.

Arduino 101 / Hobbytronics USB HOST-MIDI

Het eerste ontwerp is qua onderdelen en aansluitingen het eenvoudigst. Het combineert de BLE-ondersteuning van de Arduino 101 met de USB Host-ondersteuning van de Hobbytronics USB HOST-MIDI breakout.

De Arduino 101 en Hobbytronics breakout communiceren via seriële I/O. De sketch die op de Arduino 101 wordt uitgevoerd, leest MIDI-berichten van de USB Host-breakout en schrijft ze vervolgens naar de geïntegreerde BLE-service.

De adapter werkt momenteel slechts in één richting en ontvangt berichten van USB maar verzendt niet naar USB. Dit geldt trouwens voor alle adapters in dit project. Om deze reden heeft de Hobbytronics-breakout slechts drie aansluitingen nodig:5V, GND en TX. Verbind de TX-pin met de RX-pin (D0) op de Arduino 101.

Om de adapter te programmeren, uploadt u de CurieUsbMidiBridge-schets naar de Arduino 101. Nu bent u klaar om uw instrument in te pluggen, uw iOS-app op de adapter aan te sluiten (scan naar "CurieBLE") en te beginnen met spelen.

Veel iOS-apps ondersteunen rechtstreeks BLE MIDI-verbindingen. Voor apps die dat niet doen, kan de midimittr-app als tussenpersoon fungeren.

Om stabiliteitsredenen verwerkt deze implementatie van de adapter alleen Note On- en Note Off-berichten. Ondersteuning voor de andere kanaalberichten zoals Control Change, After Touch en Pitch Bend kan in een toekomstige versie worden ingeschakeld, maar voor nu zijn ze in de schets van commentaar voorzien.

Arduino Mega ADK / SparkFun nRF52832

Het tweede ontwerp maakt gebruik van de BLE-ondersteuning van de SparkFun nRF52832 Breakout en de USB Host-ondersteuning van de Arduino Mega ADK.

De SparkFun nRF52 breakout en Arduino Mega communiceren met behulp van I2C. De nRF52 is de I2C-master en vraagt ​​om MIDI-berichten van de Arduino Mega. De berichten die van de Arduino Mega worden ontvangen, worden verzonden via de BLE-service van de nRF52. De sketch die op de Arduino Mega draait, reageert op I2C-verzoeken, leest MIDI-berichten van de geïntegreerde USB-hostcontroller en schrijft ze naar de nRF52.

De SparkFun-breakout heeft vijf verbindingen nodig:

  • 3V3
  • GND
  • RST
  • SDA (24)
  • SCL (25)

Omdat de SparkFun nRF52 breakout op 3V3 werkt en de Arduino Mega op 5V, zijn de drie logische pinnen verbonden via een bidirectionele niveauverschuiver.

OPMERKING:De SDA- en SCL-toewijzingen moeten opnieuw worden gedefinieerd in het bestand SparkFun varianten.h. Zie deze discussie over de aansluitingsgids voor meer details.

Upload schets nRF52MidiWireMaster naar de SparkFun breakout en UsbMidiWireSlave naar de Arduino Mega. Sluit vervolgens uw instrument aan op de USB Host-connector, sluit uw iOS-app aan op de adapter (scan naar "nRFMIDI") en begin met spelen!

Arduino Uno / USB Host Shield / Bean+

Het uiteindelijke ontwerp maakt gebruik van de BLE-mogelijkheden van de LightBlue Bean+ en koppelt deze met een USB Host Shield aangesloten op een Arduino Uno, zoals weergegeven in de onderstaande foto. Een Arduino Mega ADK kan de combinatie USB Host Shield en Arduino Uno vervangen. Het Fritzing-diagram toont de Arduino Mega ADK-versie.

Net als in het vorige ontwerp communiceren de twee MCU's via I2C. De Bean+ is de I2C-master en vraagt ​​om MIDI-berichten van de Arduino Uno. De berichten die van de Uno worden ontvangen, worden verzonden via de BLE-service van Bean. De sketch die op de Uno draait, reageert op I2C-verzoeken, leest MIDI-berichten van het aangesloten USB Host Shield en schrijft ze naar de Bean+.

De Bean+ heeft vier aansluitingen nodig:

  • GND
  • 5V
  • SDA (A4)
  • SCL (A5)

OPMERKING:Schakel de Bean+ naar 5V-werking.

Upload schets BeanMidiWireMaster naar de Bean+ en upload UsbMidiWireSlave naar de Arduino Uno. Sluit vervolgens uw instrument aan op de USB Host Shield, sluit uw iOS-app aan op de adapter (scan naar "Bean+") en begin met spelen.

Om prestatieredenen is ondersteuning voor Control Change- en After Touch-kanaalberichten in de schets weggelaten, maar kan in een toekomstige versie worden ingeschakeld.

Code

CurieUsbMidiBridge.ino
Gebruik met Arduino 101 + Hobbytronics USB HOST-MIDIhttps://github.com/joebowbeer/CurieUsbMidiBridge
nRF52MidiWireMaster.ino
Upload naar nRF52 breakout en upload UsbMidiWireSlave.ino (zie hieronder) naar de Arduino die is aangesloten op het USB MIDI-instrument.https://github.com/joebowbeer/nRF52MidiWireMaster
BeanMidiWireMaster.ino
Upload naar Bean+ en upload UsbMidiWireSlave.ino (hieronder) naar de Arduino die is aangesloten op het USB MIDI-instrument.https://github.com/joebowbeer/BeanMidiWireMaster
UsbMidiWireSlave.ino
Upload naar Arduino ADK (of Arduino Uno + USB Host Shield). Leest MIDI-berichten van het USB MIDI-instrument en schrijft ze naar de Wire (I2C) master.https://github.com/joebowbeer/UsbMidiWireSlave

Schema's

Arduino 101 verbinden met Hobbytronics USB HOST-MIDI Arduino ADK verbinden met Sparkfun nRF52 Breakout Arduino ADK verbinden met LightBlue Bean+

Productieproces

  1. Een draadloos sensornetwerk in uw huis bouwen
  2. Draadloze magnetische gegevensoverdracht
  3. Arduino Spybot
  4. FlickMote
  5. Zelfgemaakte tv B-Gone
  6. Hoofdklok
  7. Unopad - Arduino MIDI-controller met Ableton
  8. Arduino Touch Breakout-spel
  9. Arduino + LED's + MIDI Keyboard + MuseScore =Piano Tutor
  10. Vind mij
  11. Arduino Power