カラー センサーを使用する

カラー センサーは、センサーの正面の小さいウィンドウに入る光の色または強さを検出することができます。カラー センサーは、 3 つの異なるモードで使用することができます:色モード反射光の強さモード、および周辺の光の強さモード
色モード
色モードで、カラー センサーは付近の物体の色またはセンサー付近の表面の色を検知することができます。例えば、色モードを使ってセンサー付近にある LEGO 部品の色や、紙類にある異なる印の色を検知することができます。


ヒントと豆知識
カラー センサーが色モードに設定してある時、センサーの正面の赤、緑や青の LED ライトがオンになります。
センサーは、黒、青、緑、黄、赤、白や茶の異なる 7 色の色を検知することができます。これらの色でない物体については、「色がありません」として検知するか、類似の色として検知する可能性があります。例えば、オレンジ色の物体は、どの程度オレンジ色に赤味があるかによって赤または黄として検知され、オレンジ色が暗い色調であったりセンサーからかなり離れている場合には茶や黒として検知される可能性があります。
ヒントと豆知識
物体や表面は、正確な検知のためにセンサーにかなり近づける必要があります(ただし接触しないように)。
「反射光の強さ」モード
「反射光の強さ」モードにより、カラー センサーはセンサーに入る光の強さを検知します。光の強さは、0 から 100 のパーセント単位で測定され、0 は極めて暗く、100 は極めて明るい状態です。

カラー センサーが「反射光の強さ」モードに設定してある時、センサーの正面の赤色 LED ライトがオンになります。センサーは、物体や表面の近くにある場合、この赤色ライトを物体が反射し、センサーがこれを検知します。これを利用して、表面や物体の色の濃淡を測定することができます。これは色が濃ければ、センサーに返ってくる赤ライトの反射が少ないからです。

例えば、このモードを使用して、白色の表面上の黒色の線をロボットに辿らせることができます。センサーが黒色の線をまたぐと、光の測定値はセンサーが黒色の線に近づくにつれ次第に減少してゆきます。これにより、ロボットが線にどれだけ近くにあるかを確認することができます。


ヒントと豆知識
「反射光の強さ」モードにより、センサーに入る光の量を測定します。これには、赤色 LED の反射および室内の他の光も含まれます。センサーは、外部の光源の影響を抑えるために測定対象となる表面に近い場所(ただし接触しないこと)に配置される必要があります。
「周辺の光の強さ」モード
「周辺の光の強さ」モードにおいて、「反射光の強さ」モードと同様に、カラー センサーはセンサーに入る光の強さを検出します。光の強さは、0 から 100 のパーセント単位で測定され、0 は極めて暗く、100 は極めて明るい状態です。

「周辺の光の強さ」モードにおいて、センサー正面の青色 LED ライトはオンになります。この青色ライトは、センサーが「周辺の光の強さ」モードにあることを確認するのに役立ちますが、物体がセンサーにかなり近づかないかぎり光の測定値には影響を与えません。

このモードを使って室内光の輝度を検出したり、センサーの他の光源が光る時点を検知することに使うことができます。また、これを利用して室内のライトがオンになった時点やロボットが閃光に照らされた時点を検知することができます。


