首先简要先容HC-SR04模块的事情事理。该模块利用超声波测距的事理,通过发射超声波并打算从物体反射回来所需韶光间隔来推算间隔。模块紧张包括超声波发射部、吸收部及掌握电路。测距时,先向Trig端口发送一个>10us的高电平脉冲来启动测距,然后模块会从Echo端口发出8周期的40Khz方波,并检测回波旗子暗记。根据回波旗子暗记的韶光长度可以打算出物体的间隔。
本次实验利用STM32F103芯片与HC-SR04模块进行合营,完成超声波测距和间隔显示。实验步骤如下:
(1)连接传感器与STM32
VCC接单片机电源,GND端连接公共地线。Trig和Echo两端口连接到STM32单片机GPIO上,本实验Trig利用PA1,Echo利用PA2。(这里须要把稳:HC-SR04模块须要5V电源供电,而STM32F103事情电压为3.3V。有电源最好连接到电源引脚)
(2)编写测距程序
在Keil或IAR工程中编写测距代码,包含GPIO初始化、超声波模块配置、发送Trig旗子暗记及回波检测、间隔打算等函数。通过设置Trig输出模式,Echo输入模式来掌握模块的事情。进入主函数后,在while循环内不断调用测距函数以更新间隔值。这里代码不好看,不好复制,可以看我的CSDN基于STM32F103的超声波传感器实验:HC-SR04传感器-CSDN博客
(3)下载程序测试
利用J-Link或ST-Link将编译后的程序下载到开拓板上,供电后测距程序开始实行。通过OLED显示或串口打印输出的信息可以看到实时的间隔数据。
我这里分享一个包含150G学习资料的免费资料包,里面包含的学习内容、口试履历和项目实例都是比较新的和全面的
「链接」