超音波距離センサを使おう
【Arduino】 超音波距離センサ でも用いた 超音波距離センサのHC-SR04 をmicro:bitで制御します。
超音波距離センサのHC-SR04は、トランスミッターから出された信号が物体に当たりレシーバーが受信した時間で距離を算出します。
超音波距離センサのHC-SR04は、トランスミッターから出された信号が物体に当たりレシーバーが受信した時間で距離を算出します。
○ 距離の計算式は
L=C×t/2
L:対象物までの距離
C:音速
t:発信から受信までの時間
音速の値は空気中の音速(15℃)は 約340m/sとすると
L=340*T/2/10000
=0.017*t
になります。
リンク
超音波距離センサを動かすプログラムを動かすプログラムは2パターンあります。
a)超音波距離センサの測定サイクルをプログラム化する。
下記の測定サイクルの従ってプログラムを作成
b)超音波距離センサ用のブロックを使用しプログラムを作成する。
a)超音波距離センサの測定サイクルをプログラム化する。
下記の測定サイクルの従ってプログラムを作成
b)超音波距離センサ用のブロックを使用しプログラムを作成する。
① MakeCodeを開き +拡張機能 をクリック
② sonar で検索し、ソナーを選択
③ 超音波距離センサ用のブロック を使用
② sonar で検索し、ソナーを選択
③ 超音波距離センサ用のブロック を使用
プログラムa,bそれぞれの超音波距離センサを測定しました。
測定値 micro:bitの表示した値
距 離 超音波距離センサからmicro:bitまでの距離
補正プログラム
上記の測定結果で測定値と距離で差が出てしまいました。超音波距離センサを取り替えてもほぼ同じ測定値になりました。そこで近似値になるように補正係数を掛けてプログラムの補正を行いました。
a)超音波距離センサの測定サイクルをプログラム化する。
補正前 0.017 から 補正係数1.6を 掛け 0.027 に変更
0.017 × 1.6 ≒ = 0.027
b)超音波距離センサ用のブロックを使用しプログラムを作成する。
a)超音波距離センサの測定サイクルをプログラム化する。
補正前 0.017 から 補正係数1.6を 掛け 0.027 に変更
0.017 × 1.6 ≒ = 0.027
b)超音波距離センサ用のブロックを使用しプログラムを作成する。
補正係数 1.8 を掛け、少数点以下を四捨五入する。
○ それぞれに補正したプログラムで測定した結果は所許容範囲であると思われます。プログラムaの方が私は使いやすいと思いました。
○ それぞれのプログラムで測定したところ上記の結果が得られました。指向性のあるセンサーでもあるため、近づいたら反応するとする程度ならば、補正は必要ありますせん。
〇 micro:bit を 学ぶ上で書籍やWebpageを参考に作っていますが、私なりに噛み砕いて書いているつもりですが、判らない点がありましたら連絡下さい。