超音波センサーで距離を測定、記録する簡単なプログラム ~レゴマインドストームEV3~ | そう備忘録

超音波センサーで距離を測定、記録する簡単なプログラム ~レゴマインドストームEV3~

超音波センサー

レゴマインドストームEV3の超音波センサーは超音波を出して物体との距離を測定する事ができる。

片側から超音波を出してもう一方で超音波の反射を受信する。その時間差で物体との距離を測定する。

音波の反射を利用するので曲面の多い物体は距離の測定が難しいとの特徴がある。

超音波センサーで物体との距離を測り距離により異なる動作をさせるプログラムはこちら

今回は測った距離をファイルに保存するプログラムを作ってみる。

レゴマインドストームEV3 超音波センサー

使用するブロック

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

ファイルアクセスブロック

ファイルの読み込み、書き込み、削除などファイルの対する操作をする為のブロック。

ファイルはインテリジェントブロック(本体)に記録される。

今回は以下の2パターンの設定で使用した。

1.ファイルの削除

レゴマインドストームEV3 ファイルアクセスブロック(削除)

2.ファイルへの書き込み

レゴマインドストームEV3 ファイルアクセスブロック(書き込み)

ループブロック

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

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

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

待機ブロックを「タッチセンサー」「比較」「状態」の「1(押された)」で使用する。

タッチセンサーが押されるまで待機状態になる。

レゴマインドストームEV3 待機ブロック(タッチセンサー)

超音波センサーブロック

超音波で測定した距離を出力する為に使用した。

「測定」「距離(cm)」を設定した。

レゴマインドストームEV3 超音波センサーブロック

プログラム全体

  1. プログラムを開始する
  2. 名前=”abc”のファイルを削除する(初回は空振り)
  3. タッチセンサーが押されるまで待機する
  4. 押されたら超音波センサーで物体との距離を測る
  5. 測定結果をファイル(abc)に書き込む
  6. 繰り返しでタッチセンサーの待機に戻る

タッチセンサーの待機が「1(押された)」の場合、ループをしているのでタッチセンサーを押している間、常に物体との距離を何回も測定してファイルに書き出す。(複数行に書き出される)

「2(バンプ)」にすると一度だけ距離を測定してファイルに書き出すプログラムになる。

レゴマインドストームEV3 超音波センサーで測定した距離をファイルに出力

実際に動かしてみた動画

プログラミングと動かした時の動画はこちら。

souichirou

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

おすすめ

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

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