電子趣味の部屋

電子系のガジェットやアプリ開発等の趣味の話題を書いてます

ArduinoでMIDIプログラミング

久しぶりに電子工作のネタです。
arduinoというAVRを使ったオープンアーキテクチャがあり、これを使うと手軽に電子工作を始めることができます。
この規格にピン配置を合わせてシールドと呼ばれる追加モジュールが発売されたり、個人で製作されています。

今回は大容量のArduino Mega 2560MIDI Shieldで遊んでみました。
今回はsparkfunから直接購入しましたが、国内ではスイッチサイエンスから購入できます。

開発ツールはDownload the Arduino Softwareより入手できます。
Windows,OSX,Linuxに対応してます。

いくつかサンプルコードが付属しているので、開発ツールを起動し、File>Examples>4.Communication>MIDIMIDIを操作するサンプルコードを読み込みます。
そのまま実行するとエラーになるので、32行目の"intnode"を"int node"とスペースを入れてください。
このコードはインクリメントしながらMIDIのノード番号を送ります。

以前紹介したLINE6 MIDI Mobilizer MIDI MOBILIZERを使ってiPhoneと接続し、bs-16iMIDIデータを演奏してみました。


無事にMIDIデータの送受信に成功し、音も鳴りました。
このMIDI SHEILDにはIN/OUT両方あるので、シーケンサ等を自作すると面白いでしょう。

コードを見ればわかるようにMIDIの送受信はシリアル通信です。
このようにarduinoには基本的な入出力のファンクションが用意されているので、複雑なピンの定義や前準備の処理をすることなく手軽に電子工作を楽しむことが出来ます。