BeautoChaser #7 センサの値をモニタするよ
8 月 17th, 2009
こんにちは、きろです。
Beauto Chaserでライントレースロボット製作記その7です。
無事センサボードが付いたので、ちゃんと動作しているかプログラムで値を取得してみます。
VS-WRC003はUSB接続でシリアル通信を行うことができます。
今回は、センサのAD変換された値をシリアル通信で取得したいと思います。
シリアル通信を行うには、事前にポートを初期化しておきます。
1 2 | // シリアルポートの初期化 InitSci3(CBR_115200, even, 1); |
アナログ入力の各ポートの値を取得するには、AdRead()関数を使います。引数に入力ポートの番号を渡すと値が戻り値として得られます。
番号は0から7まで使えます。
今回は入力ポート1から5までを使っているので、0から4になります。
値を取得してシリアルポートに書き出す部分はこんな風になりました。
1 2 3 4 5 6 7 8 | void print(void) { char str[64]; sprintf(str, "%d %d %d %d %d rn", AdRead(0), AdRead(1), AdRead(2), AdRead(3), AdRead(4)); SciStrTx(str, strlen(str)); } |
これをループさせて連続で値を送り出してあげます。
あとは、プログラムを書き込んだあと、シリアル通信できるソフトウェアをつかってCOMポートを開いてあげれば、値が見れます。
黒ライン上にセンサがあるときは、70から50あたり、白部分にセンサがあるときは800くらいの数値になっていました。


最近のコメント