超聲波模塊
從 YFRobotwiki
產品簡介
超聲波模塊可提供 2cm-400cm的非接觸式距離感測功能,測距精度可達高到 3mm;模塊包括超聲波發射器、接收器與控制電路。
注意:
1、此模塊不宜帶電連接,若要帶電連接,則先讓模塊的 GND端先連接,否則會影響模塊的正常工作。
2、測距時,被測物體的面積不少於 0.5平方米且平面盡量要求平整,否則影響測量的結果
工作原理
- 採用IO 口TRIG 觸發測距,給最少10us 的高電平信呈。
- 模塊自動發送8 個40khz 的方波,自動檢測是否有信號返回;
- 有信號返回,通過IO 口ECHO 輸出一個高電平,高電平持續的時間就是超聲波從發射到返回的時間。
公式
- uS/58=厘米
- uS/148=英寸
- 測試距離=(高電平時間*聲速(340M/S))/2;
規格參數
- 供電電壓: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 電子工作室