2017年5月10日
- EV3ソフトウェア
- EV3技術情報
- ソフトウェア
カラーソーターが正常に動作しない原因
カラーソーターは、教育版EV3ソフトウェアに含まれるロボットモデルです。
カラーソーターを組み立ててサンプルプログラムを実行しても、カラーソーターが正常に動作しない場合があります。
その場合は、以下の2点をご確認ください。
◯1:ロボットの組み立て
ロボットが正しく組み立てられているか、センサーやモーターを接続するポートが間違っていないかを、組み立て図を見て確認します。
各センサー・モーターの接続ポートは以下のとおりです。
Mモーター … PortA
Lモーター … PortD
タッチセンサー … Port1
カラーセンサー … Port3
◯2:サンプルプログラムの変更
プログラムを実行する環境によっては、カラーブロックをカラーセンサーに読み取らせていないときに、カラーブロックを読みとったと誤認識してしまうことがあります。
サンプルプログラムを一部変更して正常に動作するか確認します。
変更する箇所は下図の□の部分です。
下図のように変更します。
◯ 変更前
◯ 変更後
※ループブロックの外へ伸びているデータワイヤーの接続先は変更しません。
※カラーセンサーブロックのしきい値はお使いの環境にあわせて変更してください。
変更前のプログラムでは、EV3の決定ボタンが押される(読み取り終了)か、青・緑・黄・赤いずれかの色を読みとると、ループブロックのくり返しを終了しています。
通常はこのプログラムによって、カラーセンサーにカラーブロックをかざすたびに、ロボットは色を1つ記憶して次のカラーブロックの読み取りを待機します。
しかしお使いの環境によっては、カラーセンサーにカラーブロックをかざしていない状態にも関わらず、青・緑・黄・赤いずれかの色を読みとったと誤認識してしまう場合があります。
そのため変更後のプログラムでは、カラーセンサーにカラーブロックをかざしているかどうかを周辺の光の強さの値で判断しています。
周辺の光の強さの値が小さい(カラーブロックをカラーセンサーにかざしている)状態で、青・緑・黄・赤いずれかの色を読みとった場合のみ、ロボットはカラーブロックの色を読みとったと判断し、その色を記憶して次のカラーブロックの読み取りを待機します。
(2017/05/02現在)