0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子设计 来源:电路城 作者:电路城 2021-04-28 09:57 次阅读

通过设置运动传感器来学习输入和输出的基础知识。

Raspberry Pi Pico具有许多GPIO引脚,我们只需在代码中配置这些引脚即可将其用作输入或输出。在本指南中,我们将学习如何使用输入(在这种情况下为传感器)和以LED形式的输出进行工作。在本指南的最后,我们将在16行MicroPython中提供一个简单的运动检测器。

在本指南中,我们将学习如何使用Raspberry Pi Pico的GPIO引脚作为数字输入和输出,这些输入和输出使用高电平和低电平作为一种简单的控制方法。

建立

该项目的电路增加了一个额外的组件,即一种被动红外(PIR)传感器,该传感器通常用于家庭安全系统中以检测运动。在此项目中,它将执行相同的功能,并且当传感器报告运动时,我们的代码将触发一个LED亮起。

将传感器添加到项目中需要:

• 半尺寸面包板

• LED灯

• 330欧姆电阻

• PIR传感器

• 3 x母对公跳线

1.将Raspberry Pi Pico插入面包板,使其位于中央通道上方。确保Micro USB端口位于面包板的一端。

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

2.将一个330 Ohm的电阻器插入面包板,其一脚应与GND串联,该脚为PIN38。另一脚应插入面包板的-导轨。这为我们提供了GND导轨,其中该导轨中的所有引脚都连接到GND。

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

3. 插入一个LED,将长脚(阳极)插入面包板的针脚34,并将短脚插入GND导轨。现在已建立电路。

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

PIR传感器具有三个引脚。VCC,OUT和GND。VCC引脚用于从Raspberry Pi Pico提供3.3V电源

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

4.使用跳线将VCC从PIR连接到电阻旁边的3.3V引脚(引脚37)。

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

5.使用另一根跳线将PIR的OUT引脚连接到Pico的引脚21。

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

6.将PIR的GND引脚连接到面包板的GND导轨。

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

7.建立电路后,使用微型USB导线将Raspberry Pi Pico连接到计算机。打开Thonny应用程序。

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

现在,我们开始对项目进行编码,并在“入门”项目中使用的代码的基础上,包括输入,PIR传感器和条件测试,以检查传感器是否已触发。

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

1.从计算机库中导入Pin类,然后导入utime。这些库使我们能够分别与GPIO通信并控制我们的项目进度。

from machine import Pin

import utime

2.创建一个对象“ led”,该对象用于在物理GPIO引脚和我们的代码之间创建链接。在这种情况下,它将设置GPIO 28(映射到板上的物理引脚34)作为输出引脚,其中电流将从Raspberry Pi Pico GPIO流入LED。然后,我们使用该对象指示GPIO引脚拉低。换句话说,这将确保在项目开始时GPIO引脚被关闭。

led = Pin(28, Pin.OUT)

3.创建另一个对象“ pir”。此对象用于在我们的代码和GPIO引脚之间创建连接,该GPIO引脚用于从PIR进行OUT连接。默认情况下,PIR传感器OUT被拉高,并且当检测到移动时,PIR将OUT引脚拉低。为确保传感器正常工作,我们将引脚设置为输入,然后将GPIO引脚拉高。

pir = Pin(16, Pin.IN, Pin.PULL_UP)

4.确保在项目开始时LED熄灭,然后等待三秒钟再继续操作。这两行确保我们不会从LED看到“错误触发”,并给传感器留出一些时间来稳定使用。

led.low()

utime.sleep(3)

5.在while True循环(无尽循环)中,使用打印功能来打印用于PIR传感器的GPIO引脚的当前值。如果没有移动,则返回1,如果没有,则返回0。

while True:

print(pir.value())

6.创建一个条件测试,检查存储在pir.value中的值。如果值为0,则检测到运动,然后将消息打印到Python Shell。然后打开LED(高电平)并暂停五秒钟,同时保持LED点亮。

if pir.value() == 0:

print(“LED On”)

led.high()

utime.sleep(5)

7.没有检测到运动时,将激活条件测试的最后一部分。使用Else条件将消息打印到Python Shell,然后添加一行以关闭LED(低电平),然后暂停0.2秒。然后重复循环,并再次运行条件测试。

else:

print(“Waiting for movement”)

led.low()

utime.sleep(0.2)

8.单击保存,然后选择将代码保存到MicroPython设备(Raspberry Pi Pico)。将文件命名为PIR.py,然后单击“确定”进行保存。您的代码应如下所示。

from machine import Pin

import utime

led = Pin(28, Pin.OUT)

pir = Pin(16, Pin.IN, Pin.PULL_UP)

led.low()

utime.sleep(3)

while True:

print(pir.value())

if pir.value() == 0:

print(“LED On”)

led.high()

utime.sleep(5)

else:

print(“Waiting for movement”)

led.low()

utime.sleep(0.2)

