超声波模块HC-SR04简介以及编程

2024-04-29 12:38

本文主要是介绍超声波模块HC-SR04简介以及编程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


1、本模块性能稳定,测度距离精确,模块高精度,盲区小。 产品应用领域:    机器人避障  物体测距  液位检测  公共安防 停车场检测 

2 主要技术参数:

 1:使用电压:DC---5V   

2:静态电流:小于2mA       

3:电平输出:高5V     

4:电平输出:底0V         

5:感应角度:不大于15    

6:探测距离:2cm-450cm 

7:高精度 可达0.2cm    

超声波模块HC-SR04简介以及编程

      

接线方式:VCCtrig(控制端)、  echo(接收端)、 GND

 

基本工作原理: (1)采用IOTRIG触发测距,给至少10us的高电平信号; (2)模块自动发送840khz的方波,自动检测是否有信号返回; (3)有信号返回,通过IOECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;     本模块使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,即可以达到你移动测量的值

 

超声波模块HC-SR04简介以及编程

超声波模块HC-SR04简介以及编程

5、 操作:初始化时将trigecho端口都置低,首先向给 trig    发送至少10 us的高电平脉冲(模块自动向外发送840K的方波),然后等待,捕捉 echo 端输出上升沿,捕捉到上升沿的同时,打开定时器开始计时,再次等待捕捉echo的下降沿,当捕捉到下降沿,读出计时器的时间,这就是超声波在空气中运行的时间,按照   测试距离=(高电平时间*声速(340M/S))/2   就可以算出超声波到障碍物的距离。


====================================================================================

本帖最后由 海神 于 2013-6-15 18:07 编辑

超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。声波在空气中的传播速度为 340m/s ,根据计时器记录的时间 t ,就可以计算出发射点距障碍物的距离 s ,即: s=340m/s ×  t / 2  。这就是所谓的时间差测距法。本实验利用超声波测得的距离从串口中显示。
元器件清单:
Zduino UNO × 1
OJ传感器扩展板× 1
USB 数据线 × 1 
1p 杜邦线 × 4 
超声波传感器 × 1

知识要点:
pulseIn() :用于检测引脚输出的高低电平的脉冲宽度。
pulseIn(pin, value)
pulseIn(pin, value, timeout)
Pin--- 需要读取脉冲的引脚
Value ---需要读取的脉冲类型, HIGH LOW
Timeout ---超时时间,单位微秒,数据类型为无符号长整型。

使用方法及时序图:

 
 
 
1 、使用 Arduino 采用数字引脚给 SR04 Trig 引脚至少 10 μ s 的高电平信号,触发 SR04 模块测距功能;
2 、触发后,模块会自动发送 8 40KHz 的超声波脉冲,并自动检测是否有信号返回。这步会由模块内部自动完成。
3 、如有信号返回, Echo 引脚会输出高电平,高电平持续的时间就是超声波从发射到返回的时间。此时,我们能使用 pulseIn() 函数获取到测距的结果,并计算出距被测物的实际距离。
SR04与Arduino接线示意图:


这篇关于超声波模块HC-SR04简介以及编程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/946106

相关文章

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

Python logging模块使用示例详解

《Pythonlogging模块使用示例详解》Python的logging模块是一个灵活且强大的日志记录工具,广泛应用于应用程序的调试、运行监控和问题排查,下面给大家介绍Pythonlogging模... 目录一、为什么使用 logging 模块?二、核心组件三、日志级别四、基本使用步骤五、快速配置(bas

rust 中的 EBNF简介举例

《rust中的EBNF简介举例》:本文主要介绍rust中的EBNF简介举例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 什么是 EBNF?2. 核心概念3. EBNF 语法符号详解4. 如何阅读 EBNF 规则5. 示例示例 1:简单的电子邮件地址

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

Python datetime 模块概述及应用场景

《Pythondatetime模块概述及应用场景》Python的datetime模块是标准库中用于处理日期和时间的核心模块,本文给大家介绍Pythondatetime模块概述及应用场景,感兴趣的朋... 目录一、python datetime 模块概述二、datetime 模块核心类解析三、日期时间格式化与

Python如何调用指定路径的模块

《Python如何调用指定路径的模块》要在Python中调用指定路径的模块,可以使用sys.path.append,importlib.util.spec_from_file_location和exe... 目录一、sys.path.append() 方法1. 方法简介2. 使用示例3. 注意事项二、imp