您的位置:首页 > 其它

利用STM32F407控制US-100超声波模块测距实验

2019-03-23 16:07 106 查看

超声波测距是进行小车实验时最为常用的测距模块,因为其原理简单以及价格低廉,受到很多同学的喜爱,下面为大家介绍利用STM32F407单片机控制US-100进行测距。
原理:给超声波模块Trig端一个大于10us的高电平,模块会自动发射8个40KHZ的声波,同时Echo电平变高,当声波被模块接收时,Echo电平变低,通过时间差可以计算出测量的距离。
首先,硬件部分,超声波模块用的是US-100,可以在淘宝上购买,价格也非常的便宜,单片机用的STM32F407ZGT6如下图:
US-100图
STM32ZGT6
US-100的一些参数
两种配置方式,这里我们选择比较简单的TTL电平触发模式
接线就更为简单了,4,5号接地接一个就行

第二步,上程序,需要配置的有三个文件,串口通信,传感器引脚配置以及定时器TIM2的配置
首先,看一下主函数
主要是几个初始化,串口,LED灯,传感器,在主循环中,可以设置LED0的闪烁,来表示正在测量中,然后调用Senor_Using()函数来测量距离

这个主要的函数,设置定时器TIM来计时,确定发射与接收的两个引脚pb8,9,并配置其模式,最后使能TIM2,这些都是基本的配置方法,就不多家累赘


这个是测量函数,基本原理是给Trig一个20us的高电平,触发声波,并且Echo变为高电平,此时开启定时器,等到超声波被模块接收,Echo变成低电平,从而得出声波发送的时间,计算出距离,测量5次取平均值,基本原理在注释中写的很清楚了,再配置中断服务函数即可

以上就是超声波测距的基本过程了,可试用基本F4的板子,少进去程序,连好线,打开串口助手,就可以测量距离了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: