工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

USB-BLEワイヤレスMIDIアダプター

コンポーネントと消耗品

>
Arduino 101
オプション1:Hobbytronics USBMIDIホストブレイクアウトと組み合わせる
× 1
Hobbytronics USBMIDIホストブレイクアウト
× 1
Arduino ADK Rev. 3
オプション2:nRF52ブレイクアウトまたはBean +と組み合わせる
× 1
SparkFun nRF52832 Breakout
× 1
Punch Through LightBlue Bean +
× 1
Arduino UNO
オプション3:USBホストシールドとnRF52ブレークアウトまたはBean +のいずれかと組み合わせる
× 1
ArduinoUSBホストシールド
× 1
SparkFunロジックレベルコンバーター-双方向
5VロジックをnRF52ブレークアウト(3V3)とインターフェイスさせるため。
× 1

アプリとオンラインサービス

>
Arduino IDE

このプロジェクトについて

低エネルギーBluetoothを使用して、USBMIDI機器をiOSデバイスにワイヤレスで接続します。

K-Board、BopPad、ArtiphonなどのUSB MIDI機器をGarageBand、DrumJam、GeoShredなどのiOS音楽アプリに接続するには、通常、Apple Camera ConnectionKitが必要です。ただし、一部のArduinoコンポーネントとスケッチを使用すると、USB機器からMIDIメッセージを読み取り、Bluetooth LE(BLE)を使用してiOSデバイスに送信するアダプターを簡単に作成できます。

私は3つの異なるアプローチを調査し、このプロジェクトでそれぞれに指示を与えました。

Arduino 101 / Hobbytronics USB HOST-MIDI

最初の設計は、部品と接続の点で最も単純です。これは、Arduino101によって提供されるBLEサポートとHobbytronicsUSBHOST-MIDIブレイクアウトによって提供されるUSBホストサポートを組み合わせたものです。

Arduino 101とHobbytronicsのブレイクアウトは、シリアルI / Oを使用して通信します。 Arduino 101で実行されているスケッチは、USBホストブレークアウトからMIDIメッセージを読み取り、統合されたBLEサービスに書き込みます。

<図> <図>

アダプターは現在、一方向にのみ動作し、USBからメッセージを受信しますが、USBには送信しません。ちなみに、これはこのプロジェクトのすべてのアダプターに当てはまります。このため、Hobbytronicsブレイクアウトには、5V、GND、およびTXの3つの接続のみが必要です。 TXピンをArduino101のRXピン(D0)に接続します。

アダプターをプログラムするには、CurieUsbMidiBridgeスケッチをArduino 101にアップロードします。これで、楽器をプラグインし、iOSアプリをアダプターに接続して(「CurieBLE」をスキャン)、再生を開始する準備が整いました。

多くのiOSアプリは、BLEMIDI接続を直接サポートしています。そうでないアプリの場合、midimittrアプリが仲介者として機能できます。

安定性の理由から、このアダプターの実装は、NoteOnおよびNoteOffメッセージのみを処理します。 Control Change、After Touch、Pitch Bendなどの他のチャンネルメッセージのサポートは、将来のバージョンで有効になる可能性がありますが、現時点ではスケッチでコメントアウトされています。

Arduino Mega ADK / SparkFun nRF52832

2番目の設計は、SparkFun nRF52832Breakoutによって提供されるBLEサポートとArduinoMegaADKによって提供されるUSBホストサポートを活用します。

SparkFunnRF52ブレイクアウトとArduinoMegaはI2Cを使用して通信します。 nRF52はI2Cマスターであり、ArduinoMegaからのMIDIメッセージを要求します。 Arduino Megaから受信したメッセージは、nRF52のBLEサービスを介して送信されます。 Arduino Megaで実行されているスケッチは、I2C要求に応答し、統合されたUSBホストコントローラーからMIDIメッセージを読み取り、nRF52に書き込みます。

<図>

SparkFunブレイクアウトには5つの接続が必要です:

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

SparkFun nRF52ブレークアウトは3V3で動作し、Arduino Megaは5Vで動作するため、3つのロジックピンは双方向レベルシフターを介して接続されます。

注:SDAとSCLの割り当ては、SparkFunのvariants.hファイルで再定義する必要があります。詳細については、このフックアップガイドの説明を参照してください。

スケッチnRF52MidiWireMasterをSparkFunブレークアウトにアップロードし、UsbMidiWireSlaveをArduinoMegaにアップロードします。次に、機器をUSBホストコネクタに接続し、iOSアプリをアダプタに接続して(「nRFMIDI」をスキャン)、再生を開始します!

Arduino Uno / USBホストシールド/ Bean +

最終的な設計では、LightBlue Bean +のBLE機能を採用し、下の写真に示すように、ArduinoUnoに接続されたUSBホストシールドとペアリングしています。 Arduino Mega ADKは、USBホストシールドとArduinoUnoの組み合わせの代わりに使用できます。フリッツの図は、Arduino MegaADKバージョンを示しています。

前の設計と同様に、2つのMCUはI2Cを使用して通信します。 Bean +はI2Cマスターであり、ArduinoUnoにMIDIメッセージを要求します。 Unoから受信したメッセージは、BeanのBLEサービスを介して送信されます。 Unoで実行されているスケッチは、I2C要求に応答し、接続されているUSBホストシールドからMIDIメッセージを読み取り、Bean +に書き込みます。

<図>

Bean +には4つの接続が必要です:

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

注:Bean +を5V動作に切り替えます。

スケッチBeanMidiWireMasterをBean +にアップロードし、UsbMidiWireSlaveをArduinoUnoにアップロードします。次に、機器をUSBホストシールドに接続し、iOSアプリをアダプターに接続して(「Bean +」をスキャン)、再生を開始します。

パフォーマンス上の理由から、コントロール変更およびアフタータッチチャネルメッセージのサポートはスケッチでコメントアウトされていますが、将来のバージョンで有効になる可能性があります。

コード

CurieUsbMidiBridge.ino
Arduino 101 + Hobbytronics USBHOSTで使用-MIDIhttps://github.com/joebowbeer/CurieUsbMidiBridge
nRF52MidiWireMaster.ino
nRF52ブレークアウトにアップロードし、UsbMidiWireSlave.ino(以下を参照)をUSBMIDI機器に接続されているArduinoにアップロードします。https://github.com/joebowbeer/nRF52MidiWireMaster
BeanMidiWireMaster.ino
Bean +にアップロードし、UsbMidiWireSlave.ino(下記)をUSBMIDI機器に接続されているArduinoにアップロードします。https://github.com/joebowbeer/BeanMidiWireMaster
UsbMidiWireSlave.ino
Arduino ADK(またはArduino Uno + USBホストシールド)にアップロードします。 USB MIDI機器からMIDIメッセージを読み取り、それらをWire(I2C)マスターに書き込みます。https://github.com/joebowbeer/UsbMidiWireSlave

回路図

Arduino101とHobbytronicsUSBHOSTの接続-MIDIArduinoADKとSparkfunnRF52Breakoutの接続ArduinoADKとLightBlueBean +の接続

製造プロセス

  1. 自宅にワイヤレスセンサーネットワークを構築する
  2. ワイヤレス磁気データ転送
  3. Arduino Spybot
  4. FlickMote
  5. 自家製テレビB-Gone
  6. マスタークロック
  7. Unopad-Abletonを搭載したArduinoMIDIコントローラー
  8. Arduinoタッチブレイクアウトゲーム
  9. Arduino + LED + MIDIキーボード+ MuseScore =ピアノチューター
  10. Find Me
  11. Arduino Power