基于Raspberry Pi Pico的GPIO引脚使用运动传感器
通过设置运动传感器来学习输入和输出的基础知识。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传感器十分灵敏, 刚开始的时候您有可能会看到有一些误触发, 不过传感器能够稳定下来。

相关新闻

解决Scikit-learn导入错误:版本兼容性排查与修复指南

解决Scikit-learn导入错误:版本兼容性排查与修复指南

1. 问题现象与根源剖析最近在部署一个基于Scikit-learn的机器学习项目时,遇到了一个让人头疼的报错:ImportError: cannot import name ‘_joblib_parallel_args‘ from ‘sklearn.utils.fixes‘。这个错误通常在你满怀期待地运行一个之前好好的脚本&…

2026/11/8 1:10:40 阅读更多 →
从Hessian到Kronecker:BaKron如何实现高效低比特量化模型?

从Hessian到Kronecker:BaKron如何实现高效低比特量化模型?

模型量化一直是把大模型“塞进”有限显存的核心手段。但真正动手做过量化的同学应该都有体会:直接转 INT8、INT4 往往容易掉点,尤其是 7B 以下的小模型,量化后输出质量下降非常明显。最近在调研高效量化方法时,BaKron 这个名字反复…

2026/11/8 1:10:40 阅读更多 →
Python变量同名不同命_函数里外是两个世界

Python变量同名不同命_函数里外是两个世界

你写下了一个全局变量 a , 其被赋值为 100 , 之后在函数内部又写了 a 300 , 满心以为外面的那个 a 同样变成了 300 , 运行之后一看 , 发现完全没有变化 , 依旧是 100。这不是 bug,是 作用域在"搞鬼"。你天天经历的场景, 用公司办公室来类比, 今天就把这件…

2026/10/24 5:52:55 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/6 15:21:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/7 12:08:40 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/6 22:01:11 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/6 22:01:11 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/7 12:08:40 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/6 22:01:09 阅读更多 →

日新闻

周新闻

月新闻