MacでArduinoをUSBMIDIデバイスにするまで

初心者にはなかなか高いハードルでしたよこれが。

とりあえずマイコン入門のLED制御はできたので、
いきなりやりたい事のMIDIパーカッション制作に
チャレンジしようと思う。

まずは調査だ。
Arduino MIDI」で検索すると
MIDI制御用のライブラリどころか
USBMIDI機器として認識させる方法まであるのか!
それがあればMIDIケーブルじゃなくてUSBでつなぐだけで
使えちゃうからそっちの方がいいな!

え?ファームウェア書き換えってなにそれ?

その後やった事
(記憶で書いているので抜け、間違いなどあるかも)

1、Xcodeのインストール
2、Xcodeコマンドラインツールのインストール
3、MacPortsのインストール
4、dfu-programmerのインストール
5、ArduinoをDFUリセット
6、atmega16u2をdualMocoLUFAに書き換える
7、完成!

…ってこれ見ただけでわかる人はこの記事を読まないので、
ひとつずつひも解いていこう。

とても参考になったサイト
Arduino公式のDPU書き換え方法説明
Macports
morecat_lab
Arduino に dualMocoLUFA(USB-MIDI ファームウェア)を導入

1、Xcodeのインストール

XcodeはMac用の開発ツール。
AppStoreから無料でインストール出来る。
古いOSには対応していないので、その場合は
Apple Developer登録をしてApple Developerから
ダウンロードする必要がある。

2、Xcodeコマンドラインツールのインストール

XcodeのPreferensesからDownloadを選んで
Command Line Toolsをダウンロード、インストール。
>20150501xcode
この後Xcodeを起動する事は無い。

3、MacPortsのインストール

Macportsのサイトよりダウンロード、.pkgファイルで
インストール。OSのバージョンに気をつける事。

4、dfu-programmerのインストール

ユーティリティにあるターミナルを起動して
「sudo port install dfu-programmer」とタイプ
アカウントパスワードを入れて問題なければインストールが進むはず。
手元の環境ではインストールされるdfu-programmerの
バージョンは0.6.2。

ArduinoをDFUリセット

20150501ard1
Arduino上にある丸で囲まれた所にジャンパーピンをさして
(ショートさせて)USBでMacに接続、認識されたら
そのままジャンパピンを抜く。

6、atmega16u2をdualMocoLUFAに書き換える

Midi Firmware for Arduino Uno (Moco)をダウンロード
中にある「dualMoco.hex」をターミナルで表示されている
パスの所にコピーする。(標準だとアカウントのホームディレクトリ直下)
20150501path
ターミナルを起動して
dfu-programmer atmega16u2 erase
dfu-programmer atmega16u2 flash dualMoco.hex
dfu-programmer atmega16u2 reset
の順に実行。
上からファームウェアの削除
ファームウェアをdualMoco.hexに書き換え
リセット
です。

※dualMoco.hexの場所は、パス移動や指定を
省略するためなので、わかる人は適当な場所に
置いて実行すれば問題ないはず。

7、完成!

一度Arduinoを抜いて、再度さすと
USB-MIDIデバイスとして認識されているはず。
手持ちのDAWで確認してみよう。
20150501midi

今後、これをUSB-MIDIデバイスではなく
普通のArduinoとして認識させる(プログラムを書き換える時等)には
20150501ard2
ジャンパーピンをこのようにさして一度USBケーブルを抜き差しする。

と、いかにもわかっている風に書いてみたが、
全ては上にあるとても参考になったサイトの方々の
おかげ。本当にありがたい事です。

さて、次からはいよいよプログラムするよ!
Arduino de MIDI楽器 まずは音を出せるようになろう

〈 Arduino 〉Arduino UNO

〈 Arduino 〉Arduino UNO
価格:3,326円(税込、送料別)

作成者: necobit(ねこびっと)

音楽と電子工作でMIDI寄りものづくりをするユニット。MIDI制御基板の開発・販売、製品作例として自動演奏化楽器の展示・音とメカのパフォーマンスを行なっています。

5件のコメント

  1. この処理をするともしかしてこれ以降スケッチをアップロードできなくなりますか?

ArduinoでMIDI信号を電圧に変換せよ! | へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください