カラーセンサーによる反射光の強さの判別 ~レゴマインドストームEV3~ | そう備忘録

カラーセンサーによる反射光の強さの判別 ~レゴマインドストームEV3~

カラーセンサー

レゴマインドストームEV3のカラーセンサーは色の判別の他に反射光の強さも判別できる。

反射光とは光を当てた物体が反射する(跳ね返す)光の事。白いものだと良く反射するし黒いものだと反射しない。

この機能を使って例えば白い床の上の黒いラインの判別が出来る。

カラーセンサー キャッチ画像

まずは本体(インテリジェントブロック)のポート2にカラーセンサーを接続する。反対側にはMモーターを設置してポートAに接続する。

また判定のための黒いマジックで線を引いた白い紙を用意した。

レゴマインドストームEV3 カラーセンサーで反射光の強さを判定

使用するブロック

プログラムで使用するブロックは以下の3つ

ループブロック

このブロックの中にあるブロックをループ(繰り返し)する。終了する条件を指定できるが今回は無限(∞)とした。

レゴマインドストームEV3 ループブロック

スイッチブロック

スイッチブロックは条件によって異なる処理の実行ができるブロック。

条件はカラーセンサーの他にもジャイロセンサーやモーター回転、タッチセンサー、数値など様々な機能を指定する事ができる。今回はカラーセンサーの「比較」「反射光の強さ」を指定した。

レゴマインドストームEV3 スイッチブロック 反射光強さの判別

Mモーター

中程度の強さのモーター。軽いものを素早く動かすのが得意と書いてある。

反射光によって動きを変えるために使用した。

レゴマインドストームEV3 Mモーター 反射光の強さの判別

プログラム全体

プログラム開始
以下3~5までを繰り返し(無限)
カラーセンサーで反射光を判定して50より大きければ上、そうで無ければ下に分岐する。
上の分岐ではMモーターが反時計回りで1回転

下の分岐ではMモーターが時計回りで1回転する

3に戻る

普段はMモーターが時計回りで回っていて、白い紙を約1cmに近づけると反射光が50より大きくなり反時計回りに回れば正しい動き。

レゴマインドストームEV3 反射光の強さを判別するプログラム

実際に動かしてみた動画

白い紙を1cm前後に近づけた時にMモーターの動きが変わることの検証。

また白い紙に書いた黒いラインもカラーセンサーの反射光の強さで判別できるかを試してみた。

黒い部分は反射しないので反射光で判別できるはず。

これを応用すればラインをトレースして移動するロボットも作成できる。

souichirou

やった事を忘れない為の備忘録 同じような事をやりたい人の参考になればと思ってブログにしてます。 主にレゴ、AWS(Amazon Web Services)、WordPress、Deep Learning、RaspberryPiに関するブログを書いています。 仕事では工場に協働ロボットの導入や中小企業へのAI/IoT導入のアドバイザーをやっています。 2019年7月にJDLA(一般社団法人 日本デイープラーニング協会)Deep Learning for GENERALに合格しました。 質問は記事一番下にあるコメントかメニュー上部の問い合わせからお願いします。

おすすめ

質問やコメントや励ましの言葉などを残す

名前、メール、サイト欄は任意です。
またメールアドレスは公開されません。