ランダムブロックを使ったプログラムの作成 ~レゴマインドストームEV3~
Contents
ランダムブロックとは
教育用レゴマインドストームでランダムブロックを使ったプログラムを作ってみる。
ランダムブロックとは乱数(無作為な数値)を発生させたり、指定した確率でロジックの真(または偽)を発生させることができるブロック。
最初に1~6までの数字をランダムに発生させてインテリジェントブロックのディスプレイに表示するプログラム、次にランダムなロジック(真 or 偽)を発生させてレゴのトレーニングロボットを真なら右回り、偽なら左回りをするプログラムを作成する。
使用するブロック
使用するブロックは以下の6種類。
ループブロック
ループ内に配置されたブロックを右側の条件に一致するまで繰り返す。
ループを5回繰り返す。
| |
ループを無限(プログラム終了まで)に繰り返す ※2つ目のプログラムで使用する
|
ランダムブロック
無作為な数値、ロジックを発生させるブロック。
主に以下の2つの機能がある。
- 指定された範囲内のランダムな数値を発生させる
- 指定された確率で”真”を発生させる
1~6までの乱数を発生させる
| |
80%の確率で”真”を発生させる ※2つ目のプログラムで使用する
|
表示ブロック
レゴのインテリジェントブロックのディスプレイにテキスト、図形などを表示する。
データワイヤー経由で受け取った数値をディスプレイに表示する
|
待機ブロック
条件を満たすまで待機をするブロック。
1秒間待機する
ディスプレイに1秒毎にランダムブロックからの乱数を表示する為に待機する。 2つ目のプログラムではトレーニングロボットを1秒間待機させる為に使用する。 |
スイッチブロック
条件を判定して処理を分岐するブロック。
データワイヤーでロジック(真 or 偽)を受け取ってスイッチで分岐する。 真の時は上のロジック、偽の時は下のロジックを実行する。 ※2つ目のプログラムで使用する
|
ステアリングブロック
Lモーターを制御してトレーニングロボットを制御する。
今回は右回りと左回りの2種類のステアリングブロックを使用する。
トレーニングロボットを1秒間右回りさせる ※2つ目のプログラムで使用する
| |
トレーニングロボットを1秒間左回りさせる ※2つ目のプログラムで使用する
|
1~6の数値をランダムに表示するプログラム
1~6の数値をランダムに発生させてインテリジェントブロックのディスプレイに合計5回数値を表示するプログラム。
1 | プログラム開始 |
2 | 3~5を5回繰り返す |
3 | ランダムに発生させた1~6までの数値をデータワイヤーで4に引き渡す |
4 | データワイヤーで受け取った値をディスプレイに表示する |
5 | 1秒間待機する。 3へ戻る |
80%の確率で右回りするトレーニングロボット
80%の確率で”真”を発生させて真なら右、偽なら左回りをするプログラム。
1 | プログラム開始 |
2 | 3~7を無限(プログラム終了まで)繰り返す |
3 | 80%の確率で”真”を発生させて結果をデータワイヤーで4へ渡す |
4 | ”真”なら5、偽なら6を実行する |
5 | トレーニングロボットを1秒間右回りさせる |
6 | トレーニングロボットを1秒間左回りさせる |
7 | 1秒間待機する 3へ戻る |
プログラミング動画
プログラミングと実際のトレーニングロボットの動きを動画にしている。
ランダムに数値を表示したり、トレーニングロボットが回転する様子が分かる。
最近のコメント