ループ・プログラミング ~レゴマインドストームEV3~ | そう備忘録

ループ・プログラミング ~レゴマインドストームEV3~

トレーニングロボットでループ

教育用レゴマインドストームEV3のトレーニングロボットを使ってループのプログラムを作成する。

トレーニングロボットにタッチセンサーを取り付ける

尚、トレーニングロボットの組み立てについてはこちらを参照

ループとは特定の条件が一致するまで同じ処理を繰り返すことで、連続した動作が必要な時に使用される。

レゴマインドストームではループを抜ける為のブロックも用意されており、今回はタッチセンサーが押された時にループを抜けるプログラミングも試してみる。

ループブロック

使用するブロック

使用するブロックは以下の6種類。

ループブロック

ループ内に配置されたブロックを右側の条件に一致するまで繰り返す。

ループには番号を振ることができる。ループ停止のブロックを使って、その番号を指定してループを停止させる。

今回は以下の3パターンのループを使用した。

ループブロック 2秒間繰り返す

2秒間繰り返す

  • 番号:01
  • ループ:時間
  • 秒:2
ループブロック 無条件に繰り返し

無条件に繰り返し

  • 番号:02
  • ループ:無限
ループブロック 2回繰り返し

2回繰り返し

  • 番号:03
  • ループ:カウント
  • カウント:2

インテリジェントブロック ステータスライト

インテリジェントブロック(白いコントロール用のブロック)の操作面についているステータスライトの制御をするブロック。

今回使用するパターン以下の1種類。

尚、インテリジェントブロックステータスライトの詳細についての記事はこちら

インテリジェントブロックステータスライト 赤色点灯

 インテリジェントのステータスライトを赤色に点灯させる

  • インテリジェントブロックステータスライト:オン
  • 色:2(赤)
  • パルス:偽(点灯)

音ブロック

音ブロックは予め用意されている音声ファイルの再生、トーン周波数の再生、音符の再生ができる。

音ブロックの詳細についてはこちら

今回使用するパターン以下の1種類。

音ブロック Hello

Helloを再生する

  • 音:ファイルの再生
  • ボリューム:100
  • 再生タイプ:0(完了待ち)
  • ファイル名:Hello

待機ブロック

条件を満たすまで待機をするブロック。

今回使用するのは以下の2種類。

待機 1秒間待機

1秒間待機する

  • 待機:時間
  • 秒:1

1秒経過したら次のブロックへ制御が移る

待機ブロック タッチセンサーが押されるまで待機

タッチセンサーが押されるまで待機する

  • 待機:タッチセンサー、比較、状態
  • 状態:1(押された)
  • 測定値:未設定

押されたら次のブロックに制御が移る

ループ中断ブロック

指定した番号のループを中断させる。

今回使用するパターン以下の1種類。

02のループを中断

ループ02を中断する

  • ループ中断
  • 中断名:02

ステアリングブロック

Lモーターを使ってトレーニングロボットの車輪を制御するブロック。

今回使用するパターン以下の1種類。

尚、ステアリングブロックの詳細についてはこちらを参照。

ステアリング 右回転

車輪1回転分だけ右回転する

  • ステアリング:回転数
  • ステアリング:100(右方向)
  • パワー:50
  • 回転:1
  • ブレーキ方法:真

プログラム全体

最初のループでインテリジェントブロックのステータスライトを2秒間赤色で点灯させる。

次に”Hello”の再生を2回繰り返した後、トレーニングロボットをその場で車輪1回転分だけ右回転させて、またHelloに戻り、以下繰り返す。

タッチセンサーを押すとループが終了する。

ループのプログラム

プログラム開始

01のループ

3の処理を2秒間繰り返す

その後、4へ制御が移る

インテリジェントブロックのステータスライトを2秒間赤色で点灯させる

02のループ

5~8の処理を無条件で繰り返す

10の処理でこのループは終了する

03のループ

6~7の処理を2回繰り返した後、8に制御が移る

Helloの音声ファイルを再生する

1秒間待機する

トレーニングロボットを右方向に車輪1回転分だけ回転させる。

5に戻る

タッチセンサーが押された時に10に制御が移る

10

02のループ(処理番号4)を終了させる

プログラミング動画

プログラミングと実際のトレーニングロボットの動きを動画にしている。

文字と画像だけでは分からない部分は動画を参照すれば分かりやすい。

souichirou

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

おすすめ

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

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