光センサーを活用
光センサーを利用して、タッチセンサーのようにしようと考えました。頭の部分を手で覆うと光センサーが検知して、動作を止めてサーボオフ(標準のsit_down_pose)にすればいいだけですから、簡単です。
光サンサーを11番のデジタルポートに接続して、IN(11)でHigh/Low(1/0)のデジタル信号を変数に取り込むことができます。メンテンスプログラムの表示では3桁になっていますが、変数には1桁で入ってきます。
明るい場合は左側のようにP11が0になりLow(0)、暗い場合は右側のP11がHigh(1)になります。オープンはP10のようにHigh(1)と表示されます。
自動歩行している時に、緊急停止させたい箇所に下記のプログラムを挿入しておけば、リモコンの変わりに頭を手で覆うと繰返し動作を停止ことができます。自動モーションをスタートさせたら、バッテリ切れまで安全に自動的に動かせます。但し、欠点は暗い部屋では動作させることができなくなります。
'=======Sample==========
B=IN(11)
IF B=1 THEN
GOSUB sit_down_pose
ENDIF
'======================
なお、光センサーは抵抗分割しているようなものですから電源電圧がVcc=5V以上のVc=6.7V(バッテリー電圧)になっても問題ないので、デジタルポートでも問題はありません。
光サンサーを11番のデジタルポートに接続して、IN(11)でHigh/Low(1/0)のデジタル信号を変数に取り込むことができます。メンテンスプログラムの表示では3桁になっていますが、変数には1桁で入ってきます。
明るい場合は左側のようにP11が0になりLow(0)、暗い場合は右側のP11がHigh(1)になります。オープンはP10のようにHigh(1)と表示されます。
自動歩行している時に、緊急停止させたい箇所に下記のプログラムを挿入しておけば、リモコンの変わりに頭を手で覆うと繰返し動作を停止ことができます。自動モーションをスタートさせたら、バッテリ切れまで安全に自動的に動かせます。但し、欠点は暗い部屋では動作させることができなくなります。
'=======Sample==========
B=IN(11)
IF B=1 THEN
GOSUB sit_down_pose
ENDIF
'======================
なお、光センサーは抵抗分割しているようなものですから電源電圧がVcc=5V以上のVc=6.7V(バッテリー電圧)になっても問題ないので、デジタルポートでも問題はありません。
- 2008.03.30 Sunday
- RZ-1改造
- comments(0)
- trackbacks(0)
- by takuo1