0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

向樹莓派項(xiàng)目添加按鈕的2種方法

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-29 17:44 ? 次閱讀

學(xué)習(xí)使用Raspberry Pi上的GPIO引腳將為您帶來無限可能。通過初學(xué)者項(xiàng)目學(xué)習(xí)的基本原理為DIY電子編程的實(shí)用知識鋪平了道路。

教程將向您展示兩種向Raspberry Pi項(xiàng)目添加按鈕的方法。該按鈕將用于控制LED。視頻下方提供了書面說明。

您將需要

要開始使用,請確保您具有以下組件:

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

1 x按鈕

1 x LED

1 x 220歐姆電阻(更高的值沒問題,您的LED就會變暗)

1 x面包板

連接電線

一旦收集,您應(yīng)該擁有外觀美觀的組件像這樣的東西:

您還需要安裝Raspbian操作系統(tǒng)SD卡。最快的方法是使用NOOBS(全新的開箱即用軟件)映像。該視頻中提供了有關(guān)如何執(zhí)行此操作的說明:

設(shè)置電路

您將使用Pi的GPIO引腳來制作電路,如果您不熟悉,通過它們,我們的Raspberry Pi GPIO引腳指南將有所幫助。此處的電路幾乎與我們以前的Raspberry Pi LED項(xiàng)目相同,只是增加了您今天要使用的按鈕。

根據(jù)下圖設(shè)置電路:

5v 和 GND 引腳連接到面包板的電源軌。

引腳12(GPIO 18)連接到LED的正極。

電阻的一個引腳連接到LED的負(fù)極。

Pin 16(GPIO 23)固定在按鈕的一側(cè),另一側(cè)固定在面包板的接地軌上。面包板的接地軌。

一旦設(shè)置好,它的外觀應(yīng)為:

檢查

方法1:RPi.GPIO庫

一旦Pi啟動,請轉(zhuǎn)到菜單,然后單擊“確定”。選擇編程》 T honny Python IDE 。一個新的Python腳本將打開。如果您是Python的新手,那么它對于初學(xué)者來說是一種很棒的語言,并且在完成本教程后,有很多不錯的地方可以了解有關(guān)Python的更多信息

首先導(dǎo)入RPi.GPIO庫,然后設(shè)置板模式。

import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BOARD)

現(xiàn)在,聲明LED和按鈕引腳號的變量。

ledPin = 12

buttonPin = 16

請注意,由于我們將板模式設(shè)置為 BOARD ,因此我們使用的是引腳號而不是GPIO號。如果讓您感到困惑,Raspberry Pi引腳分布圖可以幫助您清除它。

設(shè)置按鈕

是時候設(shè)置GPIO引腳了。使用上拉電阻將LED引腳設(shè)置為輸出,將按鈕引腳設(shè)置為輸入

GPIO.setup(ledPin, GPIO.OUT)

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

GPIO.IN之后的文本表示內(nèi)部上拉電阻。 Raspberry Pi的上拉電阻器。您需要啟用它才能從按鈕上獲得清晰的讀數(shù)。由于該按鈕將連接到接地引腳,因此我們需要一個上拉電阻將輸入引腳保持為高電平,直到您按下它為止。

在繼續(xù)操作之前,我們先來看一下上拉和下拉

中斷:上拉/下拉電阻

在將GPIO引腳配置為輸入時,它將讀取該引腳以確定其狀態(tài)。在此電路中,您需要讀取引腳是 HIGH 還是 LOW 以便在按下按鈕時觸發(fā)LED。如果這是引腳可以具有的唯一狀態(tài),那么這將很簡單,但是不幸的是,還有第三種狀態(tài):浮動。

浮動引腳的值介于高電平和低電平之間,導(dǎo)致輸入行為異常。上拉/下拉電阻器可以解決這個問題。

上圖是按鈕和Raspberry Pi的簡化圖。 GPIO引腳通過按鈕接地。內(nèi)部上拉電阻將GPIO引腳連接到內(nèi)部Pi電源。該電流流動,并且該引腳被安全地拉高。

按下按鈕時,GPIO引腳直接連接到接地引腳,并且該按鈕讀為低電平。

下拉電阻用于將開關(guān)連接到電源引腳時的情況。這次,內(nèi)部電阻器將GPIO引腳接地,并保持低電平,直到您按下按鈕為止。

上拉和下拉電阻器理論乍一看令人困惑,但重要的知識是與微控制器一起工作?,F(xiàn)在,如果您不太了解它,請不要擔(dān)心!

讓我們繼續(xù)我們停下來的地方。

程序循環(huán)

接下來,設(shè)置程序循環(huán):

while True:

buttonState = GPIO.input(buttonPin)

if buttonState == False:

GPIO.output(ledPin, GPIO.HIGH)

else:

GPIO.output(ledPin, GPIO.LOW)

