HC-SR04超音波距離センサー用のArduinoコードとビデオ

HC-SR04超音波距離センサー用のArduinoコードとビデオ

このチュートリアルでは、HC-SR04超音波距離センサーをArduinoで使う方法を学びます。HC-SR04は、超音波を用いて距離を測定する安価で効果的なデバイスです。信号を送信してエコーが返ってくるまでの時間を測定することで、対象物までの距離を正確に算出できます。

How HC-SR04 ulrasonic sensor work

このプロジェクトでは、Arduinoにセンサーを接続し、距離を読み取って表示する簡単なプログラムを作成します。プログラムはNewPingライブラリを利用してセンサーとの通信を簡素化します。視覚的な参照や手順のさらなる説明が必要な場合は、動画(00:00)を必ず確認してください。

ハードウェア解説

HC-SR04超音波センサは送信機と受信機の2つの主要な構成要素から成り立っています。送信機は人間の可聴域を超える周波数の超音波パルスを発し、受信機はそれらのパルスが物体で反射して戻ってくるエコーを検出します。パルスを送信してからエコーを受信するまでの時間を計算することで、物体までの距離を求めることができます。

センサーには2つの必須ピンがあります:トリガーピンとエコーピンです。トリガーピンは短い高レベルの信号を送って測定を開始するために使われ、エコーピンは反射信号を受信してエコーが戻るまでの時間を測定します。

データシートの詳細

製造業者HC-SR04
品番HC-SR04
ロジック/IO電圧5 V
電源電圧5 V
出力電流(チャンネルあたり)15 mA
ピーク電流(チャネルあたり)20 mA
PWM周波数に関するガイダンス該当なし
入力論理閾値0.3 V(低)、0.7 V(高)
電圧降下 / RDS(オン) / 彩度該当なし
熱限界0°C〜70°C
パッケージモジュール
注記 / バリエーション最大到達距離 400 cm

  • 適切な電源(5 V)を確保してください。
  • 正確な測定のためにセンサーを清潔に保ってください。
  • トリガーピンを使用して測定を開始してください。
  • 信頼できる結果を得るために、最大距離を超えないでください。
  • 超音波が反射して戻るための経路を確保してください。
  • 電源ピン付近にデカップリングコンデンサを配置してください。
  • 読み取りに干渉する可能性のある周囲の雑音に注意してください。
  • センサーに慣れるために、さまざまな距離でテストしてみてください。

配線手順

Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor

HC-SR04超音波センサーをArduinoに配線するには、次の手順に従ってください:

  • 接続してくださいVCCHC-SR04のピンをArduinoの5Vピンに接続する。
  • 接続してくださいGNDHC-SR04のピンをArduinoのGNDピンに接続する。
  • 接続してくださいTRIGHC-SR04のピン(通常は青色)をArduinoのデジタルピン12に接続します。
  • 接続するECHOHC-SR04のピン(通常は緑色)をArduinoのデジタルピン11に接続する。

断続的な読み取りを避けるため、接続が確実に行われていることを確認してください。異なるセットアップや別の配線を使用している場合は、追加のガイダンスについてビデオ(00:00)を参照してください。

コード例と解説

以下のコードは NewPing ライブラリを初期化し、HC-SR04 センサー用のピンを設定します。主な要素は、トリガーおよびエコーのピンの定義と最大距離の設定です。

#define TRIGGER_PIN  12  // Trigger pin
#define ECHO_PIN     11  // Echo pin
#define MAX_DISTANCE 200  // Max distance in cm

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Set up NewPing

この抜粋では、TRIGGER_PINそしてECHO_PINそれぞれデジタルピン12と11に設定されています。そのMAX_DISTANCEこれは、あなたが測定したい最大の距離である200 cmと定義されています。

次に、結果を表示するためにシリアルモニタが初期化される setup 関数があります:

void setup() {
  Serial.begin(115200); // Initialize serial monitor
}

このコードはボーレート115200でシリアル通信を開始し、シリアルモニタで距離測定値を確認できるようにします。

最後に、loop関数は距離を測定し、それが12 cm以下かどうかをチェックします:

void loop() {
  delay(50); // Wait between pings
  int distance = sonar.ping_cm(); // Measure distance
  if(distance <=12){ // Check distance
    Serial.println("Very close"); // Print if very close
  }
}

〜の中でloop(), 測定の頻度を制御するために50ミリ秒の遅延を導入します。距離を測定し、それが12 cm以下であればシリアルモニタに「非常に近い」と表示します。

完全なコードについては、記事の下にある読み込みセクションをご参照ください。

デモンストレーション/当日の流れ

プログラムを実行すると、Arduinoは最も近い物体までの距離を継続的に測定します。距離はセンチメートルで表示され、物体が12 cm以内に検出された場合は「非常に近い」と通知されます。物体が近すぎると、動画(10:00)で指摘されているように、誤った測定値が出たりまったく測定できなかったりすることがあります。

センサーが正しく配置され、超音波の進行を妨げる障害物がないことを確認してください。すべてが正しく設定されていれば、シリアルモニターに一貫した測定値が表示されるはずです。

動画のタイムスタンプ

  • 00:00- HC-SR04の紹介
  • 01:30センサーの配線
  • 03:00- コードの概要
  • 05:00- プログラムの実行
  • 07:30- 距離の測定

画像

Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
HC-SR04 ulrasonic sensor
HC-SR04 ulrasonic sensor
How HC-SR04 ulrasonic sensor work
How HC-SR04 ulrasonic sensor work
42-This is the Arduino code for the HC-SR04 ultrasonic distance sensor.
言語: C++
コピーしました!

リソースと参考文献

ファイル📁

ファイルは利用できません。