7.もうひとつのプログラム
もう一つのライントレースプログラムを考えてみました。
道路を見つける方法も、Maqueenの動き方動き方も同じですが、プログラムが異なります※6。
また前章では省略した「道路からはみだしたとき」の動きを追加しました。道路からはみだしたときは、停止するようにしています。
このプログラムでは道路の状態を、「0、1、2、3」の値で区別しています。これは、ラインセンサーの左右の値から、計算式によって求めます※7。
道路の状態 = 左の値 + 右の値×2
0 = ラインセンサー左右とも黒 (0 + 0×2 = 0) ・・・道路上
1 = ラインセンサー左が白、右が黒(1 + 0×2 = 1) ・・・右カーブ
2 = ラインセンサー左が黒、右が白(0 + 1×2 = 2) ・・・左カーブ
3 = ラインセンサー左右とも白 (1 + 1×2 = 3) ・・・道路からはみ出た
*6 処理速度がプログラム実行に影響する場合は、プログラムの形が変わると結果が異なることがあります。
*7 ブロックプログラミングで表す式はわかりにくいのですが、つぎのを表しています。
どうろのじょうたい = (ラインセンサー左の値 + (ラインセンサー右の値 × 2 ) )
ブロックで作ると、つぎのような形になりやすいので、注意しましょう。
( ( ラインセンサー左の値 + ラインセンサー右の値 ) ×2)
参考講座
・「小学1年生〜3年生向け講座(2023/11/26)」
・「小学4年生〜中学3年生向け講座(2023/10/14)」
この教材は「Creative Commons — CC BY-SA 4.0」の下に提供されています。