True 循環(huán)會不斷在其中運(yùn)行代碼,直到結(jié)束程序。每次循環(huán)時,它都會通過讀取 buttonPin 的輸入來更新 buttonState 。當(dāng)未按下按鈕時,它保持高。

按下按鈕后, buttonState 將變?yōu)?LOW 。這會觸發(fā) if語句,因?yàn)?False 與 LOW 相同,并且LED點(diǎn)亮。 else 語句在buttonPin不為False時關(guān)閉LED。

保存并運(yùn)行腳本

通過單擊文件》保存腳本另存為并選擇文件名。您可以通過單擊Thonny工具欄中的綠色 Play 按鈕來運(yùn)行草圖。

現(xiàn)在按一下按鈕,然后按LED應(yīng)該點(diǎn)亮!隨時按紅色的停止按鈕以停止程序

如果遇到困難,請檢查代碼和電路

方法2:GPIO零庫

RPi.GPIO庫太棒了,但是有個新手正在嘗試。 GPIO零庫是由Raspberry Pi社區(qū)經(jīng)理Ben Nuttall創(chuàng)建的,其目的是使代碼更簡單,更易于讀寫。

要測試新庫,請打開一個新的Thonny文件,然后導(dǎo)入

from gpiozero import LED, Button

from signal import pause

您會注意到您沒有導(dǎo)入整個庫。由于僅使用LED和按鈕,因此腳本中僅需要這些模塊。我們還從信號庫(用于事件管理的Python庫)導(dǎo)入暫停。

使用GPIO零設(shè)置引腳容易得多:

led = LED(18)

button = Button(23)

由于GPIO零庫具有用于LED和按鈕的模塊,因此您無需像以前那樣設(shè)置輸入和輸出。您會注意到,盡管引腳沒有改變,但此處的數(shù)字與上面的數(shù)字有所不同。這是因?yàn)镚PIO零僅使用GPIO引腳號(也稱為Broadcom或BCM編號)。

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

button.when_pressed = led.on

button.when_released = led.off

pause()

此處的 pause()調(diào)用只是在腳本到達(dá)底部時停止退出腳本。只要按下并釋放按鈕,就會觸發(fā)兩個按鈕事件。保存并運(yùn)行腳本,您將看到與以前相同的結(jié)果!

向Raspberry Pi添加按鈕的兩種方法

在設(shè)置按鈕的兩種方法中, GPIO Zero方法似乎是最簡單的。由于大多數(shù)初學(xué)者Raspberry Pi項(xiàng)目都使用RPi.GPIO庫,因此仍然值得學(xué)習(xí)。就像這個項(xiàng)目一樣簡單,這些知識可以用于很多事情。

使用GPIO引腳是學(xué)習(xí)和發(fā)明自己的設(shè)備的好方法,但是它遠(yuǎn)遠(yuǎn)超出了您可以做的一切。 Pi。我們的Raspberry Pi非官方指南充滿了創(chuàng)意和教程,您可以自己嘗試一下!有關(guān)另一個類似的教程,請查看如何制作Wi-Fi連接按鈕。
責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 按鈕
    +關(guān)注

    關(guān)注

    0

    文章

    134

    瀏覽量

    12812
  • 樹莓派
    +關(guān)注

    關(guān)注

    117

    文章

    1708

    瀏覽量

    105703
