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

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

3天内不再提示

向树莓派项目添加按钮的2种方法

454398 来源:网络整理 作者:网络整理 2019-11-29 17:44 次阅读

学习使用Raspberry Pi上的GPIO引脚将为您带来无限可能。通过初学者项目学习的基本原理为DIY电子编程的实用知识铺平了道路。

教程将向您展示两种向Raspberry Pi项目添加按钮的方法。该按钮将用于控制LED视频下方提供了书面说明。

您将需要

要开始使用,请确保您具有以下组件:

1 x Raspberry Pi(可以的话,本教程中会使用3B型)

1 x按钮

1 x LED

1 x 220欧姆电阻(更高的值没问题,您的LED就会变暗)

1 x面包板

连接电线

一旦收集,您应该拥有外观美观的组件像这样的东西:

您还需要安装Raspbian操作系统SD卡。最快的方法是使用NOOBS(全新的开箱即用软件)映像。该视频中提供了有关如何执行此操作的说明:

设置电路

您将使用Pi的GPIO引脚来制作电路,如果您不熟悉,通过它们,我们的Raspberry Pi GPIO引脚指南将有所帮助。此处的电路几乎与我们以前的Raspberry Pi LED项目相同,只是增加了您今天要使用的按钮。

根据下图设置电路:

5v 和 GND 引脚连接到面包板的电源轨。

引脚12(GPIO 18)连接到LED的正极。

电阻的一个引脚连接到LED的负极。

Pin 16(GPIO 23)固定在按钮的一侧,另一侧固定在面包板的接地轨上。面包板的接地轨。

一旦设置好,它的外观应为:

检查

方法1:RPi.GPIO库

一旦Pi启动,请转到菜单,然后单击“确定”。选择编程》 T honny Python IDE 。一个新的Python脚本将打开。如果您是Python的新手,那么它对于初学者来说是一种很棒的语言,并且在完成本教程后,有很多不错的地方可以了解有关Python的更多信息

首先导入RPi.GPIO库,然后设置板模式。

import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BOARD)

现在,声明LED和按钮引脚号的变量。

ledPin = 12

buttonPin = 16

请注意,由于我们将板模式设置为 BOARD ,因此我们使用的是引脚号而不是GPIO号。如果让您感到困惑,Raspberry Pi引脚分布图可以帮助您清除它。

设置按钮

是时候设置GPIO引脚了。使用上拉电阻将LED引脚设置为输出,将按钮引脚设置为输入

GPIO.setup(ledPin, GPIO.OUT)

