Raspberry Pi是一種廉價(jià)的微型計(jì)算機(jī),能夠執(zhí)行許多任務(wù),包括復(fù)古游戲和成為家庭媒體中心。 Pi也非常重視教育,Scratch和Minecraft Pi版本均致力于幫助年輕人學(xué)習(xí)編碼,而GPIO引腳(通用輸入/輸出)打開了一個(gè)完整的世界。 DIY電子修補(bǔ)和發(fā)明。
什么是Raspberry Pi GPIO引腳?
在本文中,我們將告訴您一切需要了解Pi的GPIO引腳:它們可以做什么,如何使用它們以及在使用它們時(shí)應(yīng)避免的錯(cuò)誤。
開始之前的注意事項(xiàng): Pi的不同版本可能會(huì)有所不同!在將任何東西連接到板上之前,請(qǐng)確保您使用的是正確的。一種快速的檢查方法是在Raspberry Pi的終端中鍵入 pinout ,這將彈出您當(dāng)前的設(shè)置圖。
GPIO引腳集成到了電腦。用戶可以控制它們的行為,以允許他們從傳感器讀取數(shù)據(jù),并控制LED,電動(dòng)機(jī)和顯示器等組件。 Pi的較舊型號(hào)具有26個(gè)GPIO引腳,而較新的型號(hào)均具有40個(gè)GPIO引腳。此圖顯示了每個(gè)引腳的功能:
在標(biāo)記的圖中上圖,您會(huì)看到有不同類型的GPIO引腳可用于不同目的。您可以在pinout.xyz上找到此圖表的交互式版本。它還概述了您首先要解決的令人困惑的事情之一。每個(gè)針腳都有兩個(gè)數(shù)字。其 BOARD 號(hào)(圓圈中的數(shù)字)及其 BCM (Broadcom SOC頻道)號(hào)。您可以選擇在編寫Python代碼時(shí)使用的約定:
# 1 - GPIO/BCM Numbering
GPIO.setmode(GPIO.BCM)
# 2 - Board Numbering
GPIO.setmode(GPIO.BOARD)
在每個(gè)項(xiàng)目中只能使用一種約定,因此請(qǐng)選擇一種并堅(jiān)持使用。兩種約定都不是“正確的”,因此請(qǐng)選擇對(duì)您最有意義的一種。但是,值得注意的是,某些外設(shè)依賴于GPIO/BCM編號(hào)。
在本文中,我們將堅(jiān)持使用 BOARD 編號(hào)。那么,插針實(shí)際上是做什么的?
電源插針
讓我們從電源插針開始。 Raspberry Pi可以提供5v(引腳2和4)和3.3v(引腳1和17)電源。它還為引腳6、9、14、20、25、30、34和39上的電路提供了接地(GND)。
不幸的是,沒有一個(gè)答案。 5v電源引腳可以消耗多少電流,這取決于您使用的是什么電源以及與Pi相連的其他組件。 Raspberry Pi 3僅從其電源汲取2.5A的電流,并且需要約750mA的電流才能啟動(dòng)和正常運(yùn)行。這意味著,如果您使用的是2.5A電源,則5v引腳可提供的最大總電流約為1.7A。令人討厭的是,這在Pi的模型之間有所不同,如下表所示:
《圖id =“ attachment_760425” aria- describeby =“ caption-attachment-760425” class =“ wp-caption aligncenter”》
圖片來(lái)源:raspberrypi.org
對(duì)于大多數(shù)用戶只是從Pi開始,這不會(huì)有問(wèn)題,但是當(dāng)您花費(fèi)更多的時(shí)間使用GPIO引腳時(shí),要牢記這一點(diǎn)。
3.3v引腳在最近的Raspberry上更簡(jiǎn)單一些Pi版本(自B +起)提供的總電流最多為 500mA ,而較舊的型號(hào)僅提供了 50mA 。請(qǐng)注意,該電流也將在所有其他GPIO引腳之間共享!
因此這些引腳可以為您的組件提供電源,但這僅是它們的功能。真正有趣的東西來(lái)自其余的引腳。
標(biāo)準(zhǔn)GPIO
在上表中,忽略了電源引腳,您會(huì)看到其中的一些標(biāo)記為不同的顏色。綠色引腳是標(biāo)準(zhǔn)GPIO引腳,這些是大多數(shù)初學(xué)者項(xiàng)目將使用的引腳。這些引腳具有3.3v 輸出的能力,在代碼中也稱為設(shè)置引腳 HIGH 。當(dāng)輸出引腳為 LOW 時(shí),這意味著它僅提供0v。
它們也可以采用《最高3.3v的strong》輸入,該引腳讀為 HIGH 。
請(qǐng)勿提供大于3.3v的引腳:這是油炸Pi的快速方法!
有關(guān)在一個(gè)簡(jiǎn)單項(xiàng)目中開始使用GPIO引腳的出色指南,請(qǐng)嘗試我們的Raspberry Pi GPIO入門項(xiàng)目。
盡管我們將在本文中介紹一些特殊用途的引腳,但您可以將除電源引腳以及引腳27和28 以外的任何引腳用作常規(guī)GPIO引腳。
PWM
PWM(脈沖寬度調(diào)制)通過(guò)發(fā)送短脈沖來(lái)控制其接收的功率,從而與電動(dòng)機(jī),伺服器和LED等組件一起使用。在我們的LED燈帶終極指南教程中,我們將它與Arduino一起使用。
在Pi上也可以使用PWM。引腳12(GPIO 18)和引腳35(GPIO 35)具有硬件PWM功能,盡管Pi還可以通過(guò)諸如Pigpio之類的庫(kù)提供軟件PWM。
有關(guān)PWM所需代碼的簡(jiǎn)介。 ,這個(gè)簡(jiǎn)單的LED亮度教程應(yīng)該可以幫助您入門。
引腳8和10(GPIO 14和15)是UART引腳,旨在通過(guò)串行與Pi進(jìn)行通信。港口。在某些情況下,您可能需要執(zhí)行此操作,但是對(duì)于大多數(shù)初學(xué)者而言,通過(guò)SSH或使用VNC無(wú)頭連接到Pi可能會(huì)更容易。
如果您對(duì)如何串行引腳可以工作,這是一個(gè)很棒的入門書。
SPI
SPI(串行外圍設(shè)備接口總線)是一種與RFID讀取器等設(shè)備進(jìn)行通信的方法我們?cè)趲в蠥rduino和RFID的DIY智能鎖項(xiàng)目中使用了它。
它允許設(shè)備與Raspberry Pi同步通信,這意味著更多數(shù)據(jù)可以在 master 和從設(shè)備設(shè)備。如果您曾經(jīng)為Pi使用過(guò)小的觸摸屏,那么這就是他們的交流方式。
《圖id =“ attachment_761109” aria- describeby =“ caption-attachment-761109” class =“ wp-caption aligncenter“》
圖片來(lái)源:Gareth Halfacree/flickr.com
Raspberry Pi有多種使用SPI的設(shè)備和擴(kuò)展HAT,它可以為您的項(xiàng)目提供比常規(guī)GPIO引腳所能承受的硬件更多的硬件。但是,它確實(shí)需要大量的布線才能運(yùn)行。 Raspberry Pi Foundation網(wǎng)站上有SPI的深入概述。
引腳19、21、23、24、25 和 26 (GPIO 10、9、11、8,GND和GPIO 26)用于連接到SPI器件,它們都是平穩(wěn)運(yùn)行所必需的。避免所有意大利面的好方法是購(gòu)買一個(gè)預(yù)制擴(kuò)展,例如Sense HAT,它可以裝在您的板上,并為L(zhǎng)ED矩陣和傳感器上的各種陣列提供擴(kuò)展。幾年來(lái)一直是它的最愛,甚至在國(guó)際空間站上也用于做一些實(shí)驗(yàn)!
SPI在Raspbian上沒有作為標(biāo)準(zhǔn)啟用,但可以在raspi-中啟用。
I2C(內(nèi)部集成電路)與SPI類似,但通常認(rèn)為它更易于設(shè)置和使用。它異步通信,并且能夠支持所需的任意數(shù)量的不同設(shè)備,只要它們各自在I2C總線上具有唯一的地址位置即可。由于采用了這種尋址系統(tǒng),Pi只需要兩個(gè)I2C引腳-引腳3(GPIO 2)和引腳5(GPIO 3),比SPI使用起來(lái)簡(jiǎn)單得多。
I2C的占地面積小有很多可能性。使用標(biāo)準(zhǔn)的GPIO引腳,設(shè)置LCD屏幕和一些按鈕幾乎可以占用每個(gè)引腳,使用I2C設(shè)備(例如Adafruit Negative LCD控制器)可以將其降低到只有兩個(gè)引腳!
Sparkfun有完整的SPI和I2C的概要以及使您入門的示例。
引腳27和28(標(biāo)記為ID_SD和ID_SC)也是I2C。 Pi用于內(nèi)部功能,還有一些HAT板。通常,除非您真的知道自己在做什么,否則不要惹他們!
Raspberry Pi:適用于一切的GPIO引腳!
Raspberry Pi是現(xiàn)代計(jì)算的瑞士軍刀。除了大量的日常使用外,它還使任何人都可以進(jìn)行自己的出色創(chuàng)作。
責(zé)任編輯:wv
-
樹莓派
+關(guān)注
關(guān)注
116文章
1697瀏覽量
105459 -
gpio引腳
+關(guān)注
關(guān)注
0文章
7瀏覽量
2622
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論