ジャイロセンサーで動いた角度を判定する簡単なプログラム ~レゴマインドストームEV3~
Contents
ジャイロセンサー
教育用レゴマインドストームEV3のジャイロセンサーは静止状態から動いた角度を測定する事ができる。
上部の赤い点を中心に時計回りだと+(プラス)角度、反時計回りだとー(マイナス)角度で回転角度を測定する。
ジャイロセンサーを使って回転角度を測定する簡単なプログラムを作成してみた。
レゴブロックの構成
Mモーターでジャイロセンサーを回転させて回転角度が測定できるかを試してみる。
タッチセンサーはプログラムを一時停止・再開する為に接続している。
使用するブロック
使用するブロックは以下の5つ
ジャイロセンサー(スイッチブロック)
スイッチブロック(条件の成否を判定するブロック)にジャイロセンサーを指定する。
条件を満たした時は上のフロー(✓印)満たさない時は下のフロー(☓印)が実行される。
下記の設定だと動作角度が80度より小さい時は上のフロー、80度以上の時は上のフローが実行される。
スイッチ | ジャイロセンサー、比較、角度 |
比較タイプ | <(小なり) |
しきい値 | 80(度) |
Mモーター
ジャイロセンサーを回転させる為にMモーターを使用した。
パワー10で50度、時計回転する。
Mモーター | 角度 |
パワー | 10 (弱めに設定した) |
度 | 50(度) プラスの数字なので時計回りする |
ブレーキ方法 | ブレーキ(惰性運転をしない) 惰性だと50度を超えて回転してしまうため。 |
待機ブロック(タッチセンサー)
待機ブロックを「タッチセンサー」「比較」「状態」の「2(バンプ)」で使用する。
タッチセンサーがバンプ(衝突)されるまで待機状態になる。
プログラムの一時停止に使用している。
ループブロック
このブロックの中にあるブロックをループ(繰り返し)する。終了する条件を指定できるが今回は無限(∞)とした。
音ブロック
音ブロックは予め用意されている音声ファイルの再生、トーン周波数の再生、音符の再生ができる。
条件に一致した時にHello、不一致の時にはouchの再生をする。
プログラム全体
- プログラムを開始する
- タッチセンサーがバンプ(衝突)するまで待機する
- Mモーターを時計回りに50度回転する(ジャイロセンサーも回転する)
- タッチセンサーがバンプ(衝突)するまで待機する
- ジャイロセンサーで回転角度を測定して80度未満であればHellowの音声を再生する
- 80度以上であればOuchの音声を再生する
- 繰り返してタッチセンサーの待機に戻る
実際に動かしてみた動画
実際にプログラムを動かしてみた動画はこちら
最近のコメント