×

连接超声波传感器的开源项目

消耗积分:0 | 格式:zip | 大小:0.18 MB | 2022-12-02

韩刚龙

分享资料个

描述

介绍

在这个项目中,我们将用超声波传感器替换 PIR 传感器。PIR 传感器用于检测运动,而超声波传感器用于测量与传感器视野内物体的距离。超声波传感器在避障和其他需要距离作为变量的系统中很有用。

16x2 字符液晶屏

我们将在 LCD 上显示数据。请参阅我们的项目“Interface a 16x2 Character LCD”,了解如何将 LCD 连接到 Arduino Uno。您应该将 LCD 的引脚 4、6 和 11-14 分别连接到 Uno 引脚 2、3 和 4-7。您可以使用无焊面包板或 Modulus Canister 连接 LCD。下面显示了一个连接到 Modulus 的图像。

 
poYBAGNtnUaAIwfWAAEkK9lAn4s083.jpg
连接到模数的 16x2 字符 LCD
 

视差超声波传感器

Parallax 的超声波传感器由 3 个引脚组成:GND、5V 和 SIG。SIG 引脚用作输入和输出。当 Uno 发送一个 HIGH 脉冲以触发传感器进行测量时它是一个输入,当传感器发送一个 HIGH 脉冲时它是一个输出,其中脉冲的长度取决于传输声波所花费的时间返回。它可以测量到2厘米到3米范围内的物体的距离。规格表如下所示。

 
pYYBAGOI0nOAAgw-AACqGHDgi5I009.png
 

该传感器的工作原理是发射一波 40kHz 的超声波(人类听觉无法检测到),并测量波返回所需的时间(如果有可检测到的物体)。要启动突发,主机 (Uno) 必须发送一个 2 微秒的 HIGH 触发脉冲。然后,传感器通过空气发送一连串 8 个脉冲(啁啾),将 SIG 引脚设置为高电平,并等待波返回(回声)。当检测到回波时,传感器将 SIG 引脚设置为低电平。SIG 引脚上的这个 HIGH 脉冲的宽度对应于到目标距离的两倍,因为它测量的是波往返于物体的时间。

传感器的时序图如下所示。SIG 引脚波形的颜色差异表示哪个设备正在控制该引脚。例如,Uno 控制引脚发送触发脉冲(蓝色),然后传感器控制引脚发送 HIGH 脉冲(黑色)。

 
pYYBAGOI0naAPSEGAAEawaGFq0A188.png
超声波传感器时序图
 

由于从传感器接收到的脉冲是及时的,我们必须执行一些计算来将时间转换为距离。声速以每秒 1130 英尺或每秒 340 米的速度传播。首先,我们需要通过乘以 100 将 340m/s 转换为 cm/sec,即 34, 000cm/sec。然后,通过除以 0.034cm/μsec 的 1E6 将 cm/sec 转换为 cm/μsec。使用维度分析的结果如下所示。

 
poYBAGOI0niASCREAAA6ArwWz14828.png
从 m/sec 转换为 cm/usec
 

接下来,我们需要使用距离公式(d = r × t)。我们知道速率 r,它是 0.034cm/μsec,我们知道时间 t,它是通过使用pulseIn()函数获得的。

例如,假设我们从传感器获得一个 100 微秒的脉冲。使用距离公式,我们得到 d = 0.034cm/μsec × 100μsec = 3.4cm。但是,请记住,我们必须除以 2 ,因为返回的脉冲是声波往返物体所需的时间。结果,最终的答案是 3.4cm/2 = 1.7cm。

将超声波传感器连接到模数

如果您完成了上一个项目“PIR 传感器集成”,请移除 PIR 传感器并插入超声波传感器。您应该将 4 针 R/A 母头焊接到 Modulus,并且还应该有一个 4 针单排公头焊接到 R/A 母头附近。使用它是为了我们可以将 30 AWG 电线绕到引脚上。您必须在每个触点之间创建一个焊桥,以将母头上的相邻引脚连接到公头。接头、焊桥连接和安装的传感器的图像分别如下所示。

 
pYYBAGOI0pKAR9k0AAXX1QYI8-k050.png
与模数的公母接头连接
 

 

 
pYYBAGNtnVyAWtGoAAGaEmKKxoI953.jpg
公母头之间的焊桥
 

 

 
poYBAGOI0pmAa2jzAAJAmZ650_k141.jpg
安装在模数上的超声波传感器
 

焊接接头后,将 Modulus Canister 插入 FuelCan 上的 4×26 针连接器,然后插入超声波传感器,如上图所示。从最右边的公头针开始,将该针绕线到 GND,将右侧的第二个针绕到 4×26 针分接头上的 +5Vdc。接下来,使用 12 英寸 F/M 跳线将右侧的第三个引脚连接到 Uno 上的引脚 8。

无焊面包板

如果您使用的是无焊面包板,请使用下面的示意图进行必要的连接。

 
poYBAGOI0pyAX_N3AAGH_kb9yVQ568.png
面包板电路原理图
 

燃料罐接线

如果您还没有将 Uno 安装到 FuelCan 的原型制作区域,请继续执行此操作。如果您使用的是面包板而不是 Modulus,请将面包板放在底部的储物箱中以限制跳线的长度。您需要使用提供的香蕉插孔来测试引线夹电缆,为面包板上的电源和接地轨提供 +5V 和 GND。您将需要两个公头针将测试引线夹安装在面包板一侧。将 USB 电缆的 A 型端插入 USB1 插座,将 B 型端插入 Uno 的插座。使用 AC-DC 电源适配器为 FuelCan 供电。

软件

一旦接线完成并且 FuelCan 通电,我们现在可以将草图加载到 Uno 上。草图如下。首先,引脚 8 设置为输出,因此我们可以向传感器发送触发脉冲并启动超声波脉冲串。引脚 8 设置为高电平 2 微秒,然后将引脚设置为低电平以产生脉冲。接下来,将引脚设置为输入以读取来自传感器的返回脉冲。为了测量返回脉冲的持续时间,我们使用函数pulseIn() ,它有两个参数——第一个参数是要读取脉冲的引脚号,第二个参数是要读取的脉冲类型(HIGH或低)。

一旦获得脉冲宽度(以微秒为单位返回时间),我们必须将时间转换为距离测量值。时间首先转换为厘米,然后以厘米为单位的计算测量值转换为英寸。两个距离测量值显示在 LCD 上,然后将引脚 8 设置为 OUTPUT 以触发下一次距离测量。

延伸阅读

超声波传感器的另一个替代品是 HC-SR04 模块。它不是 3 针,而是 4 针:VCC、TRIG、ECHO 和 GND。还记得我们如何必须将视差传感器的引脚模式从输出切换到输入吗?您不必对 HC-SR04 执行此操作,因为有单独的引脚 TRIG 和 ECHO。

您将在 TRIG 引脚上发送一个触发脉冲(这个脉冲至少为 10 微秒),然后在 ECHO 引脚上接收高电平定时脉冲。HC-SR04 模块的软件如下。TRIG 和 ECHO 引脚分别连接到 Uno 引脚 8 和 9。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !