基于STM32的超声波倒车检测装置

本文介绍了基于STM32的超声波倒车检测装置的制作过程,包括超声波测距原理、串口通信、数码管显示和蜂鸣器报警等功能。通过发送串口指令启动装置,数码管实时显示距离,当车辆靠近障碍物10cm内,蜂鸣器报警。

基于STM32的超声波倒车检测装置

一、前言

    这里是为了完成学校嵌入式系统及应用实验而做的一个作业,硬件资源使用的是STM32F103VBT6开发板、HC-SR04超声波模块,蜂鸣器和数码管开发板上以及集成了。
    完成了如下功能:1.使用外设超声波模块达到测距功能;2.通过串口发送指令,使整个装置进行倒车检测工作;3.可通过串口实时查看车辆距离障碍物的距离;4.同时数码管也可实时显示当前车辆距离障碍物的距离;5.当车辆距离障碍物距离小于10cm,蜂鸣器开始报警,串口输出WARNING!!!警告驾驶者距离过近。

二、基本原理

1.超声波测距原理

    HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。
基本工作原理:
(1)采用IO口TRIG触发测距,给至少10us 的高电平信号;
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;

2.超声波时序图

在这里插入图片描述
    以上时序图表明你只需要提供一个10uS 以上脉冲触发信号,该模块内部将发出8个40kHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式: uS/58=厘米或者uS/148=英寸;或是:距离=高电平时间*声速(340M/S)/2;建议测量周期为60ms 以上,以防止发射信号对回响信号的影响。

3.串口通信原理

(1)接口通过三个引脚与其他设备连接在一起。任何USART双向通信至少需要两个脚:接收数据输入(RX)和发送数据输出(TX)。
这个之前博文有详细说过,这里不在赘述STM32串口通信

4.数码管原理

    数码管动态显示原理:动态显示的特点是将所有数码管的段选并联在一起,有位选控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余晖和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所有在选择限流电阻时应略小于静态显示电路中的。

5.蜂鸣器原理

    本装置中控制蜂鸣器的方式采用I/O 口定时翻转电平驱动蜂鸣器。使用I/O 口定时翻转电平驱动蜂鸣器方式的设置比较简单,只需要对波形分析一下。由于驱动的信号刚好为周期500μs,占空比为1/2duty 的方波,只需要每250μs 进行一次电平翻转,就可以得到驱动蜂鸣器的方波信号。

6.GPIO原理

    根据数据手册中列出的每个I/O端口的特定硬件特征,GPIO端口的每个位可以由软件分别配置成多种模式。①输入浮空 ②输入上拉 ③ 输入下拉 ④ 模拟输入 ⑥ 开漏输出 ⑦ 推挽式输出 ⑧ 推挽式复用功能 ⑨ 开漏复用功能,本装置采用的超声波模块,则复用了发送电平引脚PA0设置为推挽输出,返回电平引脚PA1设置为浮空输入。之前博文也有说到,这里不在赘述STM32GPIO

三、子模块设计以及代码

1.超声波测距模块

    HC-SR04超声波模块有VCC供5V电源,GND为地线,TRIG触发控制信号输入,ECHO回响信号输出等四支线。刚好利用开发板EXT区的四个引脚,只需要复用GPIO实现输出输入功能即可。
超声波模块的关键代码如下:
ultrasonic.c

#include "ultrasonic.h"
#include"delay.h"

//超声波硬件模块初始化
void Ultran_Init(void)
{
	RCC->APB2ENR|=1<<2;     //使能PORTA时钟
    //发送电平引脚PA0设置成推挽输出
  
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值