超聲波傳感器適用于對大幅的平面進行靜止測距。普通的超聲波傳感器測距范圍大概是 2cm~450cm,分辨率3mm(淘寶賣家說的,筆者測試環境沒那么好,個人實測比較穩定的 距離10cm~2m 左右,超過此距離就經常有偶然不準確的情況發生了,當然不排除筆者技術 問題。)
測試對象是淘寶上面最便宜的SRF-04 超聲波傳感器,有四個腳:5v 電源腳(Vcc),觸發控制端(Trig),接收端(Echo),地端(GND)
附:SRF 系列超聲波傳感器參數比較
模塊工作原理:
采用IO 觸發測距,給至少10us 的高電平信號;
模塊自動發送8個40KHz 的方波,自動檢測是否有信號返回;
有信號返回,通過IO 輸出一高電平,高電平持續的時間就是超聲波從發射到返回的時間.測試距離=(高電平時間*聲速(340m/s))/2;
電路連接方法
Arduino 程序例子:
constintTrigPin = 2;
constintEchoPin = 3;
floatcm;
voidsetup()
{
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
}
voidloop()
{
digitalWrite(TrigPin, LOW); //低高低電平發一個短時間脈沖去TrigPin
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
cm = pulseIn(EchoPin, HIGH) / 58.0; //將回波時間換算成cm
cm = (int(cm * 100.0)) / 100.0; //保留兩位小數
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(1000);
}
標簽:
Arduino
連接
超聲波傳感器
上傳時間:
2013-10-18
上傳用戶:星仔