7.もうひとつのプログラム
「道路からはみだしたとき」の暴走解決の方法を考えてみます。
また、道路を見つける方法も、Maqueenの動き方動き方も同じでなのですが、プログラムを少し直して道路状態の判断方法を変えます。

おさらいになりますが、Maqueenは車体裏面のラインセンサーを使い、赤外線の反射を利用して道路を見ています。
左右をそれぞれ0か1で判断してもよいのですが、計算式※7によって、道路の状態を判断するようにします。
道路の状態 = 左の値 + (右の値×2)
0 = 0 + (0×2) 左右とも黒 0:0 ・・・・ 道路上
1 = 1 + (0×2) 左が白、右が黒 1:0 ・・ 右カーブ
2 = 0 + (1×2) 左が黒、右が白 0:1 ・・ 左カーブ
3 = 1 + (1×2) 左右とも白 1:1 ・・・・ 道路から逸脱
道路状態を一桁で判断するので、プログラムがシンプルに書ける様になります。
0 : 00
1 : 01
2 : 10
3 : 11 ・・・・ 二進表記になっている!
*7 ブロックの式はわかりにくいのですが、つぎを表しています。
道路の状態 = (ラインセンサー左の値 + (ラインセンサー右の値 × 2 ) )
ブロックで作ると、つぎの式と間違いやすいので、注意しましょう。
( ( ラインセンサー左の値 + ラインセンサー右の値 ) ×2)
参考講座
・「小学1年生〜3年生向け講座(2023/11/26)」
・「小学4年生〜中学3年生向け講座(2023/10/14)」