使用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 ...
随机推荐
- 细说RESTful API之文档管理
目录 API文档格式 文档管理方式 基于注解实现,代码和文档在一起 Swagger Api2Doc 基于API测试工具生成 Postman rest-client 独立编写文档 RAP DOCleve ...
- 深入Nginx之《HTTP请求报文与HTTP响应报文》
HTTP请求报文 这个很有必要了解,好歹我们得知道Nginx在提供HTTP服务时,客户端都会传些什么.HTTP请求中客户端传送的内容称为HTTP请求报文. 1.请求行包含: 请求方法,请求URL,HT ...
- sourceTree安装和使用(windows)
SourceTree的简介 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作.同时它也是Mercurial和Subve ...
- Vim 入门
Vim 简介 打开 Vim的四种模式 一些命令 插入 移动 文件 编辑 环境设置 .vimrc 更多命令 环境设置 折叠 显示 Vim 简介 Vim 是字符模式下的一种文本编辑器,不需要图形界面,它是 ...
- The five Day 水平翻转图像,然后反转图像并返回结果
""" 给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果. 水平翻转图片就是将图片的每一行都进行翻转,即逆序.例如,水平翻转 [1, 1, 0] 的结 ...
- 解决本地Bootstrap字体图标不可见的问题
原文:https://www.jianshu.com/p/70ac459d33e7 作为Bootstrap的初学者,我最近遇到了一个问题:在使用Bootstrap字体图标时,图标不可见.使用代码如下: ...
- java之spring之spring整合hibernate
这篇讲下spring和hibernate的整合 目录结构如下: 1.新建java项目 2.导入jar包 antlr-2.7.7.jar aopalliance.jar aspectjweaver.ja ...
- C#泛型集合之——字典
字典基础 1.概述:字典是一组映射,更准确的说应该是一个函数.因为它的键值不能重复,而值可以重复.其逻辑实质也是顺序型的 2.操作: (1)创建: Dictionary<键类型,值类型> ...
- Windows 7 下安装 docker
Windows 7 下需要安装docker toolbox即可(里面打包了docker.oracle virtualbox.Git) 1. 下载 1. 下载路径https://github.com/d ...
- MongoDB和Java(3):Java操作MongoB
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...