ライントレースをしてみましょう
その1は三つの迂路グラムを書きます。三つがそれぞれ動いて動作を考える。
でも上の方が優先されるようです。
こんなの僕は初めてですが、並列処理と言うそうです。
準備
まず、マクイーンをつかえるように拡張機能からMaqueenを選んでください。
すると
maqueenがあらわれ、使えるようになります。
マクイーンのセンサー
マクイーンの下側にセンサーが二つ並んでついています。これが下が黒いか白いか調べるセンサーです。
「ラインセンサーの下側が白のとき」なんていう命令がありますのでこれも使えそうですが
ラインセンサー左の値というのを使ってみます。
この値が1なら下が白、おなら下が黒です。
プログラム その一
こんなのを作ります下の説明を見ながらプログラムしましょう
ここでプログラムを考えます
マクイーンの下に右側のセンサーとひらり側のセンサーがあるのを見てください。
ここで場合を考えます
右側のセンサー | 左のセンサー | ||
黒 | 黒 | このときは前に進む |
前に進みましょう
右側のセンサー | 左のセンサー | ||
黒 | 白 | このときは少しもどって右に曲がる |
少しもどると、タイヤの下がどちらも黒になります
もどりながらすこし右へ曲がれば良いですね
右側のセンサー | 左のセンサー | ||
白 | 黒 | このときは少しもどって右に曲がる |
少しもどると、タイヤの下がどちらも黒になります
少しもどりながら左に曲がると良いですね。
右側のセンサー | 左のセンサー | ||
白 | 白 | このときは少しもどって・・どうしよう |
これでプログラムを組みましょう
まず、黒黒のとき
右側のセンサー | 左のセンサー | ||
黒=0 | 黒=0 | このときは前に進む |
このときはまっすぐ進めば良いですね
次に黒白のとき
右側のセンサー | 左のセンサー | ||
黒=0 | 白=1 | このときは少しもどって左に曲がる |
右側のセンサーを後ろに少し回して、左のセンサーを後ろにたくさん回せば良いですね
そうすると戻りながら左に曲がる
次に白黒のとき
右側のセンサー | 左のセンサー | ||
白=1 | 黒=0 | このときは少しもどって右に曲がる |
左側のセンサーを後ろに少し回して、右のセンサーを後ろにたくさん回せば良いですね
次に白白のとき
右側のセンサー | 左のセンサー | ||
白=1 | 白=1 | このときは少しもどって右に曲がる |
まっすぐもどっても、又前に進めば白白になってしまう。
マヘへ行ってもどって前へ行ってもどって、繰り返しても仕方ないので、方向、お変えます。
左側のセンサーを後ろにたくさん回して、右のセンサーを後ろに少し回せば良いですね
またはその逆でも良いですね
このプログラムを一つにします
前に障害物(しょうがいぶつ)があったらタイヤを止めます。でも、これはこまる。
たとえ障害物があったら止まる、と言う命令をつけても
下のセンサーが、前に進めと命令を出したらどうでしょう
2つの命令が重なってメークイーンは困ってしまう。
そこで一つのプログラムにします
まず距離センサーが10dmmになったらタイヤを止めるという命令を書きます。
これが真っ先に実行されます
次に赤い矢印を5回押して次のようにしましょう。
(-)を押せば消すことも出来ます。
途中(とちゅう)の(ー)をおして
[でなければもし()なら]を3つ、最後に「でなければ」を1つ並べましょう。
こうして4つの条件のときの動きを一度に設定することが出来ます。
つぎに最初に作ったプログラムをここへ上手くはめ込んで下のようにしてみてください。
これで、プログラム完了です
最後は、両方のセンセーがしろならば、という条件がありません。
この方が例外が無くなりますので、いろいろなプログラムを書くときは、このほうが普通です。
案外うまく進みました。
まだ改訂の余地があります。
ライトもつけようかな
どこかへ、ライトをつける命令をつけ加えてみたください。
もう一つのプログラム