Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

USB-BLE-Wireless-MIDI-Adapter

Komponenten und Verbrauchsmaterialien

Arduino 101
OPTION 1:Kombinieren mit Hobbytronics USB MIDI Host Breakout
× 1
Hobbytronics USB MIDI Host Breakout
× 1
Arduino ADK Rev. 3
OPTION 2:Kombinieren mit nRF52 Breakout oder Bean+
× 1
SparkFun nRF52832 Breakout
× 1
Punch Through LightBlue Bean+
× 1
Arduino UNO
OPTION 3:Kombinieren mit USB Host Shield und entweder nRF52 Breakout oder Bean+
× 1
Arduino USB Host Shield
× 1
SparkFun Logic Level Converter - Bidirektional
Um 5V-Logik mit nRF52-Breakout (3V3) zu verbinden.
× 1

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Verbinden Sie Ihre USB-MIDI-Instrumente drahtlos mit Ihrem iOS-Gerät über energiesparendes Bluetooth.

Ein Apple Camera Connection Kit ist im Allgemeinen erforderlich, um ein USB-MIDI-Instrument wie ein K-Board, BopPad oder Artiphon mit einer iOS-Musik-App wie GarageBand, DrumJam oder GeoShred zu verbinden. Mit Hilfe einiger Arduino-Komponenten und -Skizzen ist es jedoch einfach, einen Adapter zu erstellen, der MIDI-Nachrichten von einem USB-Instrument liest und sie über Bluetooth LE (BLE) an ein iOS-Gerät sendet.

Ich habe in diesem Projekt drei verschiedene Ansätze untersucht und für jeden von ihnen Anleitungen bereitgestellt.

Arduino 101 / Hobbytronics USB HOST-MIDI

Die erste Konstruktion ist in Bezug auf Teile und Verbindungen die einfachste. Es kombiniert die BLE-Unterstützung des Arduino 101 mit der USB-Host-Unterstützung des Hobbytronics USB HOST-MIDI-Breakouts.

Der Arduino 101 und Hobbytronics Breakout kommunizieren über serielle E/A. Der auf dem Arduino 101 ausgeführte Sketch liest MIDI-Nachrichten vom USB-Host-Breakout und schreibt sie dann in seinen integrierten BLE-Dienst.

Der Adapter arbeitet derzeit nur in eine Richtung und empfängt Nachrichten von USB, sendet jedoch nicht an USB. Dies gilt übrigens für alle Adapter in diesem Projekt. Aus diesem Grund benötigt der Hobbytronics Breakout nur drei Anschlüsse:5V, GND und TX. Verbinden Sie seinen TX-Pin mit dem RX-Pin (D0) des Arduino 101.

Um den Adapter zu programmieren, laden Sie die CurieUsbMidiBridge-Skizze auf den Arduino 101 hoch. Jetzt können Sie Ihr Instrument anschließen, Ihre iOS-App mit dem Adapter verbinden (nach "CurieBLE" suchen) und mit dem Spielen beginnen.

Viele iOS-Apps unterstützen direkt BLE-MIDI-Verbindungen. Für Apps, die dies nicht tun, kann die Midimittr-App als Vermittler fungieren.

Aus Stabilitätsgründen verarbeitet diese Implementierung des Adapters nur Note-On- und Note-Off-Nachrichten. Die Unterstützung für die anderen Kanalnachrichten wie Control Change, After Touch und Pitch Bend wird möglicherweise in einer zukünftigen Version aktiviert, aber im Moment sind sie in der Skizze auskommentiert.

Arduino Mega ADK / SparkFun nRF52832

Das zweite Design nutzt die BLE-Unterstützung des SparkFun nRF52832 Breakout und die USB-Host-Unterstützung des Arduino Mega ADK.

Der SparkFun nRF52 Breakout und Arduino Mega kommunizieren über I2C. Der nRF52 ist der I2C-Master, der MIDI-Nachrichten vom Arduino Mega anfordert. Die vom Arduino Mega empfangenen Nachrichten werden über den BLE-Dienst des nRF52 gesendet. Der auf dem Arduino Mega ausgeführte Sketch reagiert auf I2C-Anfragen, liest MIDI-Nachrichten von seinem integrierten USB-Host-Controller und schreibt sie in den nRF52.

Der SparkFun-Breakout benötigt fünf Verbindungen:

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

