Arduino/初級/7分で読める/
Arduino UnoでHC-SR04超音波距離センサーを使う配線とスケッチ
HC-SR04はArduinoの5V入出力と相性がよく、距離測定の入門に使いやすいモジュールです。TRIGで超音波を出し、ECHOのパルス幅から距離を計算します。
WIRING ORDER
配線順序プレビュー
Tsunagu IoT Learn / Arduino
- 1STEP 1HC-SR04 VCC から Arduino 5V へここからHC-SR04 VCC→ここへArduino 5V
確認: Arduino Unoでは5V電源を使います。
- 2STEP 2HC-SR04 GND から Arduino GND へここからHC-SR04 GND→ここへArduino GND
確認: GNDを共通にします。
- 3STEP 3HC-SR04 TRIG から Arduino D9 へここからHC-SR04 TRIG→ここへArduino D9
確認: 測定開始のトリガー出力です。
- 4STEP 4HC-SR04 ECHO から Arduino D10 へここからHC-SR04 ECHO→ここへArduino D10
確認: Arduino Unoのデジタル入力でパルス幅を読み取ります。
用意するもの
- Arduino Uno
- HC-SR04超音波距離センサー
- ブレッドボード
- ジャンパーワイヤー
配線
| 接続元 | 接続先 | 確認点 |
|---|---|---|
| HC-SR04 VCC | Arduino 5V | Arduino Unoでは5V電源を使います。 |
| HC-SR04 GND | Arduino GND | GNDを共通にします。 |
| HC-SR04 TRIG | Arduino D9 | 測定開始のトリガー出力です。 |
| HC-SR04 ECHO | Arduino D10 | Arduino Unoのデジタル入力でパルス幅を読み取ります。 |
配線元、配線先、コードのピン番号を同じ画面で確認できます。
手順
- 1USBを外した状態でHC-SR04をブレッドボードに置きます。
- 2VCCを5V、GNDをGNDへ接続します。
- 3TRIGをD9、ECHOをD10へ接続します。
- 4スケッチを書き込み、シリアルモニターを9600bpsで開きます。
- 5センサー前の物体を動かし、距離表示が変化するか確認します。
D9/D10でHC-SR04の距離を読むArduinoスケッチ
cppconst int TRIG_PIN = 9;
const int ECHO_PIN = 10;
void setup() {
Serial.begin(9600);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
}
void loop() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
const long duration = pulseIn(ECHO_PIN, HIGH, 30000);
const float distance = duration * 0.0343 / 2;
if (duration == 0) {
Serial.println("測定範囲外");
} else {
Serial.print("距離: ");
Serial.print(distance);
Serial.println(" cm");
}
delay(500);
}動かないときの確認
- シリアルモニターの速度が9600bpsになっているか
- TRIGとECHOをコード通りのピンへ接続しているか
- VCCが5V、GNDがGNDにつながっているか
- 測定対象がセンサーの正面にあるか
よくあるミス
- TRIGとECHOを逆に接続する
- シリアルモニターのボーレートを間違える
- 近すぎる距離や斜めの対象で値が安定しないことを配線ミスと判断する
次に試すこと
距離測定ができたら、近づいたらLEDを光らせる、ブザーを鳴らすなど、条件分岐を含む回路へ広げるのがおすすめです。
デモで配線を確認する