物体の距離を計測するはじめにESP32は小型のIoTデバイスで、価格が安く(約500円~)、WiFiやBluetoothなどの通信機能が利用でき、GPIOピンを使用してセンサー類と共に活用できます。Avintonでは、屋外に設置したグリーンハウス内のIoTプロジェクトにて、ESP32のテストと運用を行ってきました。利用し、屋外の水タンクの残り水位をモニタリングしました。Prometheus、Grafanaと接続し、水位をリアルタイムで監視できます。このページではESP32と超音波センサーを利用して、物体の距離を計測して表示するシステムを作成します。超音波センサーの仕組みと距離の算出方法HC-SR04は超音波波を用いて物体までの距離を測定するセンサーです。HC-SR04から送信された超音波は、物体に衝突すると反射し、HC-SR04の受信センサーが反応します。音速は20度のとき340m/sであることから、これをcmとμs単位に変換します。(μs)と音速を乗算することで超音波の往復距離を算出できます。往復時間を2で割ることで片道の時間、つまり物体までの距離を算出できます。2上記の計算式を用いてプログラミングを行います。以下の手順はこちらのWebサイトを参考に作成しています。1.以下のパーツを準備します。ESP32の電源用、またコードアップロード時のPCとの接続用ESP32とHC-SR04を接続します。使用するデバイスに合わせてピンの接続位置を調節してください。セットアップ方法については、こちらの記事を確認してください。IDEでもほぼ同じ手順とコードで実行できます。お好みの開発環境でお試しください。IOで新規のプロジェクトを開きます。以下のコードをmain.cppに貼り付けます。1秒ごとに値を出力しますdelay(1000);};3.ESP32と開発用のPCを接続します。(接続したPCのポートによって異なります)4.コードをESP32ボードにデプロイします。シリアルコンソールで以下のように距離が出力されます。センサーに手を近づけてみたり、物体を置いたりすると距離が変化します。それらしい距離の値を表示できています。まとめESP32と超音波センサーHC-SR04を使用して、距離センサーを作成しました。ESP32を利用することで、手軽にIoTプロジェクトを開始できます。超音波センサーでは音の速度から物体の距離を算出できます。水位センサーや物体との距離を計測するシステムなどの開発に応用できます。