利用HY-SRF05 超声波模块实现超声波的测距避障
目录
- 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 超声波模块实现超声波的测距避障相关推荐
- 基于STM32和超声波模块的超声波测距,使用OLED显示距离和温度(附详细源代码)
1. HC-SR04模块介绍 HC-SR04模块优势 此模块性能稳定,测度距离精确,模块高精度,盲区小. 产品应用领域: 1.机器人避障 2.物体测距 3.液位检测 4.公共安防 5.停车场检测 超声 ...
- HC-SR04超声波模块的使用(stm32f103c8t6/HAL)(超详细)
系列文章目录(STM32常用外设/HAL库版) 一.HC-SR04超声波模块的使用(本篇) 二.OLED的HAL库代码介绍及使用 三.编码电机以及双电机驱动 本文主要介绍超声波模块HC-SR04的两种 ...
- 【物联网】老程序教你一招,10行代码让超声波模块秒变声控开关
目录 1. 超声波模块的测距原理 2. 超声波模块如何与Arduino开发板连接 3. 先从测距开始 4. 如何将超声波改造成声控开关 5. 再加一个超声波开关 在本文最后有完整的视频讲解 玩Ardu ...
- 超声波模块c语言编程,超声波模块
1.超声波模块型号 超声波模块是一种常用的测距工具,一般用在避障小车,水位监控系统中,本教程使用的模块型号为HC-SR04,外观形状大体如下 模块除了两个电源引脚外,还有TRIG,ECHO引脚,这两个 ...
- 超声波模块详细介绍(stm32循迹小车中超声波的介绍)
超声波模块详细介绍(stm32循迹小车中超声波的介绍) 超声波模块是非常重要的一个模块,今天给大家全面介绍一下超声波模块的原理以及用法,代码的编写. 1 超声波模块的认识 首先,市面上的常见超声波模块 ...
- 超声波模块c语言编程,51单片机超声波模块的C语言程序.pdf
//超声波模块程序 //超声波模块程序 //Trig P2^0 //Echo P3^2 #include #define uchar unsigned char #define uint unsign ...
- 超声波c语言程序,51单片机超声波模块的C语言程序.doc
51单片机超声波模块的C语言程序.doc 超声波模块程序 超声波模块程序 Trig P20 Echo P32 include define uchar unsigned char define uin ...
- 13.STM32超声波模块讲解与实战
目录 1.超声波模块讲解 2.超声波时序图 3.超声波测距步骤 4.项目实战 1.超声波模块讲解 超声波传感器模块上面通常有两个超声波元器件,一个用于发射,一个用于接收.电路板上有4个引脚:VCC G ...
- 基于C51单片机和TB6600步进电机驱动器驱动的三路超声波避障移动机器人平台设计与Proteus仿真
目录 前言 例程分析 模块介绍 超声波模块(SRF04) TB6600步进电机驱动器和42步进电机 原理图讲解 运用示波器模拟 代码部分 项目后期 前言 这是我在一个大学生机械创新比赛所做的项目,主要 ...
- 超声波+红外线避障小车(Arduino + L298P电机驱动扩展板)
我是一名小学6年级的学生,就叫我小花生吧.我就读于北京市朝阳区垂杨柳中心小学金都分校.我学习Python编程已经两年多了,曾获得蓝桥杯全国选拔赛二等奖(Python中级青少年组)和北京复赛二等奖.打算 ...
最新文章
- 使用php读写mysql数据库并显示到网页上
- 一个页面区分管理者和普通用户如何设计_电商系统:优惠券原型设计说明(二)...
- 旋转链表Python解法
- hibernate正向生成数据库表以及配置——Teacher.java
- SIGIR2020 | 基于GCN的鲁棒推荐系统研究
- 为什么visual的联机浏览功能不能用_Minecraft非正版联机教程
- r语言ggplot画两条曲线_如何用R语言绘制生存曲线?
- 数学建模之Python-微分方程建模实例
- win10一直正在检查更新_Win10关闭自动更新的方法汇总
- Windows Server 2008 R2 安装IIS管理器
- LabVIEW 编程小技巧
- Windows 10注册表损坏该如何修复?
- html电子贺卡国庆,中秋贺卡设计欣赏 电子贺卡制作 中秋电子贺卡模板
- 公司来了个首席架构师,服务器缩减一半,性能反而提升7倍!跪了...
- 一个老工程师的工作经历和思考
- 制作PPT的5大秘密武器
- C语言学习笔记(二): 简单的C程序设计
- 哈工大软件构造lab2实验报告
- maven打包三种方式
- 使用Ntrip协议连接CORS服务器获取差分数据-Java
热门文章
- C++表达式语句实训 对 26 个大写英文字母进行循环加密,输入一个大写英文字母(明文)和一个整数秘钥,输出用秘钥对该大写英文字母加密后的结果(密文)。
- Tomcat下发布war包产生两个不同版本的访问地址的解决方案appBase和docBase的关系
- openwrt 怎么进入串口_OpenWrt路由器读取串口数据,建立tcp服务
- 阵道计算机,太古神王电脑版
- 第三方Banner制作轮播图的具体方法
- 一瑞士法郎是多少人民币
- 删除链表的节点(JS)
- fullpage初使用
- 计算机无法还原,win7系统不能还原如何解决_win7电脑无法还原系统怎么办-win7之家...
- 如何判断车与路边线距离_靠边停车如何判断车轮与马路牙子的距离?一个办法真的很简单...