目录

  • 1、功能定义
    • 1.1 超声波测距原理
    • 1.2 距离检测及信息反馈
  • 2、硬件结构
    • 2.1 STM32F10X主控板
    • 2.2 HY-SRF05 超声波模块
    • 2.3 工作原理
    • 2.4 超声波模块的工作时序图
    • 2.5 实现思路
  • 3、软件代码
    • 3.1 编程思路
    • 3.2 代码
  • 4、测试结果

1、功能定义

1.1 超声波测距原理

利用单片机编程产生频率为40KHz的方波,经过发射驱动电路放大,使超声波传感器发射端震荡,发射超声波。超声波经目标体(障碍物)反射回来,由传感器接收端接收,再经过接收电路放大、整形。当收到超声波的反射波时,接收电路输出端产生一个跳变。通过定时器计数,计算时间差,就可以计算出相应的距离。

计算公式如下: l=t/2∗Cl = t/2*Cl=t/2∗C
其中,
CCC 为超声波在空气中的传播速度,室温下约为340m/s340 m/s340m/s,
ttt 为从发射到接收超声波所经历的时间,
lll 为传感器到目标体(障碍物)之间的距离。

1.2 距离检测及信息反馈

初级功能
------------设置不同的检测距离值,反馈不同的LED颜色,串口显示数值

中级功能

------------将距离值实时反馈至LCD屏幕上

2、硬件结构

2.1 STM32F10X主控板

引脚接线

2.2 HY-SRF05 超声波模块

2.3 工作原理

该模块一共有5个引脚,分别是VCC、GND、Trig、Echo、Out。

  • 其中VCC和GND用于供电,手册上说VCC需要接5V,但是很多人都是接的3.3V也可以照常使用。

  • Trig:触发控制,信号输入。通过这个引脚输入触发信号,输入10us的高电平触发模块,模块自动发送8个40KHz的方波进行一次测距。

  • Echo:信号输出,回响信号接收。该引脚可以在接收到回响信号后输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。

  • OUT:该引脚在手册中提到为开关量输出,可以做报警模块使用,应该是一个模块状态口,通过判断OUT的高低电平来判断模块是否上电,基本不用。

2.4 超声波模块的工作时序图

2.5 实现思路

通过上面的分析,STM32主控板提供2个IO口分别用于信号的输出(PB8)和输入(PB9),VCC和GND用于供电。

  • PB8输出10us的高电平
  • PB9设置为上拉输入,当接收到高电平时,计时器开始计数,当PB9接收到低电平时,计时器停止计数
  • 计算发射和接收超声波期间的时间,利用公式得到测距值
  • 与设定值比较,点亮LED
  • 向LCD屏幕输出测距值

3、软件代码

3.1 编程思路

(1)配置GPIO以及定时器;

(2)给TRIG端口发送大于10us的高电平,当收到ECHO回响信号时,打开定时器开始定时;

(3)当回响信号消失,关闭定时器;

(4)通过定时器定时时间来确定距离

(5)测量周期60ms以上

3.2 代码

4、测试结果

