レーザーポインタで絵描きたいなーと思ってArduinoをいじってみたので最初の設定なんかをまとめました。
flash-モーターでポインタ動かす-webカムで撮る-flashでレイヤー効果(明)でdrawとか、露出開けっ放しで撮った感じ目指して。

まずArduinoをFlashで動かすのに必要なもの
・Arduinoに転送しておくfirmata
・firmataをコンパイル・転送するためのArduino
・SWFとArduinoの橋渡しをするserproxy or funnel
・Flash,ASのライブラリ

まずfirmataですが、バージョン1とバージョン2があり、バージョン1はArduino 0011以前用、バージョン2はArduino 0012用です。いまArduino公式みると0012が正式リリースされているので、firmataはバージョン2を使っていきます。


次に橋渡しのためのserproxyかfunnel。これはSWFを開くよりも先に起動しておきます。
funnel公式
as3glue(serproxyが入っています)

どちらでもいいのですが、COMポートが多いPCの場合にserproxyは少し手を
加えなければいけない
ので、さくっと試せるfunnelにしました。
ノートPCの人はbluetoothがかなり数取ってたりするので注意です。

funnelのバージョンは008と009betaがあり、008はfirmata ver1向け、009はfirmata
ver2向けなので009のほうを使います。サンプルコードはよく008だったりしますが
今回はfirmata ver2にしたかったので。


そしてfirmataですが、今回はレーザーポインタ自体を物理的に動かしたかったので、
サーボモータを動かすための機能がサポートされたver2を使います。
ver1でもライブラリ追加したりしていけるようですが、0012が正式版なのにそこで
がんばる必要はないようです。
Arduino0012にもStandardFirmataはありますが、as3glueの中に修正版(たぶん)の
StandardPlusServoFirmata2というものがあるのでそちらにしました。as3glueに入って
いたものですが、funnelで接続しても動作します。


で、試してみたのですが、サーボモータの反応がにぶい。。動くことは動きますが
ペンにあわせてスムーズにはいきませんでした。
現在サーボ機能についてはfirmataもfunnelも追加中のようなところがあるので、
もう少し様子見てみます。先に動かすハード側を作っておきます。
でもデジタル・アナログの入出力関係は安定して動作するのでいろいろ遊べると思います。

今回使ってたサーボはこれ。もう少しいいのを使うと結果かわるかもしれません。


KAYACでは、オモチャが大好きなFlasherを募集しています!!

HTML5飯