Raspberry Pi GPIO之旅

09年01月

Raspberry Pi的引腳介紹

樹莓派GPIO。 理查德薩維爾

術語'GPIO'(通用輸入輸出)不是Raspberry Pi獨有的。 輸入和輸出引腳可以在大多數微控制器上找到,比如Arduino,Beaglebone等等。

當我們與Raspberry Pi談論GPIO時,我們指的是電路板左上角的長引腳。 老款車型有26個引腳,但是我們大多數人將使用40的當前車型。

您可以將組件和其他硬件設備連接到這些引腳,並使用代碼來控制它們的功能。 這是Raspberry Pi的重要組成部分,也是學習電子學的絕佳方式。

經過幾個軟件項目之後,您可能會發現自己正在嘗試使用這些引腳,渴望將您的代碼與硬件混合在一起,使事情在“現實生活”中發生。

如果你是新手,這個過程可能會令人感到恐懼,並且考慮到一次錯誤的行為會損壞你的樹莓派,這對於初學者來說是一個緊張的領域是可以理解的。

本文將解釋每種GPIO引腳的作用及其局限性。

09年02月

GPIO

GPIO引腳編號為1到40,可以分為不同的功能。 理查德薩維爾

首先,我們來看看整個GPIO。 這些引腳可能看起來相同,但它們都有不同的功能。 上面的圖像以不同的顏色顯示了這些功能,我們將在以下步驟中解釋這些功能。

每個引腳從左下方開始編號從1到40。 這些是物理引腳號,但是,還有編號/標籤慣例,例如在編寫代碼時使用的'BCM'。

09年3月

電源和接地

樹莓派提供多個電源和接地引腳。 理查德薩維爾

突出顯示為紅色,3.3V或5V電源引腳標記為“3”或“5”。

這些引腳允許您直接向設備發送電源,而無需任何代碼。 也無法將這些關閉。

有2個電源軌 - 3.3伏和5伏。 根據這篇文章,3.3V電源軌限制為50mA電流消耗,而5V電源軌可以在電源滿足需求後提供電源剩餘的電流容量。

突出顯示的棕色是接地引腳(GND)。 這些引腳正是他們所說的 - 接地引腳 - 這是任何電子項目的重要組成部分。

(5V GPIO引腳是物理編號2和4. 3.3V GPIO引腳是物理編號1和17.接地GPIO引腳是物理編號6,9,14,20,25,30,34和39)

09年9月4日

輸入/輸出引腳

輸入和輸出引腳允許您連接傳感器和開關等硬件。 理查德薩維爾

綠色引腳就是我所說的'通用'輸入/輸出引腳。 這些可以很容易地用作輸入或輸出,而不用擔心與其他功能(如I2C,SPI或UART)發生衝突。

這些是可以向LED,蜂鳴器或其他組件供電的引腳,或者可以用作讀取傳感器,開關或其他輸入設備的輸入。

這些引腳的輸出功率為3.3V。 每個引腳的電流不應超過16mA,無論是灌電流還是源電流,並且整個GPIO引腳在任何時候都不應超過50mA。 這可能是限制性的,因此您可能必須在某些項目中獲得創意。

(通用GPIO引腳是物理編號7,11,12,13,15,16,18,22,29,31,32,33,35,36,37,38和40)

09年05月05日

I2C引腳

I2C允許您通過幾個引腳將其他設備連接到您的Pi。 理查德薩維爾

黃色,我們有I2C引腳。 I2C是一種簡單的通信協議,允許設備與Raspberry Pi進行通信。 這些引腳也可以用作'通用'GPIO引腳。

使用I2C的一個很好的例子是非常流行的MCP23017端口擴展器芯片,它可以通過這個I2C協議為您提供更多的輸入/輸出引腳。

(I2C GPIO引腳是物理引腳號3和5)

09年06月

UART(串行)引腳

通過與UART引腳的串行連接連接到您的Pi。 理查德薩維爾

灰色的是UART引腳。 這些引腳是另一種提供串行連接的通信協議,也可以用作'通用'GPIO輸入/輸出。

我最喜歡使用的UART是通過USB從我的Pi到筆記本電腦的串行連接。 這可以通過使用附加板或簡單電纜來實現,並且不需要通過屏幕或互聯網連接來訪問您的Pi。

(UART GPIO引腳是物理引腳號8和10)

09年7月

SPI引腳

SPI引腳 - 另一個有用的通信協議。 理查德薩維爾

粉紅色我們有SPI引腳。 SPI是在Pi和其他硬件/外設之間發送數據的接口總線。 它通常用於鏈接諸如LED矩陣或顯示器之類的設備。

像其他一樣,這些引腳也可以用作'通用'GPIO輸入/輸出。

(SPI GPIO引腳是物理引腳號19,21,23,24和26)

09年08月08日

DNC引腳

這裡沒有什麼可看的 - DNC引腳不起作用。 理查德薩維爾

最後是藍色的兩個引腳,目前標記為代表'不連接'的DNC。 如果Raspberry Pi Foundation改變了電路板/軟件,未來可能會發生變化。

(DNC GPIO引腳是物理引腳號27和28)

09年9月9日

GPIO編號約定

Portsplus是用於檢查GPIO管腳編號的便捷工具。 理查德薩維爾

使用GPIO進行編碼時,可以選擇以兩種方式之一導入GPIO庫 - BCM或BOARD。

我更喜歡的選擇是GPIO BCM。 這是Broadcom編號慣例,我發現它更常用於各種項目和硬件附件。

第二個選項是GPIO板。 此方法使用實際引腳編號,這在計數引腳時非常方便,但您會發現它在項目示例中使用較少。

導入GPIO庫時設置GPIO模式:

作為BCM導入:

將RPi.GPIO導入為GPIO GPIO.setmode(GPIO.BCM)

要導入為BOARD:

將RPi.GPIO導入為GPIO GPIO.setmode(GPIO.BOARD)

這兩種方法都完成相同的工作,這只是編號偏好的問題。

我經常使用方便的GPIO標籤板,例如RasPiO Portsplus(如圖)來檢查我連接電線的針腳。 一面顯示BCM編號約定,另一面顯示BOARD - 因此您可以找到任何項目。