利用HY-SRF05 超声波模块实现超声波的测距避障相关推荐

  1. 基于STM32和超声波模块的超声波测距,使用OLED显示距离和温度(附详细源代码)

    1. HC-SR04模块介绍 HC-SR04模块优势 此模块性能稳定,测度距离精确,模块高精度,盲区小. 产品应用领域: 1.机器人避障 2.物体测距 3.液位检测 4.公共安防 5.停车场检测 超声 ...

  2. HC-SR04超声波模块的使用(stm32f103c8t6/HAL)(超详细)

    系列文章目录(STM32常用外设/HAL库版) 一.HC-SR04超声波模块的使用(本篇) 二.OLED的HAL库代码介绍及使用 三.编码电机以及双电机驱动 本文主要介绍超声波模块HC-SR04的两种 ...

  3. 【物联网】老程序教你一招,10行代码让超声波模块秒变声控开关

    目录 1. 超声波模块的测距原理 2. 超声波模块如何与Arduino开发板连接 3. 先从测距开始 4. 如何将超声波改造成声控开关 5. 再加一个超声波开关 在本文最后有完整的视频讲解 玩Ardu ...

  4. 超声波模块c语言编程,超声波模块

    1.超声波模块型号 超声波模块是一种常用的测距工具,一般用在避障小车,水位监控系统中,本教程使用的模块型号为HC-SR04,外观形状大体如下 模块除了两个电源引脚外,还有TRIG,ECHO引脚,这两个 ...

  5. 超声波模块详细介绍(stm32循迹小车中超声波的介绍)

    超声波模块详细介绍(stm32循迹小车中超声波的介绍) 超声波模块是非常重要的一个模块,今天给大家全面介绍一下超声波模块的原理以及用法,代码的编写. 1 超声波模块的认识 首先,市面上的常见超声波模块 ...

  6. 超声波模块c语言编程,51单片机超声波模块的C语言程序.pdf

    //超声波模块程序 //超声波模块程序 //Trig P2^0 //Echo P3^2 #include #define uchar unsigned char #define uint unsign ...

  7. 超声波c语言程序,51单片机超声波模块的C语言程序.doc

    51单片机超声波模块的C语言程序.doc 超声波模块程序 超声波模块程序 Trig P20 Echo P32 include define uchar unsigned char define uin ...

  8. 13.STM32超声波模块讲解与实战

    目录 1.超声波模块讲解 2.超声波时序图 3.超声波测距步骤 4.项目实战 1.超声波模块讲解 超声波传感器模块上面通常有两个超声波元器件,一个用于发射,一个用于接收.电路板上有4个引脚:VCC G ...

  9. 基于C51单片机和TB6600步进电机驱动器驱动的三路超声波避障移动机器人平台设计与Proteus仿真

    目录 前言 例程分析 模块介绍 超声波模块(SRF04) TB6600步进电机驱动器和42步进电机 原理图讲解 运用示波器模拟 代码部分 项目后期 前言 这是我在一个大学生机械创新比赛所做的项目,主要 ...

  10. 超声波+红外线避障小车(Arduino + L298P电机驱动扩展板)

    我是一名小学6年级的学生,就叫我小花生吧.我就读于北京市朝阳区垂杨柳中心小学金都分校.我学习Python编程已经两年多了,曾获得蓝桥杯全国选拔赛二等奖(Python中级青少年组)和北京复赛二等奖.打算 ...

最新文章

  1. 使用php读写mysql数据库并显示到网页上
  2. 一个页面区分管理者和普通用户如何设计_电商系统:优惠券原型设计说明(二)...
  3. 旋转链表Python解法
  4. hibernate正向生成数据库表以及配置——Teacher.java
  5. SIGIR2020 | 基于GCN的鲁棒推荐系统研究
  6. 为什么visual的联机浏览功能不能用_Minecraft非正版联机教程
  7. r语言ggplot画两条曲线_如何用R语言绘制生存曲线?
  8. 数学建模之Python-微分方程建模实例
  9. win10一直正在检查更新_Win10关闭自动更新的方法汇总
  10. Windows Server 2008 R2 安装IIS管理器
  11. LabVIEW 编程小技巧
  12. Windows 10注册表损坏该如何修复?
  13. html电子贺卡国庆,中秋贺卡设计欣赏 电子贺卡制作 中秋电子贺卡模板
  14. 公司来了个首席架构师,服务器缩减一半,性能反而提升7倍!跪了...
  15. 一个老工程师的工作经历和思考
  16. 制作PPT的5大秘密武器
  17. C语言学习笔记(二): 简单的C程序设计
  18. 哈工大软件构造lab2实验报告
  19. maven打包三种方式
  20. 使用Ntrip协议连接CORS服务器获取差分数据-Java

热门文章

  1. C++表达式语句实训 对 26 个大写英文字母进行循环加密,输入一个大写英文字母(明文)和一个整数秘钥,输出用秘钥对该大写英文字母加密后的结果(密文)。
  2. Tomcat下发布war包产生两个不同版本的访问地址的解决方案appBase和docBase的关系
  3. openwrt 怎么进入串口_OpenWrt路由器读取串口数据,建立tcp服务
  4. 阵道计算机,太古神王电脑版
  5. 第三方Banner制作轮播图的具体方法
  6. 一瑞士法郎是多少人民币
  7. 删除链表的节点(JS)
  8. fullpage初使用
  9. 计算机无法还原,win7系统不能还原如何解决_win7电脑无法还原系统怎么办-win7之家...
  10. 如何判断车与路边线距离_靠边停车如何判断车轮与马路牙子的距离?一个办法真的很简单...