情報源
- dualMocoLUFA 公式
- Windows でのファームウェア書き換え方法
- Arduino Uno 公式
- Arduino 公式ファームウェア書き換え方法
- Arduino 公式 MocoLUFA 紹介文
- dfu-programmer 公式
環境
ファームウェアの導入
ファームウェアの hex ファイルは dualMocoLUFA 公式 に置いてあるので、あらかじめダウンロードしておく。
まずはファームウェア書き換え用プログラム dfu-programmer を Homebrew 経由でインストールする。MacPorts からもインストール可能なようだ。
$ brew install dfu-programmer
Arduino を USB で接続。
DFU リセットをかける。すなわち、USB に一番近い2本のピンをショートさせて、離す。(ショートさせるピンの位置は下の画像を参照)。
型番リストは dfu-programmer 公式 にあるので、Arduino 上の USB ジャックに近い IC に書かれている型番を読んで適切なものを選ぶ(上の画像の、ショートさせているピンの左下にある IC がそれです。私のは atmega16u2 でした)。
というわけで、一度ファームウェアを消去し、書き込み、リセットする。
$ dfu-programmer atmega16u2 erase $ dfu-programmer atmega16u2 flash dualMoco.hex Validating... 5638 bytes used (45.88%) $ dfu-programmer atmega16u2 reset
Arduino をコンピュータから外す。
これでファームウェアの導入は完了である。
テスト
書き込むとき
下の画像を参考に、ピンをショートさせる。この状態を維持したままにすると、Arduino へスケッチを書き込むことができる。
適当にドレミを送るスケッチを書いて、書き込み。
#include <MIDI.h> int notenumber[8]={60, 62, 64, 65, 67, 69, 71, 72}; int i; void setup(){ MIDI.begin(); } void loop() { for(i=0; i<8; i++){ MIDI.sendNoteOn(notenumber[i], 100, 1); // Velocity=100, Channel=1 delay(500); // bpm=120 MIDI.sendNoteOff(notenumber[i], 100, 1); } }
書き込んだら USB を外し、ショートさせていたジャンパを外して再度接続。
DAW かなにかを開いて、MIDI 信号が来ていることを確認。
デバイスは MIDI/MOCO for LUFA という名前で認識されました。iPad のシンセも鳴らすことができました。神かな?
それにしても超簡単やな……。MIDI シールドなんていらんかったんや! 製作者様ありがとうございます!!