收藏 人收藏

    評論

    相關(guān)推薦

    樹莓傳感器使用方法 樹莓 Raspberry Pi 4優(yōu)缺點(diǎn)

    開發(fā)和物聯(lián)網(wǎng)應(yīng)用。以下是一些基本的樹莓傳感器使用方法: 1. 連接傳感器 GPIO引腳 :樹莓的GPIO(通用輸入/輸出)引腳允許直接連
    的頭像 發(fā)表于 12-06 10:35 ?519次閱讀

    樹莓開發(fā)的最佳編程語言選擇

    樹莓(Raspberry Pi)是一款由英國樹莓基金會開發(fā)的信用卡大小的單板計(jì)算機(jī),它以其低成本、易于編程和靈活性而受到廣泛歡迎。樹莓
    的頭像 發(fā)表于 11-11 11:34 ?635次閱讀

    樹莓與Arduino的區(qū)別是什么

    Pi): 樹莓最初是作為教育工具設(shè)計(jì)的,旨在幫助學(xué)生學(xué)習(xí)計(jì)算機(jī)編程和電子工程。隨著時間的推移,它已經(jīng)發(fā)展成為一個多功能的微型計(jì)算機(jī),可以用于各種項(xiàng)目,包括但不限于: 家庭媒體中心 游戲機(jī) 網(wǎng)絡(luò)服務(wù)器 IoT(物聯(lián)網(wǎng))設(shè)備 教
    的頭像 發(fā)表于 11-11 11:14 ?881次閱讀

    樹莓gpio有什么用,樹莓gpio接口及編程方法

    一、樹莓GPIO的用途 樹莓(Raspberry Pi)是一款小巧、功能強(qiáng)大的單板計(jì)算機(jī),廣泛應(yīng)用于編程教育、物聯(lián)網(wǎng)項(xiàng)目、家庭媒體中心等
    的頭像 發(fā)表于 10-22 18:09 ?950次閱讀

    什么是樹莓?樹莓是什么架構(gòu)的

    什么是樹莓 樹莓(Raspberry Pi,簡寫為RPi,別名為RasPi/RPI)是由英國“Raspberry Pi 慈善基金會”開發(fā)的一款為學(xué)習(xí)計(jì)算機(jī)編程教育而設(shè)計(jì)的微型電腦。
    的頭像 發(fā)表于 10-22 17:33 ?966次閱讀

    樹莓網(wǎng)關(guān):物聯(lián)網(wǎng)應(yīng)用的新標(biāo)桿

    什么是樹莓? 樹莓(Raspberry Pi)是一基于Linux的小型單板計(jì)算機(jī),由英國的樹莓
    的頭像 發(fā)表于 10-09 16:44 ?334次閱讀
    類<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>網(wǎng)關(guān):物聯(lián)網(wǎng)應(yīng)用的新標(biāo)桿

    樹莓和51單片機(jī)哪個有優(yōu)勢

    是一款由英國樹莓基金會開發(fā)的信用卡大小的單板計(jì)算機(jī)。自2012年推出以來,樹莓已經(jīng)發(fā)展出多個版本,包括A、B、2、3、4等型號。
    的頭像 發(fā)表于 09-02 09:04 ?841次閱讀

    樹莓和單片機(jī)的優(yōu)缺點(diǎn)是什么

    樹莓(Raspberry Pi)和單片機(jī)(Microcontroller)是兩廣泛應(yīng)用于電子項(xiàng)目和嵌入式系統(tǒng)的硬件平臺。它們各自具有獨(dú)特的優(yōu)缺點(diǎn),適用于不同的應(yīng)用場景。
    的頭像 發(fā)表于 08-30 18:21 ?1696次閱讀

    樹莓的功能用途是什么

    、科研、工業(yè)控制、物聯(lián)網(wǎng)、多媒體播放、家庭自動化等領(lǐng)域。 樹莓(Raspberry Pi)是一小型、低成本的單板計(jì)算機(jī),由英國的Raspberry Pi基金會開發(fā),其功能和用途非常廣泛。以下是
    的頭像 發(fā)表于 08-30 18:01 ?2807次閱讀

    樹莓4B的性能特點(diǎn)及應(yīng)用

    。Cortex-A72是ARM公司推出的一款高性能處理器,采用了64位架構(gòu),具備了高性能、低功耗的特點(diǎn)。相較于前代產(chǎn)品樹莓3B+,其CPU性能提升了約3倍。 2.
    的頭像 發(fā)表于 08-30 16:54 ?1944次閱讀

    樹莓裝ubuntu和raspbian哪個更好

    樹莓(Raspberry Pi)是一款由英國樹莓基金會開發(fā)的單板計(jì)算機(jī),廣泛應(yīng)用于教育、科研、物聯(lián)網(wǎng)等領(lǐng)域。樹莓
    的頭像 發(fā)表于 08-30 15:41 ?1394次閱讀

    樹莓和arm開發(fā)板的區(qū)別

    樹莓(Raspberry Pi)和ARM開發(fā)板都是基于ARM架構(gòu)的微型計(jì)算機(jī),但它們之間存在一些關(guān)鍵區(qū)別。 一、歷史背景 樹莓(Raspberry Pi)
    的頭像 發(fā)表于 08-30 15:36 ?1065次閱讀

    樹莓5,Raspberry Pi 5 評測

    樹莓4已經(jīng)算是一款強(qiáng)大的單板計(jì)算機(jī)了,樹莓5聲稱其處理能力是樹莓4的兩到三倍。
    發(fā)表于 06-19 14:51

    新手入門如何選擇Arduino與樹莓?

    樹莓2的主頻速度和內(nèi)存量兩個主要方面都遠(yuǎn)高于Arduino。樹莓可以被看作一臺完全獨(dú)立的計(jì)算機(jī),可以直接運(yùn)行Linux和Windows
    發(fā)表于 04-28 14:56 ?649次閱讀
    新手入門如何選擇Arduino與<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>?

    樹莓主板如何連接電腦

    連接樹莓派到電腦是一個非常有用的功能,它可以讓我們在電腦上進(jìn)行樹莓的操作和管理。本文將詳細(xì)介紹如何連接樹莓主板到電腦。我會從準(zhǔn)備工作開始
    的頭像 發(fā)表于 01-07 15:40 ?2002次閱讀