I2C超聲波模塊

出自YFRobotwiki
在2023年4月6日 (四) 11:15由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


規格參數


  • 供電電壓:DC3.3V-DC5V
  • 工作電流:約3mA
  • IIC通訊地址:0x57(不可更改)
  • 感應角度:約30度
  • 探測距離:2cm-300cm
  • 精度:3mm
  • 接口類型:PH2.0-4P
  • 外形尺寸:單位mm

樂高兼容模塊外殼尺寸.png



引腳說明


LEGO-聲音傳感器-PINOUT


應用示例


電路連接

超聲波模塊 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

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

超聲波測試結果圖



參考資料


垃圾桶安裝視頻教程



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