【STM32】详解超声波测距模块工作原理
一、产品介绍
超声波测距模块可提供2cm-400cm的非接触距离感测功能,测距精度3mm,模块包括超声波发射器,接收器与控制电路。
二、基本工作原理
(1)采用IO口trig出发测距,给Echo最少10us的高电平信号。
(2)模块自动发送40khz的方波,自动检测是否有信号返回
(3)有信号返回,通过IO口ECHO(如上图)输出一个高电平,高电平持续时间就是超声波从发射到返回的时间。
公式:距离=(高电平时间*340m/s)/ 2
三、时序图
如何看时序图?
从上到下,从左到右
四、示例代码
超声波模块初始化
void sr04_init(void)
{//使能端口B、端口E的硬件时钟RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE );RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE );//PB6为输出模式,因为该引脚连接到TrigGPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;//指定第6根引脚 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT ;//配置为输出模式GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz ;//配置引脚的响应时间=1/100MHz .//从高电平切换到低电平1/100MHz,速度越快,功耗会越高GPIO_InitStructure.GPIO_OType = GPIO_OType_PP ;//推挽的输出模式,增加输出电流和灌电流的能力GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;//不使能内部上下拉电阻GPIO_Init(GPIOB ,&GPIO_InitStructure); //PE6为输入模式,因为要检测ECHO输出高电平的持续时间GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;//指定第6根引脚 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN ;//配置为输出模式GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz ;//配置引脚的响应时间=1/100MHz .//从高电平切换到低电平1/100MHz,速度越快,功耗会越高//GPIO_InitStructure.GPIO_OType = GPIO_OType_PP ;//推挽的输出模式,增加输出电流和灌电流的能力GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;//不使能内部上下拉电阻GPIO_Init(GPIOE ,&GPIO_InitStructure); //PB6引脚初始状态为低电平,根据时序图可以了解到PBout(6)=0;}
测距
uint32_t sr04_get_distance(void)
{uint32_t t=0;//PB6输出高电平PBout(6)=1;//延时10usdelay_us(10);//PB6输出低电平PBout(6)=0; //PE6要等待高电平出现while(PEin(6)==0);//测量高电平的持续时间while(PEin(6)){t++;delay_us(9);//超声波每传输9us时间,距离为3mm}//因为该时间是包含发射和返回的时间,需要除以2t/=2;return 3*t;
}
【STM32】详解超声波测距模块工作原理相关推荐
- hc sr04流程图_超声波测距模块工作原理_HC-SR04模块详解
超声波测距模块有好多种类型,目前比较常用的有URM37超声波传感器默认是232接口,可以调为TTL接口,URM05大功率超声波传感器测试距离能到10米,算是目前来说测试距离比较远的一款了,另外还有比较 ...
- 详解超声波测距模块HC-SR04的使用
1.模块简介 HC-SR04超声波模块常用于机器人避障.物体测距.液位检测.公共安防.停车场检测等场所.HC-SR04超声波模块主要是由两个通用的压电陶瓷超声传感器,并加外围信号处理电路构成的.如图: ...
- 详解JSP 中Spring工作原理及其作用
详解JSP 中Spring工作原理及其作用 1.springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作. 2.Dispat ...
- 详解变频器、逆变器工作原理
我现在知道直流怎么变为交流,通过PWM波,我感觉无人机的电调就是个逆变器,就是把直流变为交流,莫非就是飞控输出PWM,电调就是专为交流电?不讲道理是PWM遇到电机线圈就自动变为交流电了么. 摘自:ht ...
- STM32—驱动HC-SR04超声波测距模块
文章目录 超声波测距原理 HC-SR04工作原理 STM32实现驱动 1.引脚的配置 2.时序控制 3.时间差测量 4.如何将距离测出来 超声波测距原理 利用HC-SR04超声波测距模块可以实现比较精 ...
- STM32智能小车------超声波测距模块
文章目录 一.原理讲解 1.实物图 2.工作原理: 3.接线: 二.软件驱动代码 1.接口定义 2.驱动函数 总结 最终效果 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的普通大学生. 进 ...
- 我的stm32学习——HC-SR04超声波测距模块
一.前言 从大一开始一直有着写点东西的想法,如今即将迈入大三,却迟迟没有动笔.没有太多的借口,就是懒,"间歇性的踌躇满志,持续性的混吃等死"说的就是我本人啦.前不久刷微信看到同学在 ...
- 红外测距模块工作原理_共享单车里的通讯模块,工作原理是啥呢?
现在我们所看到了共享单车除了小黄车(OFO)没有配备GPS智能锁外,其他品牌的共享单车都有安装,那么这么高科技的东西具体是怎么工作的呢?下面由我给大家讲解下其中的奥秘. 其实这个东西也谈不上太多高科技 ...
- 【STM32】 STM32驱动URM04超声波测距模块
URM04简介: URM04采用了RS485串行通信总线的架构,支持多传感器的并行工作,有着两个RS-485接口,最多支持32个超声波的并联, 内置温度传感器辅助校正距离值,同时支持温度的测量 应用场 ...
最新文章
- springboot整合liquibase入门实例
- 全文搜索引擎选 ElasticSearch 还是 Solr?
- Docker安装zookeeper 单节点安装
- simulink中from与goto模块的使用
- java new thread参数_java线程池01-ThreadPoolExecutor构造方法参数的使用规则
- dfs递归实现组合型枚举
- 计算机网络项目——最小网元设计(阶段二)
- Java基础学习总结(48)——Java 文档注释
- windows下载安装cmake
- Android开发资料超级给力小游戏(精典美女搓搓 妄撮版)源码
- 数学建模之层次分析法(含MATLAB代码)
- GitLab Admin Area
- 怎么优雅的介绍自己的项目?
- Linux RAID磁盘阵列配置
- 调整SumatraPDF暗黑模式
- ssm毕设项目康健医药公司进销存管理22jao(java+VUE+Mybatis+Maven+Mysql+sprnig)
- 《O N E 影视厅》管理系统——WAMP架构win10+apache+mysql+php
- anaconda conda 换源
- UWB室内定位系统铸造智能化企业安全管理系统
- QT 制作 Excel 表格常用操作方法
热门文章
- activeMQ的原理及使用
- 计算机专业博士推荐信模板,计算机推荐信模板
- Intel Corporation SSD 750 Series 性能测试
- 彻底卸载Windows 10自带的杀毒软件windows defender
- 如何演示你的App?Android录制Gif动态图教程
- ld: i386 架构于输入文件 bar.o 与 i386:x86-64 输出不兼容
- 中文开源汉语分词工具
- 海尔计算机类,分享海尔计算机类笔试题 -管理资料
- 物理大地测量学笔记(一)
- cad计算机系统安装教程视频,CAD怎么在64位电脑上安装教程视频