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
規格參數
- 供電電壓:DC3.3V-DC5V
- 工作電流:約3mA
- IIC通訊地址:0x57(不可更改)
- 感應角度:約30度
- 探測距離:2cm-300cm
- 精度:3mm
- 接口類型:PH2.0-4P
- 外形尺寸:單位mm
引腳說明
應用示例
電路連接
超聲波模塊 | 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
程序運行結果:超聲波對着牆,測出實時距離,結果如圖:
參考資料
訪問論壇 | 論壇邀請碼獲取 | 技術交流群 |
淘寶企業店 | 淘寶直營店 | 聯繫我們 |