Arduino のEthernet Shield を使ったOSC (Open Sound Control) 通信を紹介します。
Arduino 用のOSC ライブラリは Recotana さん作、ArdOSC というOSC ライブラリがあります。
私は昨年10月ごろまで、旧 ver (OSCClass) をバージョンアップせずに使っていたのですが、Arduino Uno 購入を機に IDE のバージョンをあげたら、使えなくなってしまいました。
IDE ver 0019 でEthernet のライブラリに変更があったのですが、ArdOSC は 2011年4月現在、その対応がされていません。
しかし、上記 ArdOSC のページのコメント欄に、旧Ver をIDE ver 0021 に対応させたものが紹介されています。
こちらをダウンロードして、IDE ver 0022 で使ってみましょう。
Arduino のライブラリは、libraries フォルダに入れて使用します。
libraries フォルダはアプリケーション本体の中か、各自のホームディレクトリに作ります。
Mac 版では、Arduino.app アプリケーション本体を「パッケージの内容を表示」し、以下の場所か、
/Applications/Arduino.app/Contents/Resources/Java/libraries
ホーム > 書類につくられるスケッチの保存場所「Arduino」フォルダの中に、libraries フォルダを作り、
~/Documents/Arduino/libraries
そこにダウンロードしたライブラリをフォルダ丸ごとコピーします。
その後は普通に Arduino IED を起動するだけです。(起動中だった場合は再起動)
File > Examples に、OSCClass 用のサンプルスケッチが増えていることを確認します。
このなかから、「Simple_Send_Arduino」を使ってみましょう。
とりあえず、コンパイル(再生ボタン) します。
エラーになるので、エラーにしたがって、Sketch メニューから SPI ライブラリをインポートします。
Sketch > Import Library... > SPI
実はこれ、ソースコードの先頭に1行追加されるだけです。
#include <SPI.h>
これで、コンパイルが通るようになります。
serverMac[] にEthernet Shield のMAC アドレス、serverIp[] にArduino のIP アドレスを入れます。
destIp[] は宛先(通常はPC)のIP アドレスを入れます。
serverPort、destPort は必要に応じて変更します。
(通信相手となるOSC 受信ポートに合わせます。)
設定が終わったら再度コンパイルし、エラーがなければArduino に転送します。
このサンプルは、OSC のアドレス /ard/test1 にfloat値2つを、1秒毎に送るようになっています。
適当なOSC 受信ソフトで受信してみましょう。
Mac のOSC 受信ソフトは別途、紹介する予定です。
Quartz Composer での受信方法は、こちらを参考にして下さい。
0 件のコメント:
コメントを投稿