超声波传感器与树莓派Pico W接口使用Arduino IDE
扫描二维码
随时随地手机看文章
大家好,在这个项目中,我们将学习如何使用Arduino IDE将超声波传感器与Raspberry Pi Pico W连接起来,该IDE结合了Pico W微控制器板的功能以及Arduino开发环境提供的易于编程的功能。使用Arduino IDE提供了一种使用C/ c++编程开发板的直接方法。
这个项目让您了解使用超声波传感器测量距离,超声波传感器可用于根据检测到的距离执行各种操作。通过利用Raspberry Pi Pico W的功能和Arduino IDE的简单性,您可以创建一系列应用程序,例如距离监控,对象检测和避障系统。让我们来探讨一下如何设置和编程这个项目,以释放它在应用程序中的潜力。
通过之前的教程了解更多关于树莓派Pico W的信息:
•使用Arduino IDE将OLED显示器与Raspberry Pi Pico W接口
•使用Arduino IDE将伺服电机与Raspberry Pi Pico W接口
•使用树莓派Pico W构建您自己的气象站
•使用基于树莓派Pico W的web服务器控制LED
组件的要求
•超声波传感器模块
•树莓派Pico W板
•跳线和面包板
•超声波传感器模块
超声波传感器的工作原理是利用声波计算物体的距离,使其成为一种有效的距离测量传感器。它由两个超声波换能器组成,其中一个作为发射器,发射高频超声波信号。另一个换能器充当接收器,检测其路径上任何物体反射的回波信号。超声波传感器具有成本效益,接口简单,功耗低的特点。它们也可以用来测量水深,因为声波可以在水中传播。
测量距离的范围约为2cm ~ 400cm。工作的基本原理是:
触发引脚应该有至少10us的高电平信号。
模块通过发射器自动发送8个40khz频率信号,当脉冲发送时,回声引脚就会变高,当脉冲接收时,回声引脚就会变低。
如果信号返回,则回波引脚的高电平时间是从发送到返回超声波脉冲的持续时间。
距离计算:由控制器IC测量波传播距离所花费的时间,因此波传播的距离是用声速(340m/s)乘以波的时间长度来计算的。波传播的总距离的一半是物体到传感器的实际距离。
超声波传感器模块输出
超声波传感器的连接有四个端子:
VCC(电源):该引脚连接电源,通常为5V。它为超声波传感器的工作提供必要的电压。
GND(接地):接地引脚连接到电源的接地或0V基准。
TRIG(触发器):TRIG引脚是一个输入引脚,触发超声波传感器发出10µs的超声波脉冲。你通常发送一个短的高电平脉冲到这个引脚来启动距离测量。
ECHO(回声):ECHO引脚是一个输出引脚,它在物体反射超声波脉冲后感知它。通过测量该引脚上高电平的持续时间,可以计算到对象的距离。
电路图-超声传感器与树莓派Pico W接口
树莓派Pico W板提供多个GPIO数字引脚,因为三角和回波是数字引脚,因此您可以使用板上的任何数字引脚。关于它的兼容性和引脚,您可以参考之前创建的树莓派Pico w的博客。下面的电路图可以帮助您更好地理解连接。
超声波的Vcc或电源引脚应连接到电源电压为5v的Raspberry Pi Pico W的VBUS引脚上。
超声波的GND连接到Pico板的任何接地端子上。由于电路板上有各种接地端子,您可以使用其中任何一个。
传感器的三角引脚连接到Pico板的数字引脚GP20上。
Echo引脚连接到Pico板的GP21上。
真正的界面是这样的:
代码的接口超声传感器与树莓派Pico W
该代码使用传感器测量距离,并将测量的距离以厘米为单位显示到串行监视器上。
该程序设置了数字引脚,用于将传感器与Pico W板连接,因为我们知道超声波上有两个数字引脚用于通信。此外,我们还定义了一些必要的变量,以便在进一步的编程中存储数据。
在setup()函数中,执行了以下操作:
初始化串行通信并设置数字通信引脚的引脚模式。在这种情况下,三角引脚需要来自板的高信号,而Echo提供高时间,用于计算。因此,将三角引脚设置为输出以发送信号,而将回声引脚设置为输入以接收高时间。
在loop()函数中,我们知道触发引脚应该在10µs内处于HIGH状态以传输脉冲。因此,
触发引脚设置为LOW,以确保它处于已知状态。
延迟2微秒的触发引脚设置为高10微秒发送超声波脉冲。
触发引脚设置回LOW。
pulseIn()函数用于测量超声波脉冲返回所需的持续时间。它测量回声引脚保持高电平的持续时间,然后以微秒为单位返回持续时间。
距离可以简单地通过将持续时间(以µs为单位)乘以声速(大约340米/秒)并除以2来计算,因为脉冲传播到物体和返回的距离是距离的两倍。由于持续时间以µs为单位,因此为了将速度(340 m/s)转换为µs,我们还将方程除以10^4。
计算出的距离以厘米为单位打印在串行监视器上。
代码不断重复这个过程,每0.5秒测量一次距离并显示在串行监视器上。
树莓派的超声波工作原理
上传代码到Raspberry Pi Pico W需要在Arduino IDE中安装板。将代码上传到Pico W板,然后检查硬件连接是否正确。
现在,打开串行监视器,您将看到以厘米为单位的距离测量值。
本文编译自iotdesignpro