2016年2月7日日曜日

IchigoJamで遊ぶ その9 IchigoStorms2 + Pixy Camera

 そろそろネタが尽きてきた感のある IchigoStorms2ですが・・・、今回はMindsensor社から海外通販でPixy Cameraというのを取り寄せたので、これを試してみたいと思います。



 このPixy Camera は一見パーツむき出しのWebカメラみたいな感じですが、NXPのプロセッサが載っていて、単体で色検出やパターン(形状)検出を行えるようになっています。ちなみに価格は69ドルくらいです。
 わりと可愛い感じのパッケージに入っています。


 今回は通販の送料もかかるので、LEGO用アダプタも一緒に注文しましたが、


 IchigoStorms ではLEGOアダプタは使いません。


 このPixy Camera は設定で色々なインタフェースに対応できます。SPI、I2C、UART、LEGO用I2C(っていうのがあるってことは、LEGOのI2Cはやっぱり独自仕様ってことか・・・)に対応する他、アナログ電圧出力まであります。今回はIchigoJamで一番扱いやすそうなアナログ電圧出力(検出した最大の対象のX軸をアナログ電圧でリニアに出力)をANA(0)端子で拾います。

 前回のタンクのEV3 Sensor Adaptor for NXT + EV3 超音波センサ を Pixy Camera に載せ替えて、 




 手近にあった名刺入れがはっきりとした赤色だったので、これを棒の先にくっつけてターゲットに。


 ソースは以下の通り。110円のマイコンに69ドルのセンサっていうのもどうかと思いますが、ロボット向けの画像処理が簡単にできてしまうPixy Cameraはなかなか面白いです。
10 CLT:CLV:A=#64:B=#65:C=#67:D=#68:E=0:F=0:S=512
20 L=0:R=0:gosub 110
99 goto 410
100 ' Set motor speed.
110 E=-R:F=-L
150 if E<0 then O=1 else O=2
160 if E=0 then O=0
170 O=O+(ABS(E)-5)<<2
180 if F<0 then P=1 else P=2
190 if F=0 then P=0
200 P=P+(ABS(F)-5)<<2
270 poke #700, 0, O, P
280 I=i2cw(A,#700,1,#701,1)
290 I=i2cw(B,#700,1,#702,1)
320 return
400 '
410 if IN(4)=0 goto 490
420 S=ANA(0)
430 if S<340 goto 460
440 if S<680 goto 470
450 goto 480
460 L=50:R=-50:gosub 110:goto 410
470 L=50:R=50:gosub 110:goto 410
480 L=-50:R=50:gosub 110:goto 410
490 L=25:R=-25:gosub 110:goto 410

0 件のコメント:

コメントを投稿