ジャイロセンサーで動いた角度を判定する簡単なプログラム ~レゴマインドストームEV3~ | そう備忘録

ジャイロセンサーで動いた角度を判定する簡単なプログラム ~レゴマインドストームEV3~

ジャイロセンサー

教育用レゴマインドストームEV3のジャイロセンサーは静止状態から動いた角度を測定する事ができる。

上部の赤い点を中心に時計回りだと+(プラス)角度、反時計回りだとー(マイナス)角度で回転角度を測定する。

ジャイロセンサーを使って回転角度を測定する簡単なプログラムを作成してみた。

ジャイロセンサー

レゴブロックの構成

Mモーターでジャイロセンサーを回転させて回転角度が測定できるかを試してみる。

タッチセンサーはプログラムを一時停止・再開する為に接続している。

ジャイロセンサーによる角度の判定

使用するブロック

使用するブロックは以下の5つ

ジャイロセンサー(スイッチブロック)

スイッチブロック(条件の成否を判定するブロック)にジャイロセンサーを指定する。

条件を満たした時は上のフロー(✓印)満たさない時は下のフロー(☓印)が実行される。

下記の設定だと動作角度が80度より小さい時は上のフロー、80度以上の時は上のフローが実行される。

スイッチジャイロセンサー、比較、角度
比較タイプ<(小なり)
しきい値80(度)

ジャイロセンサー ブロック

Mモーター

ジャイロセンサーを回転させる為にMモーターを使用した。

パワー10で50度、時計回転する。

Mモーター角度
パワー10 (弱めに設定した)
50(度)

プラスの数字なので時計回りする

ブレーキ方法ブレーキ(惰性運転をしない)

惰性だと50度を超えて回転してしまうため。

Mモーター

待機ブロック(タッチセンサー)

待機ブロックを「タッチセンサー」「比較」「状態」の「2(バンプ)」で使用する。

タッチセンサーがバンプ(衝突)されるまで待機状態になる。

プログラムの一時停止に使用している。

待機タッチセンサー バンプ

ループブロック

このブロックの中にあるブロックをループ(繰り返し)する。終了する条件を指定できるが今回は無限(∞)とした。

レゴマインドストームEV3 ループブロック

 

音ブロック

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

条件に一致した時にHello、不一致の時にはouchの再生をする。

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

レゴマインドストームEV3 音ブロック カラーセンサーによる周辺の光の強さの判別

プログラム全体

  1. プログラムを開始する
  2. タッチセンサーがバンプ(衝突)するまで待機する
  3. Mモーターを時計回りに50度回転する(ジャイロセンサーも回転する)
  4. タッチセンサーがバンプ(衝突)するまで待機する
  5. ジャイロセンサーで回転角度を測定して80度未満であればHellowの音声を再生する
  6. 80度以上であればOuchの音声を再生する
  7. 繰り返してタッチセンサーの待機に戻る

ジャイロセンサーを使った簡単なプログラム

実際に動かしてみた動画

実際にプログラムを動かしてみた動画はこちら

souichirou

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

おすすめ

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

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