マルチタスク・プログラミング ~レゴマインドストームEV3~
Contents
トレーニングロボットでマルチタスク
教育用レゴマインドストームEV3のトレーニングロボットを使ってマルチタスクのプログラムを作成する。
マルチタスクとは一度に複数のタスク(動作)をさせる事で、レゴでは複数のブロックへコネクタを繋げることで同時に複数の処理が実行できる。
ステアリングブロックを使ってトレーニングロボットを動かしながら同時に音声ファイルを再生するマルチタスクのプログラムを作成してみる。
使用するブロック
使用するブロックは以下の3種類
ステアリングブロック
Lモーターを2つ同時に動かしてトレーニングロボットを操縦するブロック。
今回使用するパターン以下の2種類。
トレーニングロボットを車輪2回転分だけ直進させる
| |
トレーニングロボットを車輪2回転分だけ右回転させる。
|
音ブロック
音ブロックは予め用意されている音声ファイルの再生、トーン周波数の再生、音符の再生ができる。
今回使用するパターン以下の3種類。
犬の吠え声1を繰り返し再生する
| |
犬の鳴き声(sniff)を再生する
| |
音の再生を停止する
|
インテリジェントブロック ステータスライト
インテリジェントブロック(白いコントロール用のブロック)の操作面についているステータスライトの制御をするブロック。
今回使用するパターン以下の1種類。
尚、インテリジェントブロックステータスライトの詳細についての記事はこちら。
インテリジェントのステータスライトを赤色に点滅させる
|
プログラム全体(その1)
まずは簡単なマルチタスクのプログラム。
トレーニングロボットを犬の鳴き声1を再生しながら車輪2回転分だけ直進させる。
1 | プログラム開始 |
2 | トレーニングロボットを車輪2回転分だけ直進させる |
3 | 2と同時に犬の吠え声1を繰り返し再生する |
4 | 2の処理が終了したら音の再生を停止する |
プログラム全体(その2)
次にもう少し複雑なプログラム。
マルチタスクは3つの処理を同時に実行することもできる。
1 | プログラム開始 ※前半部分(1~4)は先程のプログラムと同様 |
2 | トレーニングロボットを車輪2回転分だけ直進させる |
3 | 2と同時に犬の吠え声1を繰り返し再生する |
4 | 2の処理が終了したら音の再生を停止する |
5 | インテリジェントブロックのステータスライトを赤色に点滅させる |
6 | 5と同時にトレーニングロボットを車輪2回転分だけ右回転させる |
7 | 5と同時に犬の鳴き声(sniff)を再生する |
プログラミング動画
2種類のプログラムの作成手順と実際のトレーニングロボットの動きが分かる動画。
最近のコメント