使用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 ...
随机推荐
- PHPExcel 导出数据(xls或xlsx)- 助手类(函数)
本文链接:https://www.cnblogs.com/tujia/p/11358096.html 说明:简单好用的导出助手,轻松导出数据到 excel !! 使用示例: Example: Exce ...
- 量化编程技术—matplotlib与可视化
import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D np.random ...
- 深入nginx之《获取用户的真实IP》
获取用户的真实IP Nginx会将客户端的IP信息存放在$remote_addr变量里,但这并不意味着它就是客户端的IP,生产环境往往会充满各种代理,让IP的来龙去脉变得扑朔迷离. 目前互联网公司基本 ...
- InvokeMember 使用(转http://blog.csdn.net/gooer/article/details/2927113)
函数原型: public object InvokeMember(string, BindingFlags, Binder, object, object[]); ...
- linux install jsoncpp0.5.0
要安装jsoncpp,首先要下载好scons,再去安装jsoncpp scons下载地址:wget http://prdownloads.sourceforge.NET/scons/scons-2.2 ...
- python 必选参数、默认参数、可变参数和、关键字参数
转自:https://www.liaoxuefeng.com/wiki/897692888725344/897693568201440 可变参数 在Python函数中,还可以定义可变参数.顾名思义,可 ...
- 【转】pdf文件自动切白边
pdf文件自动剪裁(自动切白边) FROM:http://www.ai7.org/wp/html/754.html 可能用到的环境.工具:Ubuntu 10.04+TeXLive 2008+pdfcr ...
- 推荐一款好用的json导出execl格式的文件的js工具-JsonExportExcel
<html> <head> <meta charset="utf-8"> <title>json导出Excel</title& ...
- SQL Server 中的窗口函数(2012 新函数)
简介 SQL Server 2012之后对窗口函数进行了极大的加强,但对于很多开发人员来说,对窗口函数却不甚了解,导致了这样强大的功能被浪费,因此本篇文章主要谈一谈SQL Server中窗口函数的概念 ...
- 【转帖】HBase之五:hbase的region分区
HBase之五:hbase的region分区 https://www.cnblogs.com/duanxz/p/3154487.html 一.Region 概念 Region是表获取和分布的基本元素, ...