对 超声波模块 的学习过程分享

一、概念和原理

        首先读者们要用跳线帽将J2的2-4和1-3接线柱都短接,超声波模块才能正常使用

        这个模块也是小蜜蜂和江科大都没有讲到。我们今天看的是 《蓝桥杯单片机保姆级教学》(账户名:柳离风)。

压电效应

蓝桥杯单片机开发板上的超声波模块

说明:1.接收头有一块专用芯片,叫做CX20106A,这个芯片可以跟红外一起连用;

2.看第一条红线,第七引脚就在N-B1,接收频率 接近 40KHz时就会在这个引脚产生一个低电平,到时我们去检测这个引脚的电压,如果是低电平就是表示接收到了超声波信号;

3.中心频率的意思就是说比40KHz低得不多得频率也能被检测到,第五脚就在R5那里。

板子上的超声波模块位置 

原理图部分

        注意事项中第二点说的电路就是下面这种电路 ,只需要注意左边的N-A1引脚输出一个频率时20KHz的方波,就能在最右边产生超声波。

N-A1引脚就在蓝色圈圈这里

说明:1,3短接,就可以通过P10引脚产生20KHz方波。

工作过程(与代码有关)

1.发射f=40KHz,占空比为%50的方波,那周期就是1/40k=25us,那就高电平和低电平各持续12.5us的时间,因为单片机对与小数不太好处理,那就各占12us的时间就好了,是误差允许的,发射之后就开始计时;

2.到P11产生低电平时作为停止计时的标志,空气中音速大概是340m/s,距离是两倍的,所以测到的实际距离格式S=170m/s * t,我们这显示使用的是cm,就可以进行下图的运算,将其转成S=0.017cm/us * t(我们产生的t就是us为单位的)

3.不需要一直发射,不然没法检测到发射与接收相对应的方波;也不能只发一个,因为可能会因为能量不够不会进行物体表面的反射,一般是发射5-8个周期的方波;

程序设计过程

1.使用定时器1,作为信号源,产生40KHz、占空比为%50的的方波,持续五个周期;

不用Delay函数产生25us周期的信号是因为这个函数误差太大了;

2.发送完之后,开始计时,如果检测到P11引脚是低电平时就停止计时;

3.开始计算距离;

4.若在测量范围内无障碍物时,仍然较长时间未收到回波,则停止计时,默认距离为最大距离255cm(因为本身最远的距离就是0-3m)(这个也是到时候的判断难点条件之一,因为容易漏掉)

二、题目

三、手写代码

        此次难点就在于步骤有很多,分了很多个小点,一处处小细节都要注意。

        先添加路径

框架

        注意此次的uart文件里面的波特率跟上一章一样要用定时器0来产生。

今天的主角ultra文件(出现第二种上位机没有实验现象的原因)

        咱们此次一步步来,因为步骤实在太多了。

第一步:引脚定义

下面是最新的原理图(引脚定义依据)

第二步:概括起来就是驱动发射头发射方波

细节包括,定时器1初始化、创一个返回值为计算好的距离的函数、定义变量、先不开始发射、调好初值、开始定时器计时、用while来制造五个周期,即num的作用、停止定时器(表示发送完毕)

此处第二处错误就是因为条件写错导致,卡死在此处,单进程的单片机无法进行下一步

第三步:概括起来就是开始计算时间,判断条件要全面

细节包括:设定初值为0,开始使用定时器1计时、(什么时候停呢,这就是咱们的判断条件)识别到判断条件时在进行判断,看是是不是超出最远距离。

        解释一下这个0.017的计算,将速度的单位换算一下340m/s=34000cm/1000000us=0x034cm/us(笔者使用等号就说明这速度大小是没变的)

再除2就计算出0.017了,除2是因为路程是双倍,而距离只是其中的一般

结尾

 

        实验现象:

1.上方没用手遮挡时,显示31.25左右的距离

因为俩个头离得比较近,所以会被接收到;

2.用手遮挡,测的距离与实际近似;

3.盖住发射头或者接收头,表示没有接收到信号,显示255cm默认最远距离

4.遮挡两头之间,上方手往上平移,可超过31cm测得实际值

        至此,咱们对于 超声波测距模块 的学习过程分享就到此结束了,大家切记要去默写一遍实现实验现象的代码,相信我,每次都会有新的收获!

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值