ロボジョイちゃれんじ教室

9-1 TETRIX入門

第7回目「センサーを取り付ける2」

  • Page:
  • 1
  • 2
  • 3

◆ラインを検出したら止まる

続いてLabVIEWを使って、プログラムを作ります。
段階を踏んで、ラインを検出して停止するだけのプログラムを作ってみました。 こちらがそのプログラムです。
一番外側の四角いワクは「Whileループ」といって、囲みの中の処理を繰り返すためのものです。
内側の2つの四角いワクは「ケースストラクチャ」といいます。条件が正しい場合には「TRUE」、条件が違う場合には「FALSE」と書かれた囲みの中を実行します。これは本来は1個のワクで済ませることができるのですが、片方のプログラムが隠れてしまうので、あえて2個使って表現しています。
プログラムの動作は次のようになります。
・センサーの値が30より小さい(黒)場合、停止。
・センサーの値が30以上(白)の場合、前進。

下準備として、「回路図エディタ(Schematic Editor)」を使って、EV3カラーセンサーのモードを「反射」にしておきます。

使用するのは「反射光を読み取り」というアイコンです。 NXT用にも同じようなアイコンが存在するので、間違って使わないようにしましょう。写真の赤丸で示したほうを使いましょう。

「反射光を読み取り」アイコンの使い方については、詳細ヘルプが参考になります。それによると、反射光の大きさは0~100の範囲で検出できるようです。

それではプログラムを動かします。
うまくいけば、写真の丸の地点でロボットが止まるはずです。

実行すると、ロボットがゆっくりと動き出し、ラインの上で止まりました。成功です。
ちょっと黒線からオーバーランしていますが、これはモーターを止めてから惰性が働いてしまったためです。NXTやEV3用のモーターはエンコーダを使って、自動的に回転を戻しているのですが、このTETRIXのモーターにはエンコーダはありません。

  • Page:
  • 1
  • 2
  • 3