6.黒線を見つけろ!ライントレースプログラム
Maqueenの左右2つのラインセンサーは、赤外線の反射を利用して、黒が0、白が1、と判断します(車体表面の青色LEDも連携して点灯します)。
下写真Aのように直進の道路に沿って進む場合は、ラインセンサー左右が黒線「0」の上にあります。このとき、モーター左右の回す速さは同じ値にして、まっすぐ走るようにします。
写真Bは左カーブに進入したところです。
ラインセンサー左は黒線「0」の上にありますが、ラインセンサー右は白「1」の状態です。
このまま直進だと道路から外れてしまいますので、このときは左方向に動きを修正します。
写真Cも同様です。
左に道路からはみ出たときは、右方向に動きを修正します。
黒線を走るための必要な条件と処理を、次にまとめました。
A.もし、ラインセンサー左が黒 かつ ラインセンサー右が黒 なら
左右のモータを前に回す ・・・ 直進する
B.もし、ラインセンサー左が黒 かつ ラインセンサー右が白 なら
右のモータを前に回す
左のモータを止める ・・・ 左へカーブする
C.もし、ラインセンサー左が白 かつ ラインセンサー右が黒 なら
右のモータを止める
左のモータを前に回す ・・・ 右へカーブする
A,B,Cの道路状態の時のプログラムを、次のようにしてみました。
サーキットコースで、走りをためしてみましょう。
モーターを回す速さを、もっと速くしてみましょう※6。
実はもうひとつ、センサーの条件と、その時の動きの処理が抜けています。
D.もし、ラインセンサー左が白 かつ ラインセンサー右が白 なら
右のモータを どうする?
左のモータを どうする?
道路から完全にはみ出したときの処理がないので、Maqueenは暴走してしまいます。
さて、どうしましょうか。
*6 処理速度がプログラム実行に影響する場合は、プログラムの形が変わると結果が異なることがあります。