基于Raspberry Pi Pico的GPIO引脚使用运动传感器 📅 发布时间:2026/8/28 4:38:07 👁 浏览次数: 通过设置运动传感器来学习输入和输出的基础知识。Pi Pico存在诸多GPIO引脚, 我们只要于代码里配置这般引脚, 就能把它用作输入或是输出。于本指南当中, 我们会去学习怎样运用输入在此情形下是传感器以及形如LED的输出展开工作。在本指南的末尾处所, 我们会给出一则在16行里能得以实现的简单运动检测器。在这本指南里头, 我们会去学习怎样运用Pi Pico的GPIO引脚当作数字输入, 还要学习如何把它作为数字输出, 这些输入以及输出是利用高电平和低电平当作一种简便的控制办法。建立该项目的电路增添了一个额外的组件, 是一种被动红外PIR传感器, 此传感器平常用于家庭安全系统里来检测运动。在这个项目当中, 它会执行一样的功能, 并且当传感器汇报运动时我们的代码会触发一个LED发光。将传感器添加到项目中需要• 半尺寸面包板• LED灯• 330欧姆电阻• PIR传感器• 3 x母对公跳线1.使Pi Pico插入面包板, 让其处于中央通道之上, 要保证Micro USB端口处在面包板的一端。2.把一个阻值为330 Ohm的电阻器插入面包板, 它的一只脚要和GND串联起来, 这只脚是PIN38, 它的另一只脚需插入面包板的 - 导轨, 这就能为我们提供GND导轨了, 在此GND导轨里面所有脚互相连接的情况都是 到GND呀。3. 拿出一个LED, 把它的有着能够接入电源功能属性的长脚, 插入到面包板上标记为34的针脚位置, 然后把它自带的具有接地功能属性的短脚, 插入到GND导轨处。此时此刻, 该电路组建完成。PIR传感器具备着三个引脚, 其一为VCC, 其二是OUT, 其三乃GND。其中VCC引脚是用来依据Pi Pico去给出3.3V电源的。4.将VCC通过跳线连接到, 电阻旁边的3.3V引脚, 也就是引脚37, 此引脚来自PIR。5.运用另外一根跳线, 把PIR的OUT引脚, 连接至Pico的引脚21。6.将PIR的GND引脚连接到面包板的GND导轨。7.在完成电路搭建之后, 通过运用微型USB导线来把Pi Pico跟计算机进行连接, 接着开启那个应用程序。此刻, 我们着手针对项目开展编码工作, 至于所使用的代码, 乃是基于“入门”项目里应用的代码, 这其中涵盖了输入部分, 还有PIR传感器以及条件测试, 目的是探明传感器是否已然触发。1.从计算机库那儿, 导入Pin类, 之后呢, 再导入utime。这些库, 让我们能够分别去跟GPIO通信, 进而控制我们项目的进度。from Pinutime2.创建一个名为 “led” 的对象, 这个对象的作用是, 在物理GPIO引脚以及我们所编写的代码之间去创建一种链接。在当前这种情形之下, 它会把GPIO 28设置为输出引脚 , 此GPIO 28对应的是映射到板上的物理引脚34, 且电流会从Pi Pico GPIO流入LED。接着, 我们借助该对象让GPIO引脚拉低。也就是说 , 这样做能够保障在项目开始的时候GPIO引脚处于关闭状态。led Pin28 Pin.OUT3.去创建另外一个对象, 这个对象是“pir”。此对象所要达成的作用是, 在我们所编写的代码以及GPIO引脚之间去构建连接 , 而那个GPIO引脚是用于从PIR进行OUT连接的。在默认的情形之下 , PIR传感器的OUT会处于被拉高的状态 , 并且一旦检测到有移动发生 , PIR就会把OUT引脚拉低。为了能够保证传感器正常开展工作 , 我们会把引脚设置成为输入状态 , 然后将GPIO引脚拉高。pir Pin16 Pin.IN Pin.4.要保证在项目起始之际让LED处于熄灭状态, 接着等候三秒钟之后再去持续进行操作, 这两行能保障我们不会从LED那儿看到“错误触发”的情况, 并且给传感器留出些许时间以便稳定投入使用。led.lowutime.sleep35.于while True形成的无尽循环里, 运用打印功能去打印针对PIR传感器的GPIO引脚的当下值。要是没有呈现移动状况, 便返回1, 如若不然, 就返回0。while Trueprintpir.value6.构建一个条件方面的测试, 用以查验存储至于 pir.value 里的值, 要是值是 0, 那么便检测出已有运动, 接着会把消息印至 Shell。随后的紧接着会将 LED 打开处于高电平状态, 并且暂停五秒钟, 与此同时要让 LED 持续亮着。if pir.value 0print“LED On”led.highutime.sleep57.当未检测到运动时, 会激活条件测试的最后那一部分借助Else条件把消息打印至Shell, 接着添加一行用于关闭LED低电平, 随后暂停0.2秒, 之后重复循环, 再一次运行条件测试。elseprint“ for ”led.lowutime.sleep0.28.单点下保存, 接着去选择把代码保存至设备 Pi Pico。选取为文件命名成PIR.py, 随后点击“确定”来开展保存。您的此代码应当为如下这般呈现。from Pinutimeled Pin28Pin.OUTpir Pin16 Pin.IN Pin.led.lowutime.sleep3while Trueprintpir.valueif pir.value 0print“LED On”led.highutime.sleep5elseprint“ for ”led.lowutime.sleep0.29.如果要运行代码需要单击绿色播放或者箭头按钮, 随后Shell会更新成“等待移动”以及“LED亮”。PIR传感器十分灵敏, 刚开始的时候您有可能会看到有一些误触发, 不过传感器能够稳定下来。