カラー センサーのデータ
カラー センサーは、以下のデータを提供することができます:
データタイプ範囲備考
数値0-7色モードで使用されます。
0 = 色がありません
1 = 黒
2 = 青
3 = 緑
4 = 黄
5 = 赤
6 = 白
7 = 茶
照明 数値0-100「反射光の強さ」モードと「周辺の光の強さ」モードで使用されます。光の強さをパーセント単位で測定します。0 = 最も暗い、100 = 最も明るい。
例 1:黒色の線に到達するまで駆動(方式 1)
このプログラムにより、ロボットはカラー センサーが黒色を検知するまで駆動し、それが済むと停止します。このプログラムでは、カラー センサーの「比較 - 色」モードの待機ブロックを使って黒色検知のテストを行います。
ヒントと豆知識
カラーセンサーを下向きに付けたロボットで、このプログラムを使用する場合、ロボットは線に到達するまで駆動することができます。
例 2:黒色の線に到達するまで駆動(方式 2)
このプログラムにより、ロボットはカラー センサーが黒色を検知するまで駆動し、それが済むと停止します。このプログラムは、「カラー センサー - 比較 - 反射光の強さ」モードの待機ブロックを使って、検出された光の強さが 50 %未満になるまで待機します。
ヒントと豆知識
上記の例 1 の方式と比較すると、このプログラムでは、しきい値(ここでは 50 %)を変更することにより、必要な線の暗さを調整することができるようになっています。また、ロボットは暗い色であれば黒色でなくても、どんな色でも停止します。
例 3:室内照明がオンの場合のみ駆動
このプログラムでは、ロボットは室内照明がオンの時に駆動し、照明を切ると停止します。このプログラムは、「カラー センサー - 比較 - 周辺の光の強さ」モードによるスイッチを使って、光が 20 %より強いかどうかテストします。スイッチがモーターをオンにするかオフにするかを判断します。スイッチは、ロボットが光の変化に反応し続けるようにループ状態で繰り返されます。
例 4:検知時に「赤」、「緑」そして「青」と発声
このプログラムでは、カラー センサーが色を検知する際に、EV3 に「赤」、「緑」、そして「青」と発声させることができます。このプログラムは、カラー センサーの「測定 - 色」モードのスイッチを使用して、検知した色に応じた異なるサウンド ブロックを選択することができます。3 つの色のいずれもない場合に EV3 が何も言わなくて済むように、「色がありません」という条件を追加して初期設定として選択しておきます。
例 5:反射光メーターの表示
このプログラムは、EV3 グラフィック ライト メーターを付加します。このプログラムは、「測定 - 反射光の強さ」モードのカラー センサー ブロックを使って、反射光(0-100)を測定し、データ ワイヤーで結果を取得します。そして結果が EV3 画面の幅(178 ピクセル)にフィットするよう 1.78 倍に拡大され、塗りつぶされた長方形の幅として使用されます。このプロセスは、ディスプレイが継続的に更新されるようループ状態で繰り返されます。
ヒントと豆知識
このプログラム実行中に、色彩や明暗の異なる面の上でカラー センサーを移動してみてください。どの色が光をより反射するのかを確認することができます。
カラー センサー ブロックとモード
以下の表では、カラー センサーと併用できるすべてのプログラミング ブロックとモードを示しています。
ブロックモード使用例
待機カラー センサー - 比較 - 色センサーが選択した色の一つを検知するため待機します。
待機 カラー センサー - 比較 - 反射光の強さ反射光の強さが一定の値に到達するまで待機します。
待機 カラー センサー - 比較 - 周辺の光の強さ周辺の光の強さが一定の値に到達するまで待機します。
待機カラー センサー - 変化 - 色検知した色が変化するまで待機します。
待機カラー センサー - 変化 - 反射光の強さ反射光の強さが一定量変化するまで待機します。
待機カラー センサー - 変化 - 周辺の光の強さ周辺の光の強さが一定量変化するまで待機します。
ループカラー センサー - 色選択した色の一つが検知されるまでブロックのシーケンスを繰り返します。
ループ カラー センサー - 反射光の強さ反射光の強さが一定の値に到達するまで、ブロックのシーケンスを繰り返します。
ループ カラー センサー - 周辺の光の強さ周辺の光の強さが一定の値に到達するまで、ブロックのシーケンスを繰り返します。
スイッチカラー センサー - 測定 - 色検知された色に応じて 2 つ以上の異なるブロックのシーケンスから選択します。
スイッチカラー センサー - 比較 - 色選択した色の一つが検知されたかどうかにより、2 つのブロックのシーケンスから選択します。
スイッチ カラー センサー - 比較 - 反射光の強さ反射光の強さに応じて 2 つのブロックのシーケンスから選択します。
スイッチ カラー センサー - 比較 - 周辺の光の強さ周辺の光の強さに応じて 2 つのブロックのシーケンスから選択します。
カラー センサー測定 - 色検知された色(0-7)を測定し、数値データ ワイヤーで結果を取得します。
カラー センサー測定 - 反射光の強さ反射光の強さ(0-100)を測定し、数値データ ワイヤーで結果を取得します。
カラー センサー測定 - 周辺の光の強さ周辺の光の強さ(0-100)を測定し、数値データ ワイヤーで結果を取得します。
カラー センサー比較-色検知した色を選択した複数の色と比較し、ロジック データ ワイヤーで結果を取得します(選択した色のいずれかと一致する場合は真)。
カラー センサー比較 - 反射光の強さ反射光の強さをしきい値と比較し、ロジック データ ワイヤーで結果を取得します。
カラー センサー比較 - 周辺の光の強さ周辺の光の強さをしきい値と比較し、ロジック データ ワイヤーで結果を取得します。
データロギングデータロギングをご確認ください。
カラー
クイックリンク