I2C超聲波模塊

出自YFRobotwiki
在2023年4月6日 (四) 11:11由Allblue對話 | 貢獻所做的修訂版本

跳轉到: 導覽搜尋

yfrobot_vc_kit_v



產品簡介


超聲波模塊採用IIC介面通訊模式,可提供 2cm-300cm的非接觸式距離感測功能,測距精度可達高到 3mm。

注意:

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

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



工作原理

超聲波I2C模塊-IIC傳輸格式


超聲波I2C模塊-IIC命令格式



向模塊寫入 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

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

超聲波測試結果圖



參考資料


垃圾桶安裝視頻教程



訪問論壇 論壇邀請碼獲取 技術交流群
淘寶企業店 淘寶直營店 聯繫我們