超声波模块HC-SR04
一、简介
1.概念
HC-SR04超声波测距模块可提供2em-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。
2.电路连接
3.工作原理
以上时序图表明你只需要提供一个10uS 以上脉冲触发信号,该模块内部将发出8个40kHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。
公式:距离=高电平时间*声速(340M/S)/2;
建议测量周期为60ms 以上,以防止发射信号对回响信号的影响。
注:
1.此模块不宜带电连接,若要带电连接,则先让模块的GND端先连接,否则会影响模块的正常工作。
2.测距时,被测物体的面积不少于0.5平方米且平面尽量要求平整,否则影响测量的结果
3.VCC3.3V高电平可能无法使模块工作,建议使用5V
二、STM32CubeMX配置步骤
首先创建一个空文件夹,用来存放项目。项目的文件路径中不能含有中文,项目名称也尽量使用英文
1.芯片选择
1.打开STM32CubeMX软件,选择File→New Project,在Part Number中输入自己的单片机型号,之后点击Start Project。我选择的是STM32F103C8T6,可根据自己的需求进行选择。
2.引脚配置
我使用的是J-Link下载器,因此除了配置超声波模块的引脚外,还需要配置下载代码所需的串口。
a.串口配置
根据查询芯片手册,可知串口1的引脚。
点击PA9,选择USART1_RX
点击PA10,选择USART1_TX
引脚为黄色,点击Connectivity→USART1,选择模式为异步通信,引脚变为正常绿色。
b.超声波模块引脚配置
在配置超声波模块引脚时,只需配置它的发射和接收引脚,一般不使用且没有特殊功能的引脚都可以进行配置,我使用的是PA6和PA7。
将PA6设置为输入模式,作为回响信号Echo
将PA7设置为输出模式,作为触发信号Tring
PA6和PA7的具体配置如下图
3.时钟配置
a.系统时钟配置
点击Clock Configuration,进入时钟配置,此时需要查看芯片具体手册,可知工作频率为72MHz
b.精准延时定时器配置
点击TIM1也可根据需要选择不同的定时器,定时事件为1us