irobotのRootで線を辿って消すプログラムを作る方法

Left Caption

Rootを買ったはいいけど、基本的な動きしかできない。

という人結構いますよね?

Left Caption
四角を描くくらいしかできん

それもそのはず、ネットで探してみても基本的な使い方を書いている記事は見つかるけど、応用の使い方を書いている記事は見つかりません。

そのため、自分で考えださないといけません。

今回の記事では、僕が考えた「Rootで線を辿って消していく」という応用の使い方を紹介したいと思います!

 

線を辿る

Rootでプログラミングをした人ならわかると思いますが、「線を辿る」というコマンドは存在しません。

Left Caption
自分で作れってこと?
Left Caption
そういうことです。

線を辿るわけですから、「色をスキャンしたとき」のブロックを使うのはすぐにわかります。

ではこのコマンドをどう使えば線を辿ることができるでしょうか?

Left Caption
これが分かるかどうかが
4流と3流の分かれ目

 

線を辿るプログラム

線を辿るために必要なことはこの3つです。

  1. 色センサーの感知する箇所を限定
  2. 後退する
  3. 回転する

 

1.色センサーの感知する箇所を限定

結論から言うと、色センサーを端の部分だけ感知するように設定します。

そうすると、線からずれて走行した時だけ線を感知することができます。

 

2.回転する

線を感知した時に、

左端で感知→左回転

右端で感知→右回転

こうすることで線を辿るようにできます。

僕が作ったプログラムでは30度回転するようにしているので、ぐるっと曲がった線を辿る場合、何度も切り返すことになります。

もっとどんどん切り替えしていきたい人は回転する角度をもっと大きくしましょう!

 

3.後退する

色を感知→回転だけだと、回転後にもう1回色を感知してしまうことがあります

なので、色を感知したら2㎝後退(-2㎝進む)した後に回転するようにしましょう!

そうすると、もう一度色を感知することはなくなります。(体験談)

 

僕が作った線を辿るプログラム

一応答えのプログラムを載せておきます。

※ライトや音はRootが自分で考えて動いてる雰囲気を出すためのものです。

線を辿るだけなら必要ありません。

雰囲気を出すためのプログラム・普通にたどる時→緑

・線を感知して向きを変える時→赤

・ゴール(赤のマーク)したとき→青

・ゴールした時は機械語で「ゴールです」としゃべる

無駄だけど、線にいちいち反応してかわいい。

Left Caption
生きものみたいに見える

進む速さ、回転する角度、後退する距離などを工夫してゴールまで最速で行けるようにチャレンジしてみましょう!

友達とレースをしてみるのも楽しいかもしれませんね!

Rootが1台しかなくても、プログラムをそれぞれ作ればレースはできますよ!

 

まとめ

色センサーの応用編はどうでしたか?

他にも色んなプログラムを紹介してるので見て行ってくださいね!

雑記

Posted by カッパ