超音波センサは、品物の有無やセンサからの距離測定などに使用できます。
こちらの記事では、フォトリフレクタを使って、赤外線の受光量で距離測定や品物の有無を判定することを紹介していますが、どちらかというと、フォトレフレクタは測定距離が比較的短いものが得意です。
ここでは、超音波を使って、数mの範囲で使うことができる「超音波センサ」の使い方をみていきます。

普通、超音波センサは上のようなもので、このように、送信用(Tと表示)と受信用(Rと表示)があります。
距離の測定は、送信側から発した40000ヘルツの音を受信側でとらえて、音波が往復する時間をパルス幅の変化でとらえるものです。
そのためには、この素子だけでなく、発振回路と受信回路が必要になります。
それを組むのは大変です。
そこで、ここでは、それらの回路が組み込まれて、モジュール化された製品が販売されていますので、それを使って、基礎的な使い方でアナログ的な使い方をやってみようと思います。
(購入する場合は、モジュール化されたものを購入しましょう)

ここでは、最も安価帯のSPLさんの「US-015」というモジュールを使います。そのたの型番でも、同形状であれば、使い方や考え方は同じです。
WEBでは、Arduino(アルディーノ)などのマイコンを使った記事が多いのですが、ここでは、アナログ的な使い方をします。
【お断り】この記事は、メーカーなどが示す回路とは違い、自分で考えて実験したもので、簡単に電子工作を楽しんでもらうためのものです。また、ブレッドボードに回路を組んでいますから、状態が違いで、動作の様子が変わる事も出てきます。不都合があれば、その点はご容赦ください。
まず、超音波センサモジュールの動作からアナログ的使い方を考えます
「US-015」の説明書(英文と中文)には、「トリガー端子に10マイクロ秒のトリガーを入力すると、40kHzのパルスを8回出し、距離に応じた長さの信号をエコー端子から出力する」とあります。
このトリガー入力は、「タイミング」をとるために使うもののようで、US-015の組付け部品を見ると、連続波を発生しているようなので、ここでは「Trig」端子は使わず、4つのうち、電源用と「Echo」の、3つの端子だけを使います。(Trig端子は解放しておきます)
センサとの距離を変えるとパルス幅が変わる

上は、モジュールに5Vの電源を加え、「Ecoh」端子の出力波形をオシロスコープで見ているもので、センサと本との距離によって、パルスの幅が変化しているのが分かります。
きれいな方形波が連続的に出ています。
周期(周波数)は約70Hzで、5Vの立ち上がりで、センサからの距離に応じて、距離が長くなるに従って、パルス幅が広くなっているのが分かりました。
センサと対象物との距離によって、パルス幅が一定に変化します。
しかし、パルス幅は、アナログ的には使いにくい
つまり、センサとの距離が長くなれば、パルス幅が広がってくるのですが、オシロスコープで見てみないといけないので、簡単に使える … というものではありませんね。
そこで、この「パルス幅」は、こちらのDCモーターのパルス制御で紹介しているように、パルス幅が大きくなると、それが「電圧の違い」となって現れますから、mAの電圧測定ならテスターで簡単にできそうです。

つまり、電圧と距離の関係が使えそうだということが分かります。
距離と出力電圧を測定します
そこで、この、センサからの距離と、「Echo」端子の出力電圧を測定すると、下のようになりました。

上のグラフは2~25cmの範囲、下のグラフは、そこからさらに、2mの距離まで延長して測定したものですが、写真のような測定方法ですから、ちょっとした測定のしかたで、微妙に数値は変わりますが、それはしかたがないとしておきます。
また、音速は温度や反射材で変わることもあって、1cm以下の高精度を望むのは難しいので、それにあった、うまい使い方を考えるのがいいと思います。
実際の使用では、自動車の位置や壁の位置感知などに使われています。
グラフの数字で見ると、1cm差で電圧は約21mVの変化するので、かなりの高精度と言えますが、温度で音速が変化しますし、反射の状態が数字に影響します。
もちろん、それも含めての補正も考えることもできますが、ここでは、趣味レベルですから、そこまではしていません。
でも、写真のような、結構、荒っぽい測定でも、1次回帰式で表せるほどに、見た目も直線的ですから、このようなグラフや回帰式を作っておけば、距離と電圧の関係が簡単に分かります。
余談ですが、1次回帰分析は、EXCELなどの表計算ソフトで簡単にできます。私は、無料のLibreOffice Calcを使っており、やり方は難しくないので、ググってみてください。
これで、例えば、100cmのときは 下のグラフの式で、16.72×100+2.6≒1675mV になるでしょうし、150mVの出力電圧であれば、150=16.95X+3.9 から、X≒8.6cm の距離 … だということが分かります。
ここで紹介するやり方は以上です。
このように、使いにくそうな「超音波センサ」も、簡単に使えるでしょう。
ただ、距離がわかるだけでは面白味もありませんから、次のページ(現在作成中)では、距離と電圧の関係を利用して、設定しておいた距離より、近づいたり離れたりしたときに信号を出す … などの使い方を、コンパレータ(こちらに記事があります)を使ってやってみようとしています。
実験していて、少し気になったこと
この記事は、趣味の電子工作レベルで、電子工作を楽しむための内容です。
それもあって、繰り返しデータを取るなどをしていませんし、測定も、精密なものではありませんから、それを念頭に応用していただくようにお願いします。
また、実験中には、よくわからない現象や問題も出てきていますが、スルーしています。
例えば、ブレッドボードを手に持った場合と、机上においた場合では、数値に差が生じています。 ブレッドボードですので、浮遊容量などの不安定さが影響しているようです。
また、25cmまでは、木箱、本、ガラスで距離の違いを見て、そんなに影響が大きくないので、写真のように、本での数値を使いましたが、30cmを超えた距離測定対象は、部屋の壁です。
音波の特性や、温度、面の状態などで、いろいろな影響があるはずですが、それらは詳しくは検討していません。
また、2mのときには、13mSのパルス幅でした。 説明書では80mS程度まで測定できる …とあり、実用では、5m程度までは使える余裕があるようですが、部屋の壁に当てた波形をオシロで見ると、2.5mを超えると、反射の周波数が半減するなどの、何だかわからない現象も出ています。
実測したデータは、そのセットだけしか使えないのですが、クラフや関係式を作っておけば、電圧と距離の関係は実用的な精度で使えると思います。
ともかく、ひとつの考え方を示すものとして記事を利用いただくようにお願いします。
