>> Blog Top

ArduinoをMIDIデバイス化

Publish 2017.08.31


このブログでは当たり前のようにarduino UNO R3をMIDIデバイスとして使っていますが、その為には少し面倒臭い作業をしなくちゃいけないので、備忘録として記事にしておきます。ごめんなさいMacのみです。Linuxでも可。

まずはこちらのサイトを。
morecat_lab » Midi Firmware for Arduino Uno (Moco)

読んでも何か分からない人もいると思います。僕もそうでした。
とにかく、めっちゃ凄い人がめっちゃ便利なものを作ってくれて、それをGitHubで公開してくれてるみたいです。

大まかな手順

1.arduinoのUSBチップに書き込まれているデータを消去(このデータはPCにarduinoをarduinoだと認識させる為のデータ)

2.消去したデータの代わりに上述した凄いデータを書き込む(このデータはPCにarduinoをMIDIデバイスとしても、arduinoとしても認識させることができる)

めっちゃアバウトですがこんな感じです。僕も専門の人間じゃないんで詳しいことはわかりませんが、使えればいいんです。

参考にするサイトはarduino公式のこちら。
Arduino - DFUProgramming8U2

このインストラクションでなにをしてるかというと、USBチップのデータを消去して書き換える手順が説明されてます。つまり上の大まかな手順と同じです。

早速始めましょう。一応自己責任ということで!

まず、こちらのGitHubページ行きます。右側に緑色のボタン(clone or download)があるんでクリック。

プルダウンメニューが開くんでDownload ZIPをクリック。

解凍します。HEXというフォルダの中にdualMoco.hexというファイルがあるんで、これをダウンロードフォルダの直下に移動させときます。

次に、ターミナルを開きます。

sudo port install dfu-programmer

と打ち込んでエンター。多分パスワード聞かれるので入力してエンター。

https://www.arduino.cc/en/uploads/Hacking/Uno-front-DFU-reset.png

そして、上の画像の赤い部分をジャンパーピンでショートさせた状態でPCにarduinoを接続します。arduinoに電源が入ったことを確認したらジャンパーピンを抜いてください。

cd Downloads/

と打ち込んでエンター。

sudo dfu-programmer atmega16u2 erase

と打ち込んでエンター。ここが大まかな手順の1です。

sudo dfu-programmer atmega16u2 flash dualMoco.hex

と打ち込んでエンター。ここが大まかな手順の2です。

最後に

sudo dfu-programmer atmega16u2 reset

と打ち込んでエンター。これで作業は終了です。PCからarduinoを外してください。

これでarduinoはMIDIデバイスとして認識されます。

試しにガレージバンドを起動してからarduinoを接続してみてください。右上にMIDIデバイス検出って出たら成功です。

注意点ですがMIDIデバイスとして認識されてる状態ではarduino IDEからコードを書き込めません。

IDEで認識させるには一旦PCからarduinoを外して、下の画像のピンをショートさせた状態でPCに接続します。さっきと違うので注意。

この状態でPCに接続するとIDEから書き込めます。試しに何かサンプルコードを書き込んでみてください。もちろんこの状態ではガレージバンドでMIDI機器としては認識されません。

arduinoかMIDIデバイスかどっちかだけです。

切り替えたい時は一度PCからarduinoを外さないといけません。

MIDIデバイスとして接続したい場合はなにもつけずに。

arduinoとしてコードを書き込みたい場合はピンをショートさせた状態で。

以上、簡単ですがarduinoをMIDIデバイスにする手順の説明でした。


>> Blog Top