ループ・プログラミング ~レゴマインドストームEV3~
Contents
トレーニングロボットでループ
教育用レゴマインドストームEV3のトレーニングロボットを使ってループのプログラムを作成する。
ループとは特定の条件が一致するまで同じ処理を繰り返すことで、連続した動作が必要な時に使用される。
レゴマインドストームではループを抜ける為のブロックも用意されており、今回はタッチセンサーが押された時にループを抜けるプログラミングも試してみる。
使用するブロック
使用するブロックは以下の6種類。
ループブロック
ループ内に配置されたブロックを右側の条件に一致するまで繰り返す。
ループには番号を振ることができる。ループ停止のブロックを使って、その番号を指定してループを停止させる。
今回は以下の3パターンのループを使用した。
![]() | 2秒間繰り返す
|
![]() | 無条件に繰り返し
|
![]() | 2回繰り返し
|
インテリジェントブロック ステータスライト
インテリジェントブロック(白いコントロール用のブロック)の操作面についているステータスライトの制御をするブロック。
今回使用するパターン以下の1種類。
尚、インテリジェントブロックステータスライトの詳細についての記事はこちら。
![]() | インテリジェントのステータスライトを赤色に点灯させる
|
音ブロック
音ブロックは予め用意されている音声ファイルの再生、トーン周波数の再生、音符の再生ができる。
今回使用するパターン以下の1種類。
![]() | Helloを再生する
|
待機ブロック
条件を満たすまで待機をするブロック。
今回使用するのは以下の2種類。
![]() | 1秒間待機する
1秒経過したら次のブロックへ制御が移る |
![]() | タッチセンサーが押されるまで待機する
押されたら次のブロックに制御が移る |
ループ中断ブロック
指定した番号のループを中断させる。
今回使用するパターン以下の1種類。
![]() | ループ02を中断する
|
ステアリングブロック
Lモーターを使ってトレーニングロボットの車輪を制御するブロック。
今回使用するパターン以下の1種類。
尚、ステアリングブロックの詳細についてはこちらを参照。
![]() | 車輪1回転分だけ右回転する
|
プログラム全体
最初のループでインテリジェントブロックのステータスライトを2秒間赤色で点灯させる。
次に”Hello”の再生を2回繰り返した後、トレーニングロボットをその場で車輪1回転分だけ右回転させて、またHelloに戻り、以下繰り返す。
タッチセンサーを押すとループが終了する。
1 | プログラム開始 |
2 | 01のループ 3の処理を2秒間繰り返す その後、4へ制御が移る |
3 | インテリジェントブロックのステータスライトを2秒間赤色で点灯させる |
4 | 02のループ 5~8の処理を無条件で繰り返す 10の処理でこのループは終了する |
5 | 03のループ 6~7の処理を2回繰り返した後、8に制御が移る |
6 | Helloの音声ファイルを再生する |
7 | 1秒間待機する |
8 | トレーニングロボットを右方向に車輪1回転分だけ回転させる。 5に戻る |
9 | タッチセンサーが押された時に10に制御が移る |
10 | 02のループ(処理番号4)を終了させる |
プログラミング動画
プログラミングと実際のトレーニングロボットの動きを動画にしている。
文字と画像だけでは分からない部分は動画を参照すれば分かりやすい。
最近のコメント