Raspberry Pi Pico有许多GPIO引脚,我们可以通过简单地在代码中配置引脚来使用它们作为输入或输出。在本指南中,我们将学习如何使用输入(在本例中是传感器)和LED形式的输出。在本指南的最后,我们将有一个简单的16行MicroPython运动检测器。
在处理这个项目之前,在我们的Raspberry Pi Pico设置指南中设置和测试你的Raspberry Pi Pico将是有益的.我们也使用该指南中的电路作为本指南的基础。
在本指南中,我们将学习如何使用树莓Pi Pico的GPIO管脚作为数字输入和输出,使用高和低作为简单的控制方法。
设置
这个项目的电路增加了一个额外的组件,一个在家庭安全系统中常用的被动红外(PIR)传感器,用于检测移动。在这个项目中,它将执行相同的功能,我们的代码将触发一个LED打开时,传感器报告运动。
将传感器添加到项目中需要:
- 一半大小的面包板
- 一个领导
- 一个330欧姆的电阻
- PIR传感器
- 3 x母到公跳线
1.将树莓皮皮卡插入面包板所以它位于中央通道之上。确保Micro USB端口在面包板的一端。
2.插入一个330欧姆电阻插入面包板时,一条腿应与GND(引脚38)对齐。另一条腿应插在面包板的横导轨上。这为我们提供了一个GND轨道,该轨道中的所有引脚都连接到GND。
3.插入一个领导,长腿(阳极)插入接线板在引脚34处,短腿插入GND轨道。电路现在建成了。
PIR传感器有三个引脚。VCC, OUT和GND。VCC引脚用于从树莓Pi Pico提供3.3V的电源。
4.使用跳线,将VCC从PIR连接到3.3V引脚,(引脚37),它就在电阻旁边。
5.使用另一跳线将PIR的OUT引脚连接到21引脚皮科。
6.将PIR的GND引脚连接到GND导轨上案板。
7.电路建成后,将树莓派Pico连接到你的电脑上使用微型USB引线。打开tonny应用程序。
现在,我们开始对项目进行编码,并在Getting Started项目中使用的代码的基础上构建一个输入、PIR传感器和检查传感器是否被触发的条件测试。
1.从机器库中导入Pin类,然后导入utime。这些库使我们能够分别与GPIO通信,并控制项目的进度。
从机器进口引脚进口utime
2.创建一个对象“led”它用于在物理GPIO引脚和我们的代码之间创建链接。在这种情况下,它将GPIO 28(对应板上的物理引脚34)设置为输出引脚,电流将从Raspberry Pi Pico GPIO流向LED。然后我们使用对象来指示GPIO管脚拉低。换句话说,这将确保GPIO引脚在项目开始时被关闭。
引脚(28,引脚. out)
3.创建另一个对象“pir”.该对象用于在我们的代码和用于PIR的OUT连接的GPIO引脚之间创建连接。默认情况下,PIR传感器OUT拉高,当检测到移动时,PIR将OUT引脚拉低。为了保证传感器正常工作,我们将引脚设为输入,然后将GPIO引脚拉高。
pir = Pin(16, Pin。在Pin.PULL_UP)
4.确保LED在项目开始时关闭,然后等待三秒钟再继续。这两条线确保我们不会看到来自LED的“假触发”,并在使用前给传感器一些时间来固定。
utime.sleep led.low () (3)
5.在while True循环中,一个没有结束的循环,使用打印函数打印GPIO管脚的当前值用于PIR传感器。如果没有移动,返回1;如果有移动,返回0。
而真正的:打印(pir.value ())
6.创建一个进行检查的条件测试存储在pir.value中的值。如果该值为0,则表示检测到移动打印一条消息到Python Shell.然后把LED打开(高)和暂停5秒钟这时,LED灯一直亮着。
if pir.value() == 0: print("LED On") LED .high() utime.sleep(5)
7.条件测试的最后一部分在没有检测到移动时被激活。使用Else条件将消息打印到Python Shell中,然后添加一行以关闭LED(低)暂停0.2秒.然后循环重复,再次运行条件测试。
else: print("等待移动")lead .low() utime.sleep(0.2)
8.单击Save并选择SaveMicroPython设备(Raspberry Pi Pico)的代码。将文件命名为pip .py并单击Ok为了节省。您的代码应该如下所示。
从机器进口引脚进口utime led =引脚(28,引脚. out) pir =引脚(16,引脚。在Pin.PULL_UP)utime.sleep led.low () (3)而真正的:打印(pir.value ())if pir.value() == 0: print("LED On") LED .high() utime.sleep(5)else: print("等待移动")lead .low() utime.sleep(0.2)
9.要运行代码,点击绿色播放/箭头按钮Python Shell会更新为“等待移动”和“LED On”。PIR传感器非常敏感,一开始你可能会看到一些错误的触发器,但传感器会稳定下来。