2011年4月6日水曜日

Arduino と PC の連携

Firmata 入門では、Standard Firmata を使ったUSBシリアル通信を紹介した。
次にEthernet シールドを使った通信を紹介するが、その前にメリット・デメリットを簡単に説明する。


i) USB シリアル
メリット:PCから電源がとれる。追加のハードウェア不要。
デメリット:ケーブル長は最大5m

Arduino のシリアルはUSB<>シリアル変換なので、ハードウェア的にはUSB と同等。
USB は規格上 5m が上限だが、10m くらいのケーブルもある。
(USB ハブやリピーターケーブルなどを使って延長することもできるが、手軽さは半減。)
Firmata は常に通信してポートの状態を読むので、PC 側の負荷が気になる。


ii) Ethernet
シールド1
シールド2
メリット:長く延ばせる(規格上は100m)
デメリット:電源が必要、シールドが高価。

OSC ライブラリを使って、直接Quartz Composer やPureData などのプログラムと通信することができる。
小型のWiFi ルーターと組み合わせて無線にすることもできるが、やや大掛かりになってしまう。
WiFi シールドがあると良いのだが、現時点では存在しない。


iii) MIDI
シールド1
シールド2
メリット:MIDI 機器と直接連携できる
デメリット:電源が必要、PC 側にもUSB - MIDI などのインターフェイスが必要

MIDI は古い規格だが、対応ハード・ソフトが多いので現役で使える。ケーブル長は規格上15mまで。


iV) その他
Arduino での無線通信は、XBee を使うのが一般的。
ペアでそろえると結構な値段になるため、いままで避けていたが、今年は挑戦してみたい。

0 件のコメント:

コメントを投稿