こんにちは、ナチュロボです!マインドストーム、9記事目でございます。前回は、カラーセンサを使ってその反応を確かめるプログラムを実施してみました。
今回も本の「5.sensor」の続編で、カラーセンサを使います。今回はカラーセンサとモーターの動き、両方を取り入れていきますよ~、それでは、どうぞ。
目次
黒い線を見つけて、止まる
ロボットをモードチェンジっ!
これまでTribot君は、前面にタッチセンサを用いたバンパーがあるモードでございました。
このバンパーをタッチセンサごと取り外し、上部に取り付けていたカラーセンサで地面をみれるように、組み換えチェーンジ!
これで、動作中に色のついたラインが手前にきたら、真っ先にカラーセンサで検知できるようになりました!
プログラム準備、実行!
カラーセンサには、3つのモードがあることは前回説明しましたね。前回は「色」機能を使いましたが、今回は、「反射光の強さ」のモードを使います!このモードが、ラインを識別するのには適しているようですね。
ではでは、「黒いラインをみつけて止まる」ブロックを作っていきましょう!
ブロックは左から順番に「直進」「センサが30以下になるまで待機(前ブロックの直進を続ける)」「30以下になったら、モーターを止める」「5秒待つ」といったブロック構成です。
二つ目のブロックの「30って何?」というところですが、これは反射光の強さの「しきい値」で、実際に現在の床の強さと、黒いラインの反射光の強さを調べて、設定する必要があります。
ロボットとPCが接続できていれば、画面右下のページで、そのときの強度を確かめることができます。
床の反射の強さが弱くて50くらい、黒のラインの反射の強さが10~20くらいだったので、しきい値はその中間の30くらいにしてみました。
このくらいの値だったらきっと大丈夫なはずです!ということでうまく動くでしょうか?動画をどうぞ。
ふぅ~、なんとかうまく反応しましたね。このしきい値設定、結構重要なようです。
ラインの中でぐるぐ~る回る
以前、タッチセンサを使って、ぐるぐ~る回るプログラムを作っていました。ではそのプログラムをカラーセンサでやってみるとどうなるか?実験してみましょう!
黒いラインフィールドを準備
まずは、折り紙等で黒いラインを用意して、床に配置します。折り紙は約2枚使用しました。折り紙好きな息子君よ、もらってしまって申し訳ない汗。
プログラム準備、実行!
基本的には、前回タッチセンサの時に作ったプログラムを流用します。
待機ブロックを、「カラーセンサ」「比較」「反射光の強さ」にして、しきい値(私の場合は30)を決定しましょう。
ではうまく動くかどうか?動画をどうぞ。
おぉ!一度もライン検知を間違ったりすることなく、ラインの中をぐるぐる、3周も回ってくれましたね!なかなかこのセンサ、いい感じで動作してくれるようです。
今日の感想
ということで、「カラーセンサ+モーターを使った動作」実験の記事でした。今回もあまりトラブルもなく、順調に動作してくれましたね。
もう一つ使っていないカラーセンサのモード、「周辺の光の強さ」も、いずれ使っていきたいですね。
ということでこれで、カラーセンサの部分は完了!ということになります。次回は「赤外線センサ」を使っていきます!
それでは、また!
ナチュロボより