9.要运行代码,请单击绿色播放/箭头按钮,然后Python Shell将更新为“等待移动”和“ LED亮”。PIR传感器非常灵敏,起初您可能会看到一些误触发,但传感器会稳定下来。

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

责任编辑:pj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2548

    文章

    50642

    浏览量

    751690
  • 检测器
    +关注

    关注

    1

    文章

    860

    浏览量

    47651
  • 计算机
    +关注

    关注

    19

    文章

    7409

    浏览量

    87691
收藏 人收藏

    评论

    相关推荐

    Raspberry Pi Pico是什么

    Waveshare给您介绍一款树莓派家族的新成员,Raspberry Pi Pico 是一款低成本,高性能的微控制开发板,具有灵活数字接口。硬件上,采用
    发表于 07-14 07:02

    Raspberry Pi Pico具有哪些功能特性?

    Raspberry Pi Pico具有哪些功能特性?
    发表于 10-11 08:13

    使用raspberry pi Pico的原因

    使用raspberry pi Pico的原因在硬件产品(单片机)的开发中我们往往需要借助一些额外的仪器/设备进行产品的辅助测试, 假设我们需要一个IO+ADC类型辅助设备, 以往的做法是 原理图
    发表于 02-07 09:16

    基于raspberry pi pico的EPS系统

    描述Sweet Manufacturing电子转向系统该项目是一个基于 raspberry pi pico 的 EPS(电动助力转向)系统。该项目使用汽车电池。该项目中使用的传感器是转
    发表于 07-15 10:05

    Raspberry Pi 4/3B的Pico开发板

    总线 (GPIO) 对 Raspberry Pi Pico 进行编程。无论您拥有 Raspberry
    发表于 07-26 07:14

    一个印有PINOUT的Raspberry Pi pico分线板

    描述Raspberry Pi Pico 分线板(GPIO 扩展)方面:60 毫米 x 60 毫米特征:紧凑型设计4x M2 螺丝安装座2.54mm间距焊盘2.54mm 间距排针兼容用于
    发表于 07-27 06:33

    将Esp8266的vcc和ch pd引脚连接到raspberry pi pico 3.3v时不起作用是为什么?

    大家好,我正在使用 esp8266 的 raspberry pi pico。当我将 Esp8266 的 vcc 和 ch pd - 引脚连接到 ra
    发表于 05-12 06:58

    适用于Raspberry Pi 4的Raspberry Pi Pico开发板

    电子发烧友网站提供《适用于Raspberry Pi 4的Raspberry Pi Pico开发板.zip》资料免费下载
    发表于 07-22 09:27 6次下载
    适用于<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 4的<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> <b class='flag-5'>Pico</b>开发板

    Raspberry Pi Pico是什么?有哪些主要特点

    Raspberry Pi Pico 是一款具有灵活数字接口的低成本、高性能微控制板。
    的头像 发表于 07-28 11:11 6637次阅读
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> <b class='flag-5'>Pico</b>是什么?有哪些主要特点

    Raspberry Pi Pico:使用PIO驱动伺服

    电子发烧友网站提供《Raspberry Pi Pico:使用PIO驱动伺服.zip》资料免费下载
    发表于 11-04 09:44 0次下载
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> <b class='flag-5'>Pico</b>:使用PIO驱动伺服

    使用Raspberry Pi Pico的LED序列

    电子发烧友网站提供《使用Raspberry Pi Pico的LED序列.zip》资料免费下载
    发表于 11-14 11:07 0次下载
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> <b class='flag-5'>Pico</b>的LED序列

    如何使用GPIO引脚将按钮连接到Raspberry Pi

    电子发烧友网站提供《如何使用GPIO引脚将按钮连接到Raspberry Pi.zip》资料免费下载
    发表于 12-23 17:04 0次下载
    如何使用<b class='flag-5'>GPIO</b><b class='flag-5'>引脚</b>将按钮连接到<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>

    通过Raspberry Pi和Python使用PIR运动传感器

    如果Raspberry Pi可以利用红外线来查看是否有人出现,会不会有人觉得很便利呢?通过使用非常便宜、可用、耐用、可靠和经济的组件,我们可以做到这一点!这种设备叫“被动红外运动传感器
    的头像 发表于 02-25 17:44 1001次阅读
    通过<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>和Python使用PIR<b class='flag-5'>运动</b><b class='flag-5'>传感器</b>

    远程编程Raspberry Pi Pico

    电子发烧友网站提供《远程编程Raspberry Pi Pico.zip》资料免费下载
    发表于 06-16 15:25 0次下载
    远程编程<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> <b class='flag-5'>Pico</b>

    Raspberry Pi上HA中的运动传感器、警报、视频录制

    电子发烧友网站提供《Raspberry Pi上HA中的运动传感器、警报、视频录制.zip》资料免费下载
    发表于 07-05 09:14 0次下载
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>上HA中的<b class='flag-5'>运动</b><b class='flag-5'>传感器</b>、警报、视频录制