Da der SparkFun nRF52 Breakout mit 3V3 und der Arduino Mega mit 5V arbeitet, sind die drei Logikpins über einen bidirektionalen Pegelumsetzer verbunden.

HINWEIS:Die SDA- und SCL-Zuweisungen müssen in der Datei SparkFun Varianten.h neu definiert werden. Weitere Informationen finden Sie in dieser Diskussion des Anschlussleitfadens.

Laden Sie den Sketch nRF52MidiWireMaster zum SparkFun-Breakout und UsbMidiWireSlave zum Arduino Mega hoch. Schließen Sie dann Ihr Instrument an den USB-Host-Anschluss an, verbinden Sie Ihre iOS-App mit dem Adapter (scannen Sie nach "nRFMIDI") und beginnen Sie zu spielen!

Arduino Uno / USB Host Shield / Bean+

Das endgültige Design verwendet die BLE-Fähigkeit des LightBlue Bean+ und kombiniert es mit einem USB-Host-Shield, das an einem Arduino Uno angeschlossen ist, wie auf dem Foto unten gezeigt. Ein Arduino Mega ADK kann die Kombination aus USB Host Shield und Arduino Uno ersetzen. Das Fritzing-Diagramm zeigt die Arduino Mega ADK-Version.

Wie im vorherigen Design kommunizieren die beiden MCUs über I2C. Das Bean+ ist der I2C-Master, der MIDI-Nachrichten vom Arduino Uno anfordert. Die vom Uno empfangenen Nachrichten werden über den BLE-Dienst von Bean gesendet. Der auf dem Uno laufende Sketch reagiert auf I2C-Anfragen, liest MIDI-Nachrichten vom angeschlossenen USB-Host-Shield und schreibt sie auf das Bean+.

Das Bean+ benötigt vier Anschlüsse:

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

HINWEIS:Schalten Sie Bean+ auf 5V-Betrieb um.

Sketch BeanMidiWireMaster auf Bean+ hochladen und UsbMidiWireSlave auf Arduino Uno hochladen. Schließen Sie dann Ihr Instrument an das USB Host Shield an, verbinden Sie Ihre iOS-App mit dem Adapter (scannen Sie nach "Bean+") und beginnen Sie zu spielen.

Aus Leistungsgründen wurde die Unterstützung für Control Change- und After-Touch-Kanalnachrichten in der Skizze auskommentiert, kann aber in einer zukünftigen Version aktiviert werden.

Code

CurieUsbMidiBridge.ino
Verwendung mit Arduino 101 + Hobbytronics USB HOST-MIDIhttps://github.com/joebowbeer/CurieUsbMidiBridge
nRF52MidiWireMaster.ino
Laden Sie auf nRF52 Breakout hoch und laden Sie UsbMidiWireSlave.ino (siehe unten) auf das Arduino hoch, das mit dem USB-MIDI-Instrument verbunden ist.https://github.com/joebowbeer/nRF52MidiWireMaster
BeanMidiWireMaster.ino
Laden Sie auf Bean+ hoch und laden Sie UsbMidiWireSlave.ino (unten) auf das Arduino hoch, das mit dem USB-MIDI-Instrument verbunden ist.https://github.com/joebowbeer/BeanMidiWireMaster
UsbMidiWireSlave.ino
Auf Arduino ADK (oder Arduino Uno + USB Host Shield) hochladen. Liest MIDI-Nachrichten vom USB-MIDI-Instrument und schreibt sie an den Wire (I2C)-Master.https://github.com/joebowbeer/UsbMidiWireSlave

Schaltpläne

Verbinden des Arduino 101 mit Hobbytronics USB HOST-MIDIVerbinden des Arduino ADK mit Sparkfun nRF52 BreakoutVerbinden des Arduino ADK mit LightBlue Bean+

Herstellungsprozess

  1. Aufbau eines drahtlosen Sensornetzwerks in Ihrem Zuhause
  2. Drahtlose magnetische Datenübertragung
  3. Arduino Spybot
  4. FlickMote
  5. Selbstgemachter Fernseher B-Gone
  6. Hauptuhr
  7. Unopad - Arduino MIDI-Controller mit Ableton
  8. Arduino Touch Breakout-Spiel
  9. Arduino + LEDs + MIDI-Keyboard + MuseScore =Klavierlehrer
  10. Finde mich