超聲波模塊

出自YFRobotwiki
跳轉到: 導覽搜尋
超聲波模塊


產品簡介


超聲波模塊可提供 2cm-400cm的非接觸式距離感測功能,測距精度可達高到 3mm;模塊包括超聲波發射器、接收器與控制電路。

注意:

1、此模塊不宜帶電連接,若要帶電連接,則先讓模塊的 GND端先連接,否則會影響模塊的正常工作。

2、測距時,被測物體的面積不少於 0.5平方米且平面盡量要求平整,否則影響測量的結果



工作原理


  • 採用IO 口TRIG 觸發測距,給最少10us 的高電平信呈。
  • 模塊自動發送8 個40khz 的方波,自動檢測是否有信號返回;
  • 有信號返回,通過IO 口ECHO 輸出一個高電平,高電平持續的時間就是超聲波從發射到返回的時間。

公式

  • uS/58=厘米
  • uS/148=英寸
  • 測試距離=(高電平時間*聲速(340M/S))/2;


超聲波模塊時序圖
超聲波模塊時序圖.png


規格參數


  • 供電電壓:DC5V
  • 靜態電流:小於2mA
  • 工作頻率:40kHz
  • 感應角度:<15度
  • 探測距離:2cm-400cm
  • 精度:3mm
  • 安裝孔徑:2MM
  • 模塊尺寸:45*27*18MM(長*寬*高,包含排針)
  • 安裝孔間距:40mm、15mm
  • 模塊重量:7.3g


引腳說明


  • 1. VCC -- 電源
  • 2. Trig -- 觸發信號輸入
  • 3. Echo -- 迴響信號輸出
  • 4. GND -- 地


應用示例


電路連接

超聲波模塊 Arduino UNO
VCC +5V
Trig A2
Echo A3
GND GND


示意圖
超聲波


示例代碼

//HC_SR04 Test
 
const int TrigPin = A2;
const int EchoPin = A3;
float cm;
 
void setup()
{
  Serial.begin(9600);
  pinMode(TrigPin, OUTPUT);
  pinMode(EchoPin, INPUT);
}
void loop()
{
  digitalWrite(TrigPin, LOW); 
  delayMicroseconds(2);
  digitalWrite(TrigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(TrigPin, LOW);
 
  cm = pulseIn(EchoPin, HIGH) / 58.0;   //echo time conversion into a distance
  cm = (int(cm * 100.0)) / 100.0;       //keep two decimal places
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  delay(1000);
}

程序下載地址:HC_SR04_Test

程序運行結果:超聲波對着牆,測出實時距離,結果如圖:

超聲波測試結果圖



參考資料





返回首頁

更多建議和問題歡迎反饋至 YFRobot論壇

購買方式:YFRobot 電子工作室