超音波センサーで距離を測定、記録する簡単なプログラム ~レゴマインドストームEV3~
Contents
超音波センサー
レゴマインドストームEV3の超音波センサーは超音波を出して物体との距離を測定する事ができる。
片側から超音波を出してもう一方で超音波の反射を受信する。その時間差で物体との距離を測定する。
音波の反射を利用するので曲面の多い物体は距離の測定が難しいとの特徴がある。
超音波センサーで物体との距離を測り距離により異なる動作をさせるプログラムはこちら。
今回は測った距離をファイルに保存するプログラムを作ってみる。
使用するブロック
使用するブロックは以下の4つ
ファイルアクセスブロック
ファイルの読み込み、書き込み、削除などファイルの対する操作をする為のブロック。
ファイルはインテリジェントブロック(本体)に記録される。
今回は以下の2パターンの設定で使用した。
1.ファイルの削除
2.ファイルへの書き込み
ループブロック
このブロックの中にあるブロックをループ(繰り返し)する。終了する条件を指定できるが今回は無限(∞)とした。
待機ブロック(タッチセンサー)
待機ブロックを「タッチセンサー」「比較」「状態」の「1(押された)」で使用する。
タッチセンサーが押されるまで待機状態になる。
超音波センサーブロック
「測定」「距離(cm)」を設定した。
プログラム全体
- プログラムを開始する
- 名前=”abc”のファイルを削除する(初回は空振り)
- タッチセンサーが押されるまで待機する
- 押されたら超音波センサーで物体との距離を測る
- 測定結果をファイル(abc)に書き込む
- 繰り返しでタッチセンサーの待機に戻る
タッチセンサーの待機が「1(押された)」の場合、ループをしているのでタッチセンサーを押している間、常に物体との距離を何回も測定してファイルに書き出す。(複数行に書き出される)
「2(バンプ)」にすると一度だけ距離を測定してファイルに書き出すプログラムになる。
実際に動かしてみた動画
プログラミングと動かした時の動画はこちら。
最近のコメント