I2C超聲波模塊
從 YFRobotwiki
產品簡介
超聲波模塊採用IIC接口通訊模式,可提供 2cm-300cm的非接觸式距離感測功能,測距精度可達高到 3mm。
注意:
1、此模塊不宜帶電連接,若要帶電連接,則先讓模塊的 GND端先連接,否則會影響模塊的正常工作。
2、測距時,被測物體的面積不少於 0.5平方米且平面盡量要求平整,否則影響測量的結果
工作原理
向模塊寫入 0X01,模塊開始測距;等待 100mS(模塊最大測距時間)以上。直接讀出 3 個距離數據。BYTE_H,BYTE_M 與 BYTE_L。
距離計算方式如下(單位 mm):
- 距離=((BYTE_H<<16)+(BYTE_M<<8)+ BYTE_L)/1000
規格參數
- 供電電壓: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
程序運行結果:超聲波對着牆,測出實時距離,結果如圖:
參考資料
垃圾桶安裝視頻教程
訪問論壇 | 論壇邀請碼獲取 | 技術交流群 |
淘寶企業店 | 淘寶直營店 | 聯繫我們 |