Home > BeautoChaser > BeautoChaser #7 センサの値をモニタするよ

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くらいの数値になっていました。

kilo@WebMaster BeautoChaser , , , ,

  1. No comments yet.
  1. No trackbacks yet.