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
と打ち込んでエンター。多分パスワード聞かれるので入力してエンター。
そして、上の画像の赤い部分をジャンパーピンでショートさせた状態で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デバイスにする手順の説明でした。