stm32超声波测距汇总-共10页 联系客服

发布时间 : 星期三 文章stm32超声波测距汇总-共10页更新完毕开始阅读2da67ae632687e21af45b307e87101f69f31fbda

嵌入式系统及应用 开放性实验报告

Stm32

HC-SR04超声波测距

第一章 绪论

1.1 STM32超声波测距系统

1.1.1 HC-SR04超声波测距模块简介

HC-SR04 超声波测距模块可提供 2cm-400cm 的非接触式距离感测功能, 测距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。

使用电压:DC---5V 静态电流:小于2mA 电平输出:高5V 低0V 感应角度:不大于15度 探测距离:2cm-450cm 高精度: 可达3mm 1.1.2 HC-SR04超声波测距模块原理

采用 IO 口 TRIG 触发测距,给TRIG至少 10us 的高电平信号; 模块自动发送8个 40khz 的方波,自动检测是否有信号返回;

有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。

测试距离=(高电平时间*声速(340M/S))/2; T(℃)={(V25-Vsense)/Avg_Slope}+25

V25=Vsense 在 25 度时的数值(典型值为: 1.43)。

Avg_Slope=温度与 Vsense 曲线的平均斜率(单位为 mv/℃或 uv/℃)(典型值为4.3Mv/℃)。

利用以上公式,我们就可以方便的计算出当前物体超声波模块之间的距离。

程序中使用: 测试距离=高电平时间*声速(340M/S))/2 这个公式

1.2 设计要求

使用ARM开发板上硬件资源与超声波模块结合,编程实现实时距离显示功能,通过数码管实时显示距离,并在距离小于设定报警距离时使用蜂鸣器报警。

1.3 总体设计方案及框图

1.3.1 距离测量及获取方法

通过设置定时器,开启中断,读取ECHO输出高电平的持续时间,计算结果作为当前距离。 1.3.2 总体设计方案

实时距离: 本超声波测距系统可实现对距离的实时测量,并不断显示在数码管上

保持距离: 用户可通过按键使得当前距离值在数码管保持,也可再次返回对距离的实时测量,此模式下距离小于报警值不会报警,仅为显示模式。

两种模式相互转换,并且可以在距离保持状态时通过按键进入修改报警距离模式,如果实测距离小于下限值,蜂鸣器报警,当距离大于下限值时,报警自动停止。

1.3.3 程序框图

开始 K5按下 K6按下 初始化 SV-- 否 数码管及按键扫描 SV++ 显示当前距离 K7是否按下 是 K7按下 是 超声波测距 否 数码管显示距离 K4是否按下 K1 是否按下 否

第二章 正文

2.1 要求重述及分析

2.1.1 设计任务

超声波测距系统 2.1.2设计要求

使用STM-32开发板上硬件资源及HC-SR04超声波测距模块,编程实现超声波测距功能,通过数码管实时显示距离。 2.1.3要求分析

1使用HC-SR04 超声波测距模块以及stm-32自带数码管、LED等

2实现实时距离测量功能,通过数码管实时显示当前距离:设计程序实现对距离报警值的设定,并在低于报警值时使用蜂鸣器等进行提示。

2.2 相关配置具体设计

2.2.1 相关配置

1输入口输出口配置:将PC8设为与Trig相连的输出口,将PC7设置为接收Echo返回数据的输入口。使能APB2总线上的GPIOC时钟,根据参数配置对应引脚。

2按键配置:控制按键的端口:PA15和PB4~7。使能APB2总线上的GPIOA以及GPIOB时钟,根据参数配置对应引脚。