发 帖  
张飞软硬开源:基于MST32的BLDC直流无刷电机驱动器,👉戳此立抢👈

[经验] 【精英STM32F103 开发板试用体验】 超声波测距功能的实现

2018-10-25 09:33:49  12846 stm32
分享
5
      在日常生活中离不开对距离的测量,就测量的手段来讲主要有两种测量方式,一种是直接测量法,另一种则为间接测量法。基于超声波的测量方式就属于间接测量方式,它是通过计算超声波发送与接收发射超声波的时间,进而由时间和超声波传播的速度乘积来得到距离值。
    由于该测量方式是非接触式的,故不但能测量两个实体间的距离,还能测量距液体表面的距离等,所以它的应用面很宽,例如用在车载组合仪表上可以测量车体距前后方物体的距离及水箱、油箱的液位等。
      目前市面上常见的超声波测距模块是HC_SR04,其相关参数如下: 
· 工作电压: 5V
· 工作电流: 15mA
· 工作频率:  40Hz
· 测距范围: 2cm~4m
· 测量角度:  15度
· 触发信号: 10us TTL
· 回声信号: TTL高电平持续时间
       超声波测距模块与开发板的连接关系为:
trig  --- PB2
ecoh ---PA0

      通过对片内计时tiM5的使用,超声波测距的主程序如下:
  1. int main(void)
  2. {        
  3.         u32 temp=0;
  4.         delay_init();
  5.         OLED_InitI();        
  6.         OLED_ClearI();
  7.     OLED_ShowStringI(10,0,"HC_SR04 TEST",16);
  8.         OLED_ShowStringI(10,4,"L=",16);        
  9.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  10.         TIM5_Cap_Init(0XFFFF,72-1);        
  11.     while(1)
  12.         {        
  13.                 trig=1;
  14.                 delay_us(20);
  15.                 trig=0;
  16.                 delay_us(20);                                 
  17.                  IF(TIM5CH1_CAPTURE_STA&0X80)
  18.                 {
  19.                         temp=TIM5CH1_CAPTURE_STA&0X3F;
  20.                         temp*=65536;
  21.                         temp+=TIM5CH1_CAPTURE_VAL;
  22.                         OLED_ShowNumI(30,4,temp*170/10000,4,16);
  23.                         OLED_ShowStringI(70,4,"cm",16);
  24.                         TIM5CH1_CAPTURE_STA=0;
  25.                 }
  26.                 delay_ms(500);
  27.         }
  28. }
复制代码
图片1.png
超声波测距效果

唯爱萌meng 2018-10-25 17:05:53
很好体验帖子
回复

举报

jinglixixi 2018-10-27 08:35:37
感谢支持!                     
回复

举报

寒星1999 2018-10-30 15:55:33
很好的例子,学习了
回复

举报

12飓风 2018-10-31 12:15:29
感谢楼主的资料分享
回复

举报

祥睿汽车电脑 2018-11-6 14:53:56
很好的例子
感谢楼主的资料分享
回复

举报

sx_... 2018-11-7 10:10:25
谢谢分享,学习了
回复

举报

lhcmin163 2018-11-9 12:53:26
感谢前辈分享!!!谢谢
回复

举报

jinglixixi 2018-11-10 09:01:52
多谢大家的支持!!!
回复

举报

hzd530 2018-11-12 12:08:45
谢谢楼主,希望大家都能多点分享
回复

举报

a2066858 2018-11-12 15:38:43
好牛啊,   GOOD                      !!!!!!!
回复

举报

zhifubao 2018-11-16 16:15:31
再接再厉。
回复

举报

xxl1314 2018-11-17 19:20:33
谢谢分享,谢谢分享!
回复

举报

zj01633 2018-11-18 11:41:23
能发下你的全码吗
回复

举报

dong_kaiyue 2018-11-28 21:53:28
爱您  新手来学习啦
回复

举报

ElecFans王岑 2018-12-7 11:17:48
感谢楼主分享资料
回复

举报

city_prolove 2018-12-7 14:16:05
感谢楼主分享资料
回复

举报

PT00146 2018-12-14 15:03:00
感谢楼主发帖,第一次跟帖
回复

举报

zhj1163979310 2018-12-20 09:09:22
这个是串口直接读出距离的吧                  
回复

举报

jinglixixi 2018-12-20 09:37:43
非直接从串口直接读出距离,是使用计时器到推算出距离值。
回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

12下一页
发经验
课程
    关闭

    站长推荐 上一条 /8 下一条

    快速回复 返回顶部 返回列表