這次由于抽空調式了一陣超聲波模塊US-015,從一些大神那里下了代碼進行了改編,得出了stm32Mini板的測試程序。下面我講解幾點注意的事項:
程序用到的外設主要有:USART1, TIM2, TIM3等。
因為我自己也看過數據手冊,對其計算距離的公式也進行了一次推導,發現好像沒什么問題,但是用串口打印出來的數據單位卻好像是cm;
而且似乎也不能測得很遠,我覺得有效范圍也就40cm左右。如果諸位有更好的方法或程序,還望指點分享一二!!!
好了,先這樣,感謝閱讀!
資料如下:
超聲波測距.7z
(5.08 MB, 下載次數: 98)
2019-8-9 16:44 上傳
點擊文件名下載附件
單片機源程序如下:
- #include "sys.h"
- #include "led.h"
- #include "delay.h"
- #include "usart.h"
- #include "uw.h"
- float distance;
- int main()
- {
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
- CH_SR04_Init();
- led_init();
- uart_init(115200);
- delay_init();
- LED1=1;
- while(1)
- {
- distance=Senor_Using();
- printf("距離為:%f cm\n",distance);
- //printf("距離為:%f cm\n",Senor_Using());
- if(distance>20)
- LED0=~LED0;
- LED1=~LED1;
- delay_ms(100);
- }
- }
復制代碼
|