久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 自學HC-SR04超聲波模塊 附Arduino程序 UART iic GPIO [打印本頁]

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

涉及操作stm32的GPIO口,外部中斷,定時器,本文中不會詳細解釋,僅提供代碼思路。

源程序:
  1. /*
  2. 模塊:          帶UART功能的HC-SR04(2020款)系列超聲波測距模塊   
  3. 主控芯片:      RCWL-9300系列
  4. 功能:          串口模式下讀取HC-SR04(2020款)系列超聲波測距模塊距離數據并串口顯示
  5. 注意:          HC-SR04(2020款)系列模塊選擇成UART模式,即模式選擇UART。
  6. 編寫:          無錫日晨物聯科技有限公司
  7. 方案定制:      18851501095
  8. 串口數據格式:  RCWL-1661串口輸出3位8BIT數據,距離MM值=24位數據轉換成10進制/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為TX;  A4接模塊TX,A5接模塊RX
  17. float     Data_h = 0;                 //高8位數據
  18. float     Data_m = 0;                 //中8位數據
  19. float     Data_l = 0;                 //低8位數據
  20. float     distance = 0;               //距離數據十進制值

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

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

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





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲视频中文字幕 | 精品视频在线播放 | 国产伦精品一区二区 | 久久网av | 日韩中文字幕一区二区 | 黄色网址在线免费观看 | 欧美综合在线观看 | 久久性色 | 黄色一级大片在线免费看产 | 日韩网站在线观看 | 亚洲天堂久久久 | 日韩天天操 | 超碰成人福利 | 国产一级18片视频 | 不卡av在线播放 | 欧美精品一级片 | 亚洲男人天堂网 | 欧美一区二区在线播放 | 日韩一区不卡 | 国产a精品 | 午夜美女福利 | 超碰成人福利 | 亚洲激情欧美 | 国产精品免费在线播放 | 伊人网视频 | 毛片在线观看视频 | 天天躁日日躁狠狠躁av麻豆男男 | 午夜在线观看视频网站 | 日本性网站| 日韩一区二区免费视频 | 日韩成人在线观看 | 亚洲乱码国产乱码精品精软件 | 亚洲国产精 | 欧美一级日韩一级 | 91一级片 | 国产日韩一区二区 | 不卡视频一区二区 | 国产91一区 | 日日夜夜狠狠操 | 亚洲一区二区av | 欧美日韩在线一区 |