欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 自學(xué)HC-SR04超聲波模塊 附Arduino程序 UART iic GPIO [打印本頁(yè)]

作者: 技法盧卡斯JFK了    時(shí)間: 2024-1-16 16:45
標(biāo)題: 自學(xué)HC-SR04超聲波模塊 附Arduino程序 UART iic GPIO
使用的硬件:STM32F103C8T6,HC-SR04,ST-Link(其他燒錄器也可以),0.96寸OLED屏幕(非必須,僅供顯示測(cè)距結(jié)果,可以使用串口助手代替),若干杜邦線。

涉及操作stm32的GPIO口,外部中斷,定時(shí)器,本文中不會(huì)詳細(xì)解釋?zhuān)瑑H提供代碼思路。

源程序:
  1. /*
  2. 模塊:          帶UART功能的HC-SR04(2020款)系列超聲波測(cè)距模塊   
  3. 主控芯片:      RCWL-9300系列
  4. 功能:          串口模式下讀取HC-SR04(2020款)系列超聲波測(cè)距模塊距離數(shù)據(jù)并串口顯示
  5. 注意:          HC-SR04(2020款)系列模塊選擇成UART模式,即模式選擇UART。
  6. 編寫(xiě):          無(wú)錫日晨物聯(lián)科技有限公司
  7. 方案定制:      18851501095
  8. 串口數(shù)據(jù)格式:  RCWL-1661串口輸出3位8BIT數(shù)據(jù),距離MM值=24位數(shù)據(jù)轉(zhuǎn)換成10進(jìn)制/10000。
  9. 連線:
  10.    -VCC          = 5V /3.3V/3-40V   
  11.    -TRIG/RX/SCL  = A5
  12.    -ECHO/TX/SDA  = A4
  13.    -GND          = GND
  14. */
  15. #include "SoftwareSerial.h"
  16. SoftwareSerial mySerial(A4, A5);    // A4為RX, A5為T(mén)X;  A4接模塊TX,A5接模塊RX
  17. float     Data_h = 0;                 //高8位數(shù)據(jù)
  18. float     Data_m = 0;                 //中8位數(shù)據(jù)
  19. float     Data_l = 0;                 //低8位數(shù)據(jù)
  20. float     distance = 0;               //距離數(shù)據(jù)十進(jìn)制值

  21. void setup()
  22. {
  23.   Serial.begin(9600);                //定義串口波特率9600 出廠默認(rèn)波特率9600
  24.   mySerial.begin(9600);               //定義模擬串口波特率
  25.   Serial.println("HC-SR04(2020款) 測(cè)距開(kāi)始:");
  26. }

  27. void loop()
  28. {
  29.     Data_h = 0;
  30.     Data_m = 0;   
  31.     Data_l = 0;
  32.     distance=0;
  33.     mySerial.flush();                     //清模擬串口緩存數(shù)據(jù)
  34.     mySerial.write(0XA0);                 //發(fā)送開(kāi)始測(cè)試數(shù)據(jù)0XA0,0XA0為開(kāi)始測(cè)試命令數(shù)據(jù)
  35.    delay(120);                            //測(cè)量周期延時(shí),一個(gè)周期為100mS,設(shè)置120MS,留余量   
  36.    if (mySerial.available()>0)            //等待接收完3個(gè)數(shù)據(jù)
  37.    {
  38.     Data_h= mySerial.read();              //讀取緩存數(shù)據(jù)
  39.     Data_m= mySerial.read();
  40.     Data_l= mySerial.read();
  41.    }
  42.   else
  43.    {
  44.     Data_h= 0;                             //讀取緩存數(shù)據(jù)
  45.     Data_m= 0;
  46.     Data_l= 0;     
  47.     }
  48.    distance=(Data_h*65536+Data_m*256+Data_l)/10000;   //計(jì)算成CM值     
  49.    Serial.print("距離 : ");
  50.    if ((1<=distance)&&(900>=distance))     //1CM-9M之間數(shù)值顯示
  51.     {
  52.    Serial.print(distance);
  53.    Serial.print(" CM ");  
  54.     }
  55.    else
  56.     {
  57.    Serial.print(" - - - - ");             //無(wú)效數(shù)值數(shù)值顯示 - - - -
  58.     }
  59.    Serial.println();   
  60. //   delay(100);                             //調(diào)節(jié)測(cè)量周期  
  61. }
復(fù)制代碼

原理圖: 無(wú)
仿真: 無(wú)
代碼: HC-SR04(2020款)ARDUINO測(cè)試資料.7z (48.02 KB, 下載次數(shù): 13)





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1