HC-SR04 超聲波感測器:原理與接線圖
圖1:倒車雷達是超聲波感測器最為人熟知的應用場景
🚗 場景
倒車雷達「嗶嗶嗶」響起時,你知道車子離牆面還有多近嗎?
答案就藏在今天的主角裡——HC-SR04 超聲波感測器。
🎯 需求
這篇要解決一個問題:
HC-SR04 是什麼?它怎麼測量距離? Arduino 又怎麼接線與讀取數據?
不管你是 Maker 新手還是想搞懂原理的玩家,看完這篇就能動手做距離感測專案囉!
👀 感知
HC-SR04 使用的感知方式是超聲波測距。
就像蝙蝠在黑暗中飛行,靠的不是眼睛,而是發射超聲波 + 接收回聲來判斷障礙物的位置。
人類耳朵能聽到的聲音頻率約 20Hz~20kHz,而 HC-SR04 發射的超聲波頻率是 40kHz——超出人類聽覺範圍,所以我們完全聽不到。
圖2:HC-SR04 超聲波感測器模組,發射器(T)與接收器(R)分列兩端(Source: SparkFun, via Wikimedia Commons)
⚙️ 原理
🔊 怎麼測距離?
原理很簡單,分成三步:
- 發射:控制板發送一個 10μs 的觸發脈衝給感測器
- 飛行:感測器的超聲波發射器(Trig)發出超聲波,聲波向前跑,遇到障礙物反彈回來
- 接收:感測器的超聲波接收器(Echo)收到反射回來的超聲波
關鍵來了——聲波來回花了多少時間,我們是知道的!只要知道時間,就能算出距離。
簡單比喻:就像你在山谷裡喊「喂~」,2 秒後聽到回音,聲音來回花了 2 秒,聲速約 340m/s,所以山谷深度就是
340 × 2 / 2 = 340 公尺。
公式如下:
距離(cm)= (飛行時間 μs ÷ 2) × 0.0343
為什麼要除以 2?因為時間是來回的距離,我們只需要單程。
圖3:各式超聲波感測器,HC-SR04 是其中最常見的型號之一(Source: Wikimedia Commons)
🛠️ 實作
接線圖
HC-SR04 共有 4 支針腳,與 Arduino 的連接非常直覺:
| HC-SR04 針腳 | Arduino 接腳 | 說明 |
|---|---|---|
| VCC | 5V | 電源正極 |
| GND | GND | 接地 |
| Trig | Pin 9 | 觸發訊號(發射控制) |
| Echo | Pin 10 | 回聲訊號(接收讀取) |
程式碼
// HC-SR04 超聲波測距範例
// VCC → 5V, GND → GND, Trig → Pin 9, Echo → Pin 10
const int trigPin = 9; // 發射超聲波的針腳
const int echoPin = 10; // 接收回聲的針腳
float duration; // 飛行時間(微秒)
float distance; // 距離(公分)
void setup() {
Serial.begin(9600); // 啟動序列埠,速率 9600
pinMode(trigPin, OUTPUT); // 設定 Trig 為輸出模式
pinMode(echoPin, INPUT); // 設定 Echo 為輸入模式
}
void loop() {
// Step 1:發射超聲波
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10); // 發送 10μs 的觸發脈衝
digitalWrite(trigPin, LOW);
// Step 2:讀取回聲時間
duration = pulseIn(echoPin, HIGH);
// Step 3:計算距離
distance = (duration * 0.0343) / 2;
// Step 4:輸出到序列埠
Serial.print("距離:");
Serial.print(distance);
Serial.println(" cm");
delay(500); // 每 0.5 秒測量一次
}
上傳燒錄程式碼後,打開 工具 → 序列埠監控視窗,就能看到距離數值持續更新。
圖4:Arduino 電路接線示意圖(Source: Wikimedia Commons)
⚖️ 比較
HC-SR04 vs 紅外線感測器(IR)
| 維度 | HC-SR04 超聲波 | 紅外線 IR |
|---|---|---|
| 測量距離 | 2cm~400cm | 通常 < 80cm |
| 精準度 | ±3cm | 易受顏色/光線影響 |
| 測量介質 | 不受顏色影響 | 深色表面表現差 |
| 成本 | 便宜(≈ $1-2) | 也便宜 |
| 適用場景 | 戶外、液位、robot | 室內,近距離 |
結論:測距範圍大、精度高,而且不受障礙物顏色影響——這就是 HC-SR04 能廣泛用於倒車雷達、液位檢測、機器人避障的原因。
✅ 結尾
HC-SR04 是 CP 值最高的測距感測器之一,理解原理後你就能用它做出倒車雷達、液位計,甚至避障小車。
下一步,建議你試試看結合 Servo 馬達做一個超聲波雷達掃描器,用 Processing 畫出即時地形圖——保證驚豔!
圖5:停車場的車位感測器,就是超聲波測距技術的實際應用(Source: Wikimedia Commons)
🛒 所需零件
如果你還沒準備零件,以下是這篇教學需要的清單:
| 零件 | 用途 |
|---|---|
| HC-SR04 超聲波感測器 | 本文主角 |
| Arduino Uno R3 | 控制板 |
| 母對母杜邦線 | 接線必備 |
| 迷你麵包板 | 方便接線 |
閱讀時間約 4 分鐘|字數:約 1,100 字
標籤:#HC-SR04 #超聲波感測器 #Arduino #測距 #倒車雷達 #Maker




Top comments (0)