カラーセンサーを使って黒ラインを判別して停止させるプログラム ~レゴマインドストームEV3~
Contents
トレーニングロボットにカラーセンサーを取り付ける
カラーセンサー
カラーセンサーは色の判別、反射光の強さの判別、周囲の光の強さの判別が可能。
今回は反射光の強さの判別を利用して白い紙上の黒ラインを判別してトレーニングロボットを停止させるプログラムをつくってみる。
まずは教育用レゴ・マインドストームEV3のトレーニングロボットにカラーセンサーを下向きに取り付ける。
先端から赤い光が出ているのがカラーセンサー。
使用するブロック
ステアリングブロック
トレーニングロボットのステアリングを制御して前進/後退を行う
| |
トレーニングロボットを停止させる
|
待機ブロック
下記の条件を満たすまで待機する
反射光の強さが50未満※になるまで待機する(50未満になった時に次のブロックに制御が移る) ※黒は光を吸収するので反射光の強さが20~30程度に落ちる |
音ブロック
音を再生する
音声ファイル(White、Black)を再生する |
プログラム全体 1
反射光の強さは概ね以下の数値である事が分かった。
木の机 | 約39~40 |
白い紙 | 約68~69 |
黒いライン | 約20~30 |
白い紙上からスタートして黒いラインの上で停止するプログラム。
1 | プログラム開始 反射光:69 |
2 | トレーニングロボットを前進させる
|
3 | カラーセンサーが50未満になるまで待機する(直進し続ける)
|
4 | トレーニングロボットを停止させる
|
プログラム全体 2
スタート地点が木の机の上の場合。
木の机(反射光39) => 白い紙(反射光69) => 黒いライン(反射光30) の順番でトレーニングロボットが移動する。
1 | プログラム開始 反射光:39 |
2 | トレーニングロボットを前進させる
|
3 | カラーセンサーが50以上になるまで待機する(直進し続ける)
木の机から白い紙の上に差し掛かった所で4に制御が移る |
4 | トレーニングロボットを停止させる
|
5 | 1秒間待機 |
6 | ”White” 音声ファイルの再生
|
7 | トレーニングロボットを前進させる
|
8 | カラーセンサーが50未満になるまで待機する(直進し続ける)
白い紙から黒いラインの上に差し掛かった所で9に制御が移る |
9 | トレーニングロボットを停止させる
|
10 | 1秒間待機 |
11 | ”Black” 音声ファイルの再生
|
実際に動かしてみた動画
プログラミングからトレーニングロボットの実際の動きまでが分かる動画ですので見てみてください。
最近のコメント