ホーム 🔍 センサー Lesson 13
🔍 Chapter 3 • センサー

おと距離きょりはかる!
超音波ちょうおんぱセンサーでレーダーをつくろう

⏱ やく55ぷん
🤖 Arduino使用しよう
📡 HC-SR04・pulseIn
🤖
エンジくん コウモリはくら洞窟どうくつでも超音波ちょうおんぱを使って障害物しょうがいぶつけるんだよ!同じ仕組しくみみで距離を測るHC-SR04センサーを使って、自分だけのレーダーを作ろう!

1
このレッスンでまなぶこと

  • 📡 HC-SR04超音波ちょうおんぱ距離きょりはかるセンサー
  • pulseIn() — ピンがHIGHになっている時間じかんはか
  • 🔢 距離計算きょりけいさんdistance = duration × 0.034 ÷ 2
  • 📊 delayMicroseconds() — マイクロびょう(1びょうの100万分まんぶんの1)単位で
  • 🎮 レーダーシミュレーター — スライダーで距離きょり再現さいげん

2
用意よういするもの

💡 HC-SR04はジャンパー線4本だけでArduinoにつながる!ブレッドボードも不要な場合が多いよ。

3
HC-SR04超音波ちょうおんぱセンサーのしくみ

📡 HC-SR04ってどんなセンサー?

VCC Trig Echo GND HC-SR04
VCC

5V電源

Trig(トリガー)

超音波を発射する命令を送る

Echo(エコー)

超音波が戻ってきた時間を知らせる

GND

マイナス(グランド)

⚡ 距離を測る流れ

1
Trigピンを10μsだけHIGHにする

「超音波を出せ!」という命令を送る。10マイクロ秒=0.00001秒!

2
超音波が飛んでいく(音速:340m/s)

センサーから超音波パルスが発射される。前にある物体に当たると跳ね返ってくる!

3
EchoピンがHIGHの時間を計る

pulseIn(ECHO, HIGH)で往復時間(マイクロ秒)を取得。

4
距離に変換する

distance = duration × 0.034 ÷ 2
往復なので÷2して片道を求める!

🔢 距離計算の式

distance (cm) = duration (μs) × 0.034 ÷ 2
0.034 = 音速(1μsで進むcm数)
÷2 = 往復→片道に変換
例)duration = 1000μs → 1000 × 0.034 ÷ 2 = 17 cm

4
コードをてみよう

const int TRIG = 9; // Trigピン const int ECHO = 10; // Echoピン void setup() { pinMode(TRIG, OUTPUT); pinMode(ECHO, INPUT); Serial.begin(9600); } void loop() { // ① Trigピンで超音波を発射 digitalWrite(TRIG, LOW); delayMicroseconds(2); // 2μs待ってリセット digitalWrite(TRIG, HIGH); delayMicroseconds(10); // 10μsだけHIGHにする digitalWrite(TRIG, LOW); // ② 帰ってくるまでの時間を計る(マイクロ秒) long duration = pulseIn(ECHO, HIGH); // ③ 距離に変換(cm) float distance = duration * 0.034 / 2.0; // ④ シリアルモニターに表示 Serial.print("距離: "); Serial.print(distance); Serial.println(" cm"); delay(200); }

⚠️ delayMicroseconds()delay() よりずっと短い!
1マイクロ秒 = 0.000001秒(1秒の100万分の1)

💡 long型int より大きな整数を扱える型。pulseIn()の戻り値は大きい数になることがあるのでlongを使おう!

5
回路のつなぎかた

HC-SR04のピン Arduinoにつなぐ先
VCC 5V
Trig D9
Echo D10
GND GND

✅ HC-SR04は4本のジャンパー線だけでOK!抵抗も不要でシンプルな配線だよ。

6
実際じっさいにつないでみよう!

🎉 レーダーマスター!超音波ちょうおんぱセンサーで距離きょりはかれるようになったね!

7
クイズに挑戦ちょうせん

🤖
エンジくん 超音波センサーの仕組み、ちゃんと覚えたかな?距離計算の式が大事だよ!
クイズをちゅう

8
レーダーシミュレーター 📡

🤖
エンジくん スライダーで物体との距離を変えてみよう!センサーがどう反応するか確認できるよ。
HC-SR04
📦
📏 距離を変える
近い(2cm) 遠い(400cm)
50
距離(cm)
2941
duration(μs)
📦 中距離(50cm)
🏆

Lesson 13 完了かんりょう

超音波ちょうおんぱセンサーで距離きょりはかれるようになったよ!次はセンサーを2つ組み合わせて作品を作ろう!

つぎのレッスンへ → センサー2つであそぼう!

9
まとめ

  • ✅ HC-SR04はTrigピンで超音波を発射、Echoピンで帰ってくる時間を計る
  • delayMicroseconds(10) でTrigを10μsだけHIGHにする
  • pulseIn(ECHO, HIGH) でEchoピンのHIGH時間(μs)を取得
  • distance = duration × 0.034 ÷ 2 で距離(cm)に変換
  • ✅ 測定範囲は約2cm〜400cm。コウモリと同じ仕組み!
← Lesson 12にもど 🏠 ホーム つぎのレッスン →