USB-BLE MIDI-адаптеры на Arduino: беспроводное подключение инструментов к iOS
Компоненты и материалы (три варианта)
Вариант 1: Arduino 101 + Hobbytronics USB HOST-MIDI
- Arduino 101 (встроенный BLE)
- Hobbytronics USB MIDI Host Breakout
Вариант 2: Arduino Mega ADK + SparkFun nRF52832 Breakout
- Arduino Mega ADK (USB Host)
- SparkFun nRF52832 Breakout (BLE)
- Logic Level Converter (5V ↔ 3.3V) для I2C
Вариант 3: Arduino Uno + USB Host Shield + LightBlue Bean+
- Arduino Uno + USB Host Shield (или Mega ADK)
- LightBlue Bean+ (BLE, переключить на 5V)
Приложения
- Arduino IDE
О проекте
Позволяет подключить USB-MIDI контроллер (K-Board, BopPad, Artiphon) к iOS-приложениям (GarageBand, GeoShred и др.) по Bluetooth LE без Camera Connection Kit. Три архитектуры, единый принцип: Arduino читает MIDI с USB Host → передаёт по Serial/I2C на BLE-модуль → тот шлёт пакеты по BLE MIDI профилю.
Вариант 1: Arduino 101 + Hobbytronics (самый простой)
- Связь: Serial (TX Hobbytronics → RX Arduino 101 D0).
- Питание: 5V, GND.
- Скетч:
CurieUsbMidiBridge.ino— читает MIDI с Serial, пишет в BLE-сервис CurieBLE. - На iOS ищите устройство «CurieBLE». Для приложений без нативной поддержки BLE MIDI используйте промежуточное приложение midimittr.
- Поддерживаются только Note On/Off (остальные сообщения закомментированы).
Вариант 2: Mega ADK + nRF52832
- I2C: nRF52 — мастер, Mega — слейв. Пины: SDA=24, SCL=25 (требуется правка
variants.hв ядре SparkFun). - Уровни 3.3V/5V через двунаправленный конвертер.
- Скетчи:
nRF52MidiWireMaster.ino(на nRF52) +UsbMidiWireSlave.ino(на Mega). - BLE-имя: «nRFMIDI».
Вариант 3: Uno + USB Host Shield + Bean+
- I2C: Bean+ — мастер (A4/A5), Uno — слейв.
- Bean+ переключить на 5V (перемычка на плате).
- Скетчи:
BeanMidiWireMaster.ino(Bean+) +UsbMidiWireSlave.ino(Uno). - BLE-имя: «Bean+».
Код и ресурсы
Все скетчи на GitHub (Joe Bowbeer):
- CurieUsbMidiBridge
- nRF52MidiWireMaster
- BeanMidiWireMaster
- UsbMidiWireSlave (общий для Mega/Uno)
Проект открыт, расширяем (Control Change, Pitch Bend можно раскомментировать). Идеально для музыкантов-мейкеров.
Производственный процесс
- Построение доступной беспроводной сети датчиков для дома
- Беспроводная передача данных по магнитному полю на Arduino с 3D-сенсором Infineon
- Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
- FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
- DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
- Создание пользовательских LED-часов с будильником — видно с 12 метров
- Unopad: Бесшовный Arduino MIDI-контроллер для Ableton Live
- Arduino Breakout на сенсорном TFT 2.4″: классическая аркада своими руками
- Превратите MIDI-клавиатуру в интерактивного репетитора по фортепиано с Arduino, LED-лентой и MuseScore
- Find Me: Умный поисковик вещей на Arduino и Bluetooth