昨日、超音波センサー(一昨日浅草ギ研から届いた”PING)))”下図)のテストをしました。
今回の問題点は方位センサーの情報と超音波センサーの情報を1つの通信でRCXに送ることでした。そのために以前の方位センサー用のプログラムに超音波センサーのプログラムを追加し、新しい送信プロトコルを導入しました。
とりあえず送信プロトコルについては即OKだったのですが、超音波センサーを使用すると最初の測定でフリーズしてしまいました。
判明した原因は超音波センサーの次の測定までに必要な時間にありました。
このPING)))は次の測定まで200usセンサーに測定命令を出してはいけないことになっています。それと同じように超音波センサーの電源を入れてから最初の測定までも待たないといけない時間があったようです。
しかし、最初に僕がつくっていたプログラムは
①タイマーやIOポートの初期設定(使用時間:200us以下)
↓
②超音波センサーで距離を測定(使用時間:最低470us)
↓
③方位センサーのチェック(使用時間:1ms以上)
↓
④②に戻る
となっており超音波センサーの電源を入れてから最初の測定まで200us待っていないことになります。
そこでただ待つのは持ったないので
①タイマーやIOポートの初期設定(使用時間:200us以下)
↓
②方位センサーのチェック(使用時間:1ms以上)
↓
③超音波センサーで距離を測定(使用時間:最低470us)
↓
④②に戻る
に変更することにより解消されました。
とりあえず明日からはRCX側のプログラムを作成していきます。
by 52期サッカーチームキャプテン
RSS feed for comments on this post. TrackBack URL
初めまして私もロボットに興味がありまして、よくブログを拝見させて頂いてます。
皆さん頑張って下さい。
コメント by T.titi — 2006年4月5日 @ 22:50
ありがとうございます。
そう言っていただけると、書いてる私たちも励みになります。
これからも応援よろしくお願いします。
コメント by 52期レスキュー班チームリーダー — 2006年4月6日 @ 00:10