GPIO.setup(buttonPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

GPIO.IN之后的文本表示内部上拉电阻。 Raspberry Pi的上拉电阻器。您需要启用它才能从按钮上获得清晰的读数。由于该按钮将连接到接地引脚,因此我们需要一个上拉电阻将输入引脚保持为高电平,直到您按下它为止。

在继续操作之前,我们先来看一下上拉和下拉

中断:上拉/下拉电阻

在将GPIO引脚配置为输入时,它将读取该引脚以确定其状态。在此电路中,您需要读取引脚是 HIGH 还是 LOW 以便在按下按钮时触发LED。如果这是引脚可以具有的唯一状态,那么这将很简单,但是不幸的是,还有第三种状态:浮动。

浮动引脚的值介于高电平和低电平之间,导致输入行为异常。上拉/下拉电阻器可以解决这个问题。

上图是按钮和Raspberry Pi的简化图。 GPIO引脚通过按钮接地。内部上拉电阻将GPIO引脚连接到内部Pi电源。该电流流动,并且该引脚被安全地拉高。

按下按钮时,GPIO引脚直接连接到接地引脚,并且该按钮读为低电平。

下拉电阻用于将开关连接到电源引脚时的情况。这次,内部电阻器将GPIO引脚接地,并保持低电平,直到您按下按钮为止。

上拉和下拉电阻器理论乍一看令人困惑,但重要的知识是与微控制器一起工作。现在,如果您不太了解它,请不要担心!

让我们继续我们停下来的地方。

程序循环

接下来,设置程序循环:

while True:

buttonState = GPIO.input(buttonPin)

if buttonState == False:

GPIO.output(ledPin, GPIO.HIGH)

else:

GPIO.output(ledPin, GPIO.LOW)

True 循环会不断在其中运行代码,直到结束程序。每次循环时,它都会通过读取 buttonPin 的输入来更新 buttonState 。当未按下按钮时,它保持高。

按下按钮后, buttonState 将变为 LOW 。这会触发 if语句,因为 False 与 LOW 相同,并且LED点亮。 else 语句在buttonPin不为False时关闭LED。

保存并运行脚本

通过单击文件》保存脚本另存为并选择文件名。您可以通过单击Thonny工具栏中的绿色 Play 按钮来运行草图。

现在按一下按钮,然后按LED应该点亮!随时按红色的停止按钮以停止程序

如果遇到困难,请检查代码和电路

方法2:GPIO零库

RPi.GPIO库太棒了,但是有个新手正在尝试。 GPIO零库是由Raspberry Pi社区经理Ben Nuttall创建的,其目的是使代码更简单,更易于读写。

要测试新库,请打开一个新的Thonny文件,然后导入

from gpiozero import LED, Button

from signal import pause

您会注意到您没有导入整个库。由于仅使用LED和按钮,因此脚本中仅需要这些模块。我们还从信号库(用于事件管理的Python库)导入暂停。

使用GPIO零设置引脚容易得多:

led = LED(18)

button = Button(23)

由于GPIO零库具有用于LED和按钮的模块,因此您无需像以前那样设置输入和输出。您会注意到,尽管引脚没有改变,但此处的数字与上面的数字有所不同。这是因为GPIO零仅使用GPIO引脚号(也称为Broadcom或BCM编号)。

脚本的其余部分只有三行:

button.when_pressed = led.on

button.when_released = led.off

pause()

此处的 pause()调用只是在脚本到达底部时停止退出脚本。只要按下并释放按钮,就会触发两个按钮事件。保存并运行脚本,您将看到与以前相同的结果!

向Raspberry Pi添加按钮的两种方法

在设置按钮的两种方法中, GPIO Zero方法似乎是最简单的。由于大多数初学者Raspberry Pi项目都使用RPi.GPIO库,因此仍然值得学习。就像这个项目一样简单,这些知识可以用于很多事情。

使用GPIO引脚是学习和发明自己的设备的好方法,但是它远远超出了您可以做的一切。 Pi。我们的Raspberry Pi非官方指南充满了创意和教程,您可以自己尝试一下!有关另一个类似的教程,请查看如何制作Wi-Fi连接按钮。
责任编辑:wv

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

    关注

    0

    文章

    134

    浏览量

    12729
  • 树莓派
    +关注

    关注

    116

    文章

    1697

    浏览量

    105496
收藏 人收藏

    评论

    相关推荐

    树莓开发的最佳编程语言选择

    树莓(Raspberry Pi)是一款由英国树莓基金会开发的信用卡大小的单板计算机,它以其低成本、易于编程和灵活性而受到广泛欢迎。树莓
    的头像 发表于 11-11 11:34 170次阅读

    树莓与Arduino的区别是什么

    Pi): 树莓最初是作为教育工具设计的,旨在帮助学生学习计算机编程和电子工程。随着时间的推移,它已经发展成为一个多功能的微型计算机,可以用于各种项目,包括但不限于: 家庭媒体中心 游戏机 网络服务器 IoT(物联网)设备 教
    的头像 发表于 11-11 11:14 253次阅读

    树莓gpio有什么用,树莓gpio接口及编程方法

    一、树莓GPIO的用途 树莓(Raspberry Pi)是一款小巧、功能强大的单板计算机,广泛应用于编程教育、物联网项目、家庭媒体中心等
    的头像 发表于 10-22 18:09 428次阅读

    什么是树莓树莓是什么架构的

    什么是树莓 树莓(Raspberry Pi,简写为RPi,别名为RasPi/RPI)是由英国“Raspberry Pi 慈善基金会”开发的一款为学习计算机编程教育而设计的微型电脑。
    的头像 发表于 10-22 17:33 394次阅读

    树莓网关:物联网应用的新标杆

    什么是树莓树莓(Raspberry Pi)是一基于Linux的小型单板计算机,由英国的树莓
    的头像 发表于 10-09 16:44 224次阅读
    类<b class='flag-5'>树莓</b><b class='flag-5'>派</b>网关:物联网应用的新标杆

    树莓和51单片机哪个有优势

    是一款由英国树莓基金会开发的信用卡大小的单板计算机。自2012年推出以来,树莓已经发展出多个版本,包括A、B、2、3、4等型号。
    的头像 发表于 09-02 09:04 648次阅读

    树莓和单片机的优缺点是什么

    树莓(Raspberry Pi)和单片机(Microcontroller)是两广泛应用于电子项目和嵌入式系统的硬件平台。它们各自具有独特的优缺点,适用于不同的应用场景。
    的头像 发表于 08-30 18:21 1425次阅读

    树莓的功能用途是什么

    、科研、工业控制、物联网、多媒体播放、家庭自动化等领域。 树莓(Raspberry Pi)是一小型、低成本的单板计算机,由英国的Raspberry Pi基金会开发,其功能和用途非常广泛。以下是
    的头像 发表于 08-30 18:01 2176次阅读

    树莓4B的性能特点及应用

    。Cortex-A72是ARM公司推出的一款高性能处理器,采用了64位架构,具备了高性能、低功耗的特点。相较于前代产品树莓3B+,其CPU性能提升了约3倍。 2.
    的头像 发表于 08-30 16:54 1344次阅读

    树莓装ubuntu和raspbian哪个更好

    树莓(Raspberry Pi)是一款由英国树莓基金会开发的单板计算机,广泛应用于教育、科研、物联网等领域。树莓
    的头像 发表于 08-30 15:41 1015次阅读

    树莓和arm开发板的区别

    树莓(Raspberry Pi)和ARM开发板都是基于ARM架构的微型计算机,但它们之间存在一些关键区别。 一、历史背景 树莓(Raspberry Pi)
    的头像 发表于 08-30 15:36 774次阅读

    树莓5,Raspberry Pi 5 评测

    树莓4已经算是一款强大的单板计算机了,树莓5声称其处理能力是树莓4的两到三倍。
    发表于 06-19 14:51

    新手入门如何选择Arduino与树莓

    树莓2的主频速度和内存量两个主要方面都远高于Arduino。树莓可以被看作一台完全独立的计算机,可以直接运行Linux和Windows
    发表于 04-28 14:56 573次阅读
    新手入门如何选择Arduino与<b class='flag-5'>树莓</b><b class='flag-5'>派</b>?

    树莓主板如何连接电脑

    连接树莓派到电脑是一个非常有用的功能,它可以让我们在电脑上进行树莓的操作和管理。本文将详细介绍如何连接树莓主板到电脑。我会从准备工作开始
    的头像 发表于 01-07 15:40 1781次阅读

    基于树莓的环境监测系统

    树莓(Raspberry Pi)是一小型而功能强大的计算机,其性能和功能足以支持许多应用领域。在环境监测系统中,树莓也被广泛应用。本文
    的头像 发表于 01-04 15:15 1824次阅读