設備與材料
個人電腦 × 1
arduino Uno × 1
HC-SR04 模組 × 1
連接線 若干
實體接線圖
HC-SR04 工作原理
採用 trig 腳觸發測距,模組的 trig 腳高電位至少10μs,當 trig 腳變成低電位時,模組自動發送 8 個 40 kHz的方波,並且模組的 echo 腳輸出低電位,模組檢測是否有信號返回,如有信號返回,模組的 echo 腳輸出高電位。echo 腳從低電位變成高電位的這段時間,就是超音波從發射到返回的時間。測試距離 =(echo 腳從低電位變成高電位時間 x 聲速(340M / S))/ 2 = [ echo 腳從低電位變成高電位時間(μs) x 0.017 ] (cm)
參考程式
//超音波測距模組HC-SR04
const byte trigPin=5; //超音波測距的 觸發腳
const byte echoPin=6; //超音波測距的 回應腳
float d;
void setup() {
//設定輸出輸入
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
//開啟串例傳輸
Serial.begin(9600);
}
void loop() {
//測距離
d = sr04() * 0.017;
Serial.print(d,1);
Serial.println("cm");
delay(1000);
}
//超音波測距函式
//送 10μs 脈波給 HC-SR04 觸發腳(trigger pin),並計算 回應腳(echo)變成高電位的時間
unsigned long sr04() {
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
return pulseIn(echoPin, HIGH);
}
序列埠監控視窗
Arduino 輸出實習(單燈閃爍)
Arduino 輸出實習(跑馬燈-愚公移山)
Arduino 輸出實習(跑馬燈-for迴圈)
Arduino 數位輸入實習
Arduino 數位輸入實習(INPUT_PULLUP)
Arduino 類比輸入實習
Arduino PWM 實習 (呼吸燈)
Arduino PWM 實習 (光感應調光燈)
Arduino 8×8 LED Matrix MAX7219 實習
Arduino 紅綠燈小綠人 實習
Arduino 計時器 實習
Arduino 音樂盒
Arduino 電子琴(鍵盤掃描)
Arduino DHT11 溫濕度感應器
Arduino OLED 顯示
Arduino 超音波測距模組 HC-SR04
Arduino 執行時間實習
Arduino 電容測試器
Arduino 紅外線接收實習
Arduino 紅外線發射實習 EPSON 投影機控制
ESP-12F 網路智慧開關(MQTT)
ESP-12F 雲端記錄型 K-Type 溫度計(MQTT ThingSpeak)
ESP-12F 手機雲端紅外線控制
ESP-12F 網路電台收音機
ESP-12F 電子鼓