超音波センサーは、物理的な世界と実際に接触することなく、距離を測定して物体を検出するための優れたツールです。これは、液面の測定、近接性のチェック、さらには自動車でのセルフパーキングや衝突防止システムの支援など、いくつかのアプリケーションで使用されます。以前は、水位検出、超音波レーダーなどの多くの超音波センサープロジェクトも構築しました。これは、小さな距離を正確に測定するための効率的な方法です。このプロジェクトでは、ArduinoでHC-SR04 超音波センサーを使用しました センサーから障害物までの距離を決定します。超音波距離測定の基本原理はECHOに基づいています。音波が環境内を伝わると、波は障害物に当たった後、ECHOとして原点に戻ります。したがって、両方の音の移動時間を計算する必要があるのは、障害物に衝突した後の発信時間と原点への復帰時間を意味します。音速はわかっているので、計算をすれば距離を計算できます。このArduino距離測定プロジェクトにも同じ手法を使用するので、始めましょう。
使用するコンポーネント
- ArduinoUnoまたはProMini
- 超音波センサーモジュール
- 16x2 LCD
- 規模
- ブレッドボード
- 9ボルト電池
- 接続線
超音波センサーモジュール
Arduino距離センサーにはさまざまな種類がありますが、このプロジェクトでは、HC-SR04 を使用して2cm〜400cmの範囲の距離を3mmの精度で測定しました。センサーモジュールは、超音波送信機、受信機、制御回路で構成されています。超音波センサーの動作原理は次のとおりです。
- 高レベル信号は、トリガーを使用して10usに送信されます。
- モジュールは8つの40KHz信号を自動的に送信し、パルスが受信されたかどうかを検出します。
- 信号が受信された場合、それは高レベルを通過しています。持続時間が長い時間は、信号の送信と受信の間の時間ギャップです。
距離=(時間x空気中の音速(340 m / s))/ 2
タイミング図
このモジュールは、音のエコーの自然現象に作用します。モジュールをトリガーするために、約10usのパルスが送信されます。その後、モジュールは自動的に8サイクルの40 KHz超音波信号を送信し、そのエコーをチェックします。障害物に当たった後の信号は戻ってきて、受信機によってキャプチャされます。したがって、センサーからの障害物の距離は、次の式で簡単に計算されます。
距離=(時間x速度)/ 2。
ここでは、速度と時間の積を2で割っています。これは、時間が障害物に到達して戻るのにかかった合計時間だからです。したがって、障害物に到達する時間は、かかる合計時間の半分にすぎません。
超音波センサーArduinoの回路図と説明
距離を測定するためのarduinoと超音波センサーの回路図を上に示します。回路接続では、超音波センサーモジュールの「トリガー」ピンと「エコー」ピンは、arduinoのピン18(A4)と19(A5)に直接接続されています。16x2LCDは4ビットモードでarduinoに接続されています。制御ピンRS、RW、Enはarduinoのピン2、GND、3に直接接続されています。データピンD4-D7はarduinoの4、5、6、7に接続されています。
まず、超音波センサーモジュールをトリガーしてarduinoを使用して信号を送信し、ECHOの受信を待つ必要があります。Arduinoは、ECHOをトリガーしてから受信するまでの時間を読み取ります。音速は約340m / sです。したがって、次の式を使用して距離を計算できます。
距離=(移動時間/ 2)*音速
音速は毎秒約340mです。
距離の表示には16x2LCDを使用しています。
このチュートリアルで距離測定プロジェクトの作業の詳細を確認してください:超音波センサーとAVRマイクロコントローラーを使用した距離測定。
距離測定用のArduino超音波センサーコード
この超音波距離測定プロジェクトの完全なコードは、このページの下部にあります。コードでは、pulseIn(pin)を使用して時間を読み取ります。そして、適切な機能を使用して計算を実行し、16x2LCDに結果を表示します。