使用Arduino连接HC-SR04超声波距离传感器的方法
距离传感器是机器人项目最有用的传感器之一。 HC-SR04是一种便宜的超声波距离传感器,可以帮助您的机器人在房间周围导航。通过一些努力和一个额外的组件,它也可以用作测量设备。在这篇文章中,您将学习到通过Arduino使用这个美妙的小设备所需要知道的一切。
HC-SR04超声波距离传感器
HC-SR04超声波距离传感器是一种便宜的设备,对于机器人和测试设备项目非常有用。这个微小的传感器能够测量自身和最近的固体物体之间的距离,如果您试图避免进入墙壁,这是非常好的信息!
HC-SR04可以直接连接到Arduino或其他微控制器,它的工作电压为5伏。它也可以与Raspberry Pi一起使用,但是由于HC-SR04需要5V电压,因此需要一对电阻来连接Pi的3.3V GPIO端口。
这种超声波距离传感器能够测量2厘米到400厘米之间的距离(对于那些不会说“公制”的人来说,大约在1英寸到13英尺之间)。这是一个低电流设备,所以它适用于电池供电设备。作为奖励,它甚至看起来很酷,就像一对Wall-E机器人的眼睛为您的最新机器人发明!
那么请继续阅读,并告诉您如何连接和使用HC-SR04超声波距离传感器。我们也会通过一些测试来看看它是多么准确,我们将看看我们如何能够提高精度。当然,我会有一些示例代码和项目供您试用。让我们开始吧!
HC-SR04的工作原理
超声波距离传感器使用超声波脉冲(超出人类听觉范围的声音)来检测它们与附近固体物体之间的距离。传感器由两个主要部分组成:
● 超声波发射机 - 发射超声波脉冲,它工作在40KHz。
● 超声波接收机 - 接收发射的脉冲。如果接收到它们,则会产生一个输出脉冲,其宽度可用于确定脉冲行进的距离。
HC-SR04有以下四个连接:
● VCC - 5V正电源。
● Trig - “触发器”引脚,驱动该引脚发送超声波脉冲。
● Echo - 当接收到反射信号时产生脉冲的引脚。脉冲的长度与发送信号被检测到的时间成正比。
● GND - 接地引脚。
该设备的工作过程如下:
1. 一个持续时间至少10微秒的5伏脉冲施加到Trigger引脚。
2. HC-SR04通过以40KHz发送8个脉冲来响应。这个8脉冲模式使得设备的“超声波签名”是独一无二的,使接收机能够区分发射模式和超声背景噪声。
3. 八个超声波脉冲通过远离发射机的空气传播。同时,Echo引脚变为高电平,开始形成回波信号的开始。
4. 如果脉冲信号不反射回来,则回声信号将在38毫秒(38毫秒)后超时并返回低电平。这会产生一个38毫秒的脉冲,表明传感器范围内没有任何障碍物。
5. 如果脉冲被反射回来,当收到信号时,Echo引脚变为低电平。这产生了一个脉冲,其宽度在150μs到25mS之间变化,这取决于信号被接收所花费的时间。
6. 接收到的脉冲宽度用于计算到反射物体的距离。请记住,脉冲表示信号被发送出去并反射回来的时间,所以你需要将结果除以2来得到距离。
下图显示了HC-SR04超声波距离传感器的尺寸以及有效操作角度。正如你所看到的,当待检测物体直接位于其前面时,传感器是最准确的,但是你可以在45度“视角”内得到物体的响应。文件建议将窗口限制在30度(两边15度)以获得准确的读数。
更多内容请参考以下链接:https://www.yiboard.com/thread-787-1-1.html
使用Arduino连接HC-SR04超声波距离传感器的方法的更多相关文章
- Arduino连接pH计
关于arduino连接ph,核心的东西就是对ph传感器返回的信号值进行一系列的操作,注意因为返回的信号很弱,而且外部环境对其影响也很大,所以需要在电路设计上加入一些功能,比如信号放大.滤波等,电路设计 ...
- arduino连接1602LCD方法
arduino连接1602LCD方法 参考代码:
- arduino连接12864LCD方法
arduino连接12864LCD方法,参考相关代码. https://blog.csdn.net/txwtech/article/details/95038386
- SSH连接不上Linux的解决方法
SSH连接不上Linux的解决方法: 连续弄了几次,今天早上终于把SSH连接虚拟机连接不通的问题解决了. 先简单说下概要: 主机装的是XP系统,虚拟机用的是red hat Linux. 我用的是nat ...
- 超强Altium Designer焊盘为梅花状连接,过孔为直接连接的方法
AltiumDesigner6焊盘为梅花(或十字)状连接,过孔为直接连接的方法: 一.完成后效果 二.PCB规则设置(PCBRULES) 三.添加IsVia+ 四.添加InNamedPolygon() ...
- ZooInspector 连接不到 Zookeeper 的解决方法
Zookeeper正常启动后,在使用 ZooInspector 连接 Zookeeper 时出现了连接不上的问题. [root@localhost bin]# zkServer.sh start Zo ...
- C++连接mysql数据库的两种方法
本文主要介绍了C++连接mysql数据库的两种方法,希望通过本文,能对你有所帮助,一起来看. 现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用a ...
- 远程首次连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析(转)
PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析,在MY.INI(WINDOW ...
- python学习--python 连接SQLServer数据库(两种方法)
1. python 学习.安装教程参照: http://www.runoob.com/python/python-tutorial.html 2. 集成开发环境 JetBrains PyCharm C ...
随机推荐
- BatchConfigTool批量配置工具
海康批量配置工具BatchConfigTool是一款支持设备在线搜索.批量配置参数.批量升级等功能的软件,支持对大批量设备同时进行各参数的配置,极大的简化了操作过程! 软件功能 1.对在线设备进行搜索 ...
- 【ARM-Linux开发】Makefile 使用总结
Makefile 使用总结 1. Makefile 简介 Makefile 是和 make 命令一起配合使用的. 很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, ...
- 【ARM-Linux开发】【CUDA开发】NVIDIA Jetson TX2 进阶:Nsight Eclipse Edition
嵌入式平台:NVIDIA Jetson TX2 嵌入式系统:Ubuntu16.04 虚拟机系统:Ubuntu14.04 一.NSight简介 Jetpack开发工具为人工智能提供了一整套软件架构,包括 ...
- mybatis一级二级缓存
一级缓存分析 不需要任何配置 ,mybatis本身带有 一级缓存是SqlSession范围的缓存,当调用SqlSession的修改,添加,删除,commit(),close()等方法时,就会清空一级缓 ...
- canvas实现饼状图
效果图如下: html: <canvas id="myCanvas" width="500" height="500">< ...
- Python输出菱形
最近准备熟悉下Python的基础语法,准备练习下输出菱形.刚好作为自己blog的开篇~~ n =10 #控制菱形的大小 for i in range(1, n): for j in range(int ...
- cookielib模块 for python3
python2 可以直接安装cookielib模块 而py3却不能安装 故需要安装http模块 举例子: from http import cookiejar cookie = cookiejar.C ...
- C# 获取特殊日期
//1.当前时间DateTime dt = DateTime.Now; //2.本周周一DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.D ...
- Drools入门
文章转载自:http://cwqcwq.iteye.com/blog/397869 一.背景知识: 1.什么是规则引擎 Java规则引擎起源于基于规则的专家系统,而基于规则的专家系统又是专家系统的 ...
- SpringBootServletInitializer报错
1. 现象 从Springboot 1.5.1.RELEASE 升级到Springboot 2.1.2.RELEASE 后SpringBootServletInitializer报错. 2.解决方法 ...