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

67 篇文章 0 订阅
63 篇文章 0 订阅

在日常生活中离不开对距离的测量,就测量的手段来讲主要有两种测量方式,一种是直接测量法,另一种则为间接测量法。基于超声波的测量方式就属于间接测量方式,它是通过计算超声波发送与接收发射超声波的时间,进而由时间和超声波传播的速度乘积来得到距离值。
由于该测量方式是非接触式的,故不但能测量两个实体间的距离,还能测量距液体表面的距离等,所以它的应用面很宽,例如用在车载组合仪表上可以测量车体距前后方物体的距离及水箱、油箱的液位等。
目前市面上常见的超声波测距模块是HC_SR04,其相关参数如下: 
· 工作电压: 5V
· 工作电流: 15mA
· 工作频率: 40Hz
· 测距范围: 2cm~4m
· 测量角度:  15度
· 触发信号: 10us TTL
· 回声信号: TTL高电平持续时间
超声波测距模块与开发板的连接关系为:
trig — PB2
ecoh —PA0
通过对片内计时器TIM5的使用,超声波测距的主程序如下:
int main(void)
{
u32 temp=0;
delay_init();
OLED_InitI();
OLED_ClearI();
OLED_ShowStringI(10,0,“HC_SR04 TEST”,16);
OLED_ShowStringI(10,4,“L=”,16);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
TIM5_Cap_Init(0XFFFF,72-1);
while(1)
{
trig=1;
delay_us(20);
trig=0;
delay_us(20);
if(TIM5CH1_CAPTURE_STA&0X80)
{
temp=TIM5CH1_CAPTURE_STA&0X3F;
temp*=65536;
temp+=TIM5CH1_CAPTURE_VAL;
OLED_ShowNumI(30,4,temp*170/10000,4,16);
OLED_ShowStringI(70,4,“cm”,16);
TIM5CH1_CAPTURE_STA=0;
}
delay_ms(500);
}
}

[color=rgb(51, 102, 153) !important]复制代码

超声波测距效果

技术交流群 864588072

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值