こんにちは、ナチュロボです。マインドストーム、8記事目でございます。前回の記事では、5.sensorの初回ということで、タッチセンサとモーションを組み合わせて遊びました。
今回は2種類目のセンサ、カラーセンサを使っていきます!
目次
カラーセンサと3つのモード
カラーセンサ、Tribotの左側に装着しています。調べてみるとなんとこのカラーセンサ、3種類の使い方ができるようですね!機能についてブロックを確認しながらみていきましょう。
タッチセンサと同様、カラーセンサも待機ブロックの機能を使います。そのうち、「比較」「変化」があるのですが、まずは「比較」を選びます。そして3つのモード、出てきました!
1. 色
カラーセンサの前に置かれた物体の色を観測します。比較対象の色と比べて、同じかどうか、判断するようです。カラーセンサからは、3種類の色?が同時に照射されるようです。
選べる色は1~7の7種類(黒、青、緑、黄、赤、白、茶)。0は、これらの色のどれでもないときを示すときに使うようですね。
2. 反射光の強さ
ライントレースに適したモードのようです。このモードにすると、カラーセンサから赤色のLEDライトが照射されるので、その反射をみるようです。
強さは1~100の値を指定して、それより大きいか、小さいか、等の条件を設定できるようですね。
3. 周辺の光の強さ
これは周辺の光の強さを測定するモードです。この場合は青色の光がでるようですね。
ではまずはこの3つのモードのうち、「色」モードを使っていきます!後のモードは後日のお楽しみにとっておくことにします。ムフフ。
青だったらYes, それ以外だったらNoと音を鳴らすプログラム
よし!ということで事前学習はバッチリ!です。ではでは、以下のブロックをさっそく本に従って作りました!
今回は初めて、「スイッチ」ブロックを使います!このブロックの「カラーセンサー」→「測定」→「色」を選びます。続いて色の選択。
上の部分と下の部分で違う色をそれぞれ選びます。上は「黒」にして、下は「青」にします。そして…
そして、空いていた上下の空間の2か所に、サウンドブロックを入れます。上のサウンドブロックは「No」、下のサウンドブロックには「Yes」をいれます。
これでカラーセンサで青かどうかを判定するプログラムの出来上がりです!
なお、上部分は黒にしていますが、もし青でも黒でもない場合は、デフォルトの設定で上の部分(つまり黒)にスイッチされるようですね。
青で「Yes」と言ってくれたら成功
身近に青くて平らなものがなかったので、EV3 brickの白い箱に青の折り紙を張ってみました。はてさてちゃんと識別してくれるのでしょうか?動画をどうぞ。
おお、うまくいきました!ちょっと音声がわかりづらいかもしれませんが、何もないときは、「No」、青の紙を前に置いているときは「Yes」と言ってくれていますね。
カラーセンサにタッチセンサを組み合わせ
上のプログラムでは、判定させる度に、プログラムを実行ボタンを再度おす必要がありました。ではこのプログラムを改良し、タッチセンサを押すと再開、という無限ループのプログラムに変更してみます。
周りを囲むようにループブロックを配置。そしてループブロックの次には、タッチセンサの反応のための待機ブロックを配置しています。
つまり、タッチセンサが反応→色を判定→青だったらYes(その他だったらNo)、以下無限ループ、という流れのプログラム・動作になっているはずです。
以下が、動作させてみた動画です!さぁどうなるでしょうか。
おぉ、青、そして青以外を3回ずつそれぞれ実行してみて、ちゃんと正しく色を判定することができました!
今日の感想、そして次回
以上、カラーセンサを使って色を判別してみよう!の記事でございました。センサで色が判別できると、特定の色だけに従って進み続ける、とかの動作もできそうですね!わくわく。
今回はセンサメインの内容でしたが、次回は、カラーセンサを使った動きを実験してみます。
それでは、また!
ナチュロボより