shineblink US-015超声波测距详解

一、本例程实现功能

通过US-015超声波测距传感器模块测量障碍物离传感器的距离,通过print()函数在电脑串口调试终端打印输出距离(单位:毫米)。

二、US-015超声波测距模块介绍以及原理

模块介绍:US-015是目前市场上分辨率高,重复测量一致性较好的超声波测距模块。US-015的分辨率可达1mm,测距精度高;重复测量一致性好,测距稳定可靠。US-015超声波测距模块可实现2cm~4m的非接触测距功能,供电电压为5V,工作电流为2.2mA。US-015是US-020模块的升级版本,和US-020模块完全兼容。

测距原理:测距时,超声波传感器 会发出8个40KHZ的超声波脉冲 ,然后Core会自动计算脉冲的回波时间,然后结合声音在空气介质中的速度(15℃ 340米/秒)即可计算出距离。

三、接线图

在这里插入图片描述

五、完整代码

--配置USB以虚拟串口模式工作,这样调用print()函数就会在电脑串口终端打印输出
LIB_UsbConfig("CDC")
--配置超声波传感器开始工作,固定占用Core的D4,D5引脚,每隔100ms左右可输出一个测量结果
LIB_US015Config()
--开始大循环
while(GC(1) == true)
do
    --每隔200ms查询一次传感器是否出数
    LIB_DelayMs(200)
    flag, distance = LIB_US015GetDistance()
    if flag == 1 then
        --打印测量距离(mm)
        print(string.format("distance:%dmm", distance))
    end
end

六、代码运行结果

当传感器离墙面40cm左右时,电脑串口调试终端上显示的距离值(mm)内容如下图:
在这里插入图片描述

六、影响测距精确度的因素

传输介质

最理想的情况是在干燥无风的空气介质中测量,如果空气潮湿或不均匀会对测量结果有一定的影响

被测物体平整度

被测的物体如果表面越平整,测量结果就越准确且稳定

环境温度

当环境温度发生变化时,声波的传输速度也会相应的发生变化,所以会导致测量准确性发生一点变化。下图是温度和声波速度的关系(V=331+0.6xT):
在这里插入图片描述
注意:Core中计算距离所用的声波速度为15℃,340m/s的参数,所以当环境温度不同于15℃时测量的距离和实际距离会发生一点变化。如果您的系统支持测量环境温度的话,就可以按照上面的公式计算出当前环境温度下的声波速度和标准340m/s的比例值,最后用这个比例值简单的修正一下Core输出的距离值即可。

更多详情请参看 shineblink.com官网链接

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值