Arduino 超音波測距模組 HC-SR04

學習如何學習!

設備與材料

個人電腦 × 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);
}

序列埠監控視窗


入門
知識
語法
流程
函式
實習

發佈留言