电子说
距离传感器是机器人项目最有用的传感器之一。 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度)以获得准确的读数。
连接HC-SR04
将HC-SR04连接到Arduino非常简单。您将需要一些数字I / O端口,并连接到Arduino的5V和接地引脚。
事实上,如果你缺少引脚,甚至可以将HC-SR04的触发和回声引脚连接到Arduino上的一个数字I / O引脚,并使用代码在输出之间切换引脚(发送10 us脉冲)和输入(接收回声脉冲)。有些超声波传感器实际上只有一个引脚兼有触发和回声。我会进一步讨论这个问题,继续往下看,所以请继续阅读。
我将在这里向大家展示的大多数示例都使用更传统的双引脚方法。任何免费的Arduino和任意数字I / O引脚都可以使用,所以如果你希望把它连接到一组不同的I / O引脚,只需要改变示例来反映这些变化。演示程序中我将使用Arduino Uno,引脚10为Trigger,引脚13为Echo。
HC-SR04的应用笔记强调,在连接VCC之前,您需要连接接地引脚,所以如果您在面包板上进行“实时”实验,则可能需要牢记这一点。
所以现在我们已经连接了超声波距离传感器,是时候来编写代码并进行测试了。
编辑:hfy
全部0条评论
快来发表一下你的评论吧 !