という人結構いますよね?
それもそのはず、ネットで探してみても基本的な使い方を書いている記事は見つかるけど、応用の使い方を書いている記事は見つかりません。
そのため、自分で考えださないといけません。
今回の記事では、僕が考えた「Rootで線を辿って消していく」という応用の使い方を紹介したいと思います!
線を辿る
Rootでプログラミングをした人ならわかると思いますが、「線を辿る」というコマンドは存在しません。
線を辿るわけですから、「色をスキャンしたとき」のブロックを使うのはすぐにわかります。
ではこのコマンドをどう使えば線を辿ることができるでしょうか?
4流と3流の分かれ目
線を辿るプログラム
線を辿るために必要なことはこの3つです。
- 色センサーの感知する箇所を限定
- 後退する
- 回転する
1.色センサーの感知する箇所を限定
結論から言うと、色センサーを端の部分だけ感知するように設定します。
そうすると、線からずれて走行した時だけ線を感知することができます。
2.回転する
線を感知した時に、
左端で感知→左回転
右端で感知→右回転
こうすることで線を辿るようにできます。
僕が作ったプログラムでは30度回転するようにしているので、ぐるっと曲がった線を辿る場合、何度も切り返すことになります。
もっとどんどん切り替えしていきたい人は回転する角度をもっと大きくしましょう!
3.後退する
色を感知→回転だけだと、回転後にもう1回色を感知してしまうことがあります。
なので、色を感知したら2㎝後退(-2㎝進む)した後に回転するようにしましょう!
そうすると、もう一度色を感知することはなくなります。(体験談)
僕が作った線を辿るプログラム
一応答えのプログラムを載せておきます。
※ライトや音はRootが自分で考えて動いてる雰囲気を出すためのものです。
線を辿るだけなら必要ありません。
・普通にたどる時→緑
・線を感知して向きを変える時→赤
・ゴール(赤のマーク)したとき→青
・ゴールした時は機械語で「ゴールです」としゃべる
無駄だけど、線にいちいち反応してかわいい。
進む速さ、回転する角度、後退する距離などを工夫してゴールまで最速で行けるようにチャレンジしてみましょう!
友達とレースをしてみるのも楽しいかもしれませんね!
Rootが1台しかなくても、プログラムをそれぞれ作ればレースはできますよ!
さらに速く線を辿る方法
線を辿るプログラミングを子供とやっていたところ、さらに速く辿る方法を子供から教えられました。
カッパJr.が考えたプログラムがこちら。
×下がって回転する
〇そくどをセットの左右の車輪の速度を変える
こうすることで、線を感知した時にいちいち止まらずに進むことができるようになりました!
そして、センサーをもっと細かく分けて設定することで、もっと滑らかなカーブを描くことができています。
左端のセンサー:ひだり0、みぎ10
左端から2番目のセンサー:ひだり3、みぎ10
真ん中:ひだり10、みぎ10(まっすぐ)
凄い。
まとめ
色センサーの応用編はどうでしたか?
他にも色んなプログラムを紹介してるので見て行ってくださいね!