基于Raspberry Pi Pico的GPIO引脚使用运动传感器


原标题:基于Raspberry Pi Pico的GPIO引脚使用运动传感器
基于Raspberry Pi Pico的GPIO引脚使用运动传感器,可以通过以下步骤实现:
一、准备材料
Raspberry Pi Pico开发板
被动红外(PIR)运动传感器
面包板
LED灯
330欧姆电阻
公对公跳线
微型USB线(用于为Pico供电和编程)
二、硬件连接
将Raspberry Pi Pico插入面包板,使其位于中央通道上方,并确保Micro USB端口位于面包板的一端。
将一个330欧姆的电阻器插入面包板,其一脚应与GND串联(通常连接到Pico的PIN38),另一脚应插入面包板的-导轨,为GND导轨供电。
插入一个LED,将长脚(阳极)插入面包板的某个GPIO引脚(如PIN34),并将短脚插入GND导轨。
PIR传感器具有三个引脚:VCC、OUT和GND。VCC引脚用于从Raspberry Pi Pico提供3.3V电源,使用跳线将VCC从PIR连接到Pico的3.3V引脚(如PIN37)。
使用另一根跳线将PIR的OUT引脚连接到Pico的某个GPIO引脚(如PIN21)。
将PIR的GND引脚连接到面包板的GND导轨。
三、软件设置
在电脑上安装Thonny IDE,并确保Raspberry Pi Pico已经通过微型USB线连接到电脑。
在Thonny中创建一个新的Python脚本文件。
导入必要的库,并创建用于控制LED和读取PIR传感器状态的对象。以下是一个示例代码:
python复制代码
from machine import Pin import utime
# 创建LED对象,设置GPIO 28(物理引脚34)作为输出引脚 led = Pin(28, Pin.OUT)
# 创建PIR传感器对象,设置GPIO 16(此处需根据实际连接的引脚调整)作为输入引脚,并启用上拉电阻 pir = Pin(16, Pin.IN, Pin.PULL_UP)
# 初始化LED状态为关闭 led.low()
# 等待3秒,让传感器稳定 utime.sleep(3)
# 无限循环,检测运动并控制LED while True: # 打印PIR传感器的当前值(0或1) print(pir.value())
# 如果检测到运动(pir.value()为0),则点亮LED并等待5秒 if pir.value() == 0: print("LED On") led.high() utime.sleep(5) else: # 如果没有检测到运动,则关闭LED并等待0.2秒 print("Waiting for movement") led.low() utime.sleep(0.2)
将代码保存到Raspberry Pi Pico上,并运行脚本。此时,当PIR传感器检测到运动时,LED应该会亮起;当没有检测到运动时,LED会熄灭。
四、注意事项
在连接电路时,确保所有引脚都正确连接,并且没有短路或断路。
PIR传感器非常灵敏,起初可能会看到一些误触发。可以通过调整传感器上的可调电阻来改变灵敏度阈值。
在运行代码之前,确保Raspberry Pi Pico已经正确连接到电脑,并且Thonny IDE已经识别到Pico设备。
通过以上步骤,就可以使用Raspberry Pi Pico的GPIO引脚来控制基于运动传感器的应用了。这种应用可以用于家庭安全系统、自动门控制等场景。
责任编辑:
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。