超聲波測距離傳感器常用于小車的障礙物檢測。它采用超聲波回波測距原理,運用精確的時差測量技術,檢測傳感器與目標物之間的距離。Trig 觸發控制信號輸入,Echo回響信號輸出。寫程序給Trig發送一個低高低的短時間脈沖,觸發測距;pulseIn函數會等待引腳變為HIGH,開始計算時間,再等待變為LOW并停止計時。聲速是:340m/1s 換算成 34000cm/ 1000000μs => 34 /1000。因為發送到接收,實際是相同距離走了2回,所以要除以2。距離(厘米) = (回波時間 * (34 / 1000)) / 2, 簡化后的計算公式為 (回波時間 * 17)/ 1000
超聲距離傳感器HC-SR04,Arduino uno板,杜邦線
VCC接 Arduino 5VGND接 Arduino GNDTRIG接 ArduinoDigital 12ECHO接 Arduino Digital 11
#define PIN_TRIG 12#define PIN_ECHO 11 float cm;float temp; void setup() { Serial.begin(9600); pinMode(PIN_TRIG, OUTPUT); pinMode(PIN_ECHO, INPUT); } void loop() { digitalWrite(PIN_TRIG, LOW); delayMicroseconds(2); digitalWrite(PIN_TRIG, HIGH); delayMicroseconds(10); digitalWrite(PIN_TRIG, LOW); temp = float(pulseIn(PIN_ECHO, HIGH)); cm = (temp * 17 )/1000; Serial.PRint("Echo = "); Serial.print(temp); Serial.print(", Distance = "); Serial.print(cm); Serial.println("cm"); delay(300); } (請注意:因各廠商硬件不同,引腳位置可能有差異,具體請見硬件說明書)
新聞熱點
疑難解答