超声波模块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

相关文章

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python异步编程之await与asyncio基本用法详解

《Python异步编程之await与asyncio基本用法详解》在Python中,await和asyncio是异步编程的核心工具,用于高效处理I/O密集型任务(如网络请求、文件读写、数据库操作等),接... 目录一、核心概念二、使用场景三、基本用法1. 定义协程2. 运行协程3. 并发执行多个任务四、关键

AOP编程的基本概念与idea编辑器的配合体验过程

《AOP编程的基本概念与idea编辑器的配合体验过程》文章简要介绍了AOP基础概念,包括Before/Around通知、PointCut切入点、Advice通知体、JoinPoint连接点等,说明它们... 目录BeforeAroundAdvise — 通知PointCut — 切入点Acpect — 切面

Nginx添加内置模块过程

《Nginx添加内置模块过程》文章指导如何检查并添加Nginx的with-http_gzip_static模块:确认该模块未默认安装后,需下载同版本源码重新编译,备份替换原有二进制文件,最后重启服务验... 目录1、查看Nginx已编辑的模块2、Nginx官网查看内置模块3、停止Nginx服务4、Nginx

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创