ロジック操作ブロックを使った論理積(and条件) ~レゴマインドストームEV3~
Contents
2つの条件を判定するプログラム
教育用レゴマインドストームのトレーニングロボットにカラーセンサーと超音波センサーを取り付けて、それぞれの測定結果が特定の条件を満たす時に停止するプログラムを作成する。
2つの条件の判定はロジック操作ブロックを使用する。
ロジック操作ブロックは、
- 論理積(and)
- 論理和(or)
- 排他的論理和(xor)
- 否定(not)
を判定することができる。
ロジック操作ブロックを使用してトレーニングロボットが
- 障害物との距離が5cm以上25cm以内
- 黒ライン上
上記の2つの条件を満たすまで直進するプログラムを作成する。
論理積(and条件)イメージ図
使用するブロック
使用するブロックは以下の6種類。
ループブロック
ループ内に配置されたブロックを右側の条件に一致するまで繰り返す。
超音波センサーの結果とカラーセンサーの結果の2つの条件が”真”になるまで繰り返す
|
ステアリングブロック
Lモーターを制御してトレーニングロボットを制御する。
トレーニングロボットを直進させる
| |
トレーニングロボットを停止させる
|
超音波センサーブロック
超音波センサーを使って物体との距離を測定したり比較する為のブロック。
超音波センサーで障害物との距離を測定する
|
範囲ブロック
値が範囲内(外)かを判断する。
超音波センサーで測定された距離(cm)が5cm~25cmの範囲内かどうかを判定する。
|
カラーセンサーブロック
「色の判別」「反射光の強さの測定」「周囲の光の強さの測定」ができる。
黒色と比較して比較結果を出力する 黒なら”真”を出力する
|
ロジック操作ブロック
論理和、論理積、排他的論理和、否定を判定する為のブロック。
超音波センサーで測定された距離が5cm~25cm以内で且つカラーセンサー読み取った色が黒の時に結果(=)に”真”を出力する
|
プログラム全体
プログラム全体とそれぞれの処理内容は以下の通り
1 | プログラム開始 |
2 | 3~7を条件が”真”になるまで繰り返す |
3 | トレーニングロボットを直進させる |
4 | 障害物との測定距離を5に引き渡す |
5 | 4の結果が5~25かを判定する |
6 | カラーセンサーで黒色かどうかを判定する |
7 | 5の結果と6の結果の両方が”真”の時に2の条件に”真”を出力する |
8 | トレーニングロボットを停止する |
実際に動かしてみた動画
プログラミングの様子と実際に設定した条件通りにトレーニングロボットが停止するかどうか動画にしている。
最近のコメント