MakeXのタスク攻略に必須のカラーセンサー

 MakeX2018のタスクにも、2019のタスクにも、カラーセンサーを活用しなければクリアできないタスクが複数用意されています。

MakeX2018カラーセンサータスク画像

MakeX2018カラーセンサータスク

上の左の画像は、赤・黄・緑のカラーカードを認識して、カラーリングを右のG(緑)・R(赤)・Y(黄)のエリアに移動させるタスクで、右の画像は、黄色カードの数をカウントするタスクです。

MakeX2019カラーセンサー活用のタスク画像

MakeX2019カラーセンサー活用タスク 出典:2019 MakeX City Guardian Technical Guide V1.0

MakeX2019_ミッション5_カラーセンサー検出 MakeX2019_ミッション7_カラーセンサー検出

MakeX2019にも、カラーカードを認識するタスクが2つ(ミッション5・ミッション7)あります。

 これらのタスクをクリアする為に、Makeblockが提供している「Color Sensor」を活用します。このカラーセンサーは、ブラック、ホワイト、レッド、ブルー、イエロー、グリーンの合計6色を認識できます。

Makeblock カラーセンサー画像

Makeblock カラーセンサー画像

 

カラーセンサー検出原理

検出原理は、簡単に言うと、カラーセンサーから光が照射されたときに、照射された対象物の表面の色の違いによって、反射されるRGBの値が変わってきます。その値の差を元に、色を判定しています。異なる色を検出する際の、検出切り替え時間は0.16秒=160msです。

MakeX_カラーセンサー検出原理画像

 反射されてくる光の値を見ているため、対象物とカラーセンサーとの距離は、1.5~3㎝という推奨値があります。また、周囲の環境(明るさの度合い)によって、検出精度が変わってきます。
 
 MakeXの会場は、通常のプログラミング教室とは違う環境の為、事前に調整してきたプログラムだとしても、競技会場で想定通り検出されない可能性がある点には注意が必要です。

カラーセンサーの使い方

それでは、mBlock5 for PC (Windows版)での カラーセンサーの使い方を見ていきます。

STEP1:mBotに取り付ける

まずは、カラーセンサーをmBotに取り付けます。今回は、以前購入したmBot拡張パック(サーボパック)についていたブラケットを利用しました。
 尚、MakeX2018で専用の機能拡張パック(カラーセンサーやRGBラインフォロワーセンサー、機構部品がセットになったもの)が販売されていたように、MakeX2019でも同様のものが発売されると思いますので、それを活用すればよいと思います。

カラーセンサー取り付け画像

カラーセンサー取り付け画像

センサーをあまり床面から離してしまうと、うまく認識しません(推奨距離1.5~3㎝)ので、その辺の調整も、やりながら必要になってきます。

STEP2:ブロックを追加

まずは、カラーセンサーを使うための拡張ブロックを追加します。↓の動画を参考にしてください。

STEP3:ブロックの機能の確認

カラーセンサーを使うためのブロックは全部で3つです。

カラーセンサーブロック機能説明

カラーセンサーを活用したカラーカードサンプルプログラム

サンプル1:カラーセンサーで認識したR/G/Bのデータを確認

 まずは、カラーセンサーで認識したR(赤)のデータを確認してみましょう。mBotのポート2にカラーセンサーを接続し、mBlock5と接続して、スプライトにデータを送ります。
 mBotからmBlock5に、センサーデータを送る時は、「アップロードモードメッセージ」ブロックを使います。ブロックは以下の拡張機能追加の説明動画をご参考にしてください。

 

mBotに、以下のプログラムをアップロードした後、mBlock5と接続した状態で、センサーデータを送ることが出来ます。

カラーセンサーの値を出力するプログラム画像_日本語

次に、スプライトでデータを受け取るプログラムです。スプライト側も、アップロードメッセージを使うので、機能拡張で、ブロックを追加します。

カラーセンサー値の出力するのスプライトプログラム画像_日本語

こちらの動画は、赤いカードに近づけた場合のRの値の変化を確認する動画です。

 

サンプル2:カラーセンサーで認識した色を確認

 今度は、カラーセンサーで、色(白・黒・赤・青・黄・緑)を認識させ、スプライトに言わせるプログラムです。

デバイス側(mBot)のカラーセンサーの色認識プログラムはこちらです。

6色カラー検出mBotプログラム

スプライト側は、こんな感じです。

6色カラー検出スプライトプログラム

こちらが、色認識確認の動画です。

 尚、非常に重要な事として、カラーセンサーの補助LEDをつけるつけないで、認識制度が変わります。通常の屋内の昼間で、蛍光灯付けている状態で試しましたが、補助LEDをつけないと、正しく認識しませんでした。これは、利用する環境で点灯する・しないの調整する必要がありそうです。

カラーセンサーフィルライトをオンにするブロック

カラーセンサー補助LED画像

カラーセンサー補助LED画像

 

 

■このページの動作環境
※Makeblock社は随時ソフトウェアのアップデートが行われています。ご自身のPCと本ページのブロック表記が違う場合もあります。本ページは、以下の環境下で動作チェックをしました。
ハードウェア:mBot_v1.1
ソフトウェア:WEB版(ブラウザ版)mBlock5_v5.1
利用PCのOS:Windows10   
ソースコード確認日:2019年8月8日