關於 Raspberry Pi GPIO 引腳您需要了解的一切
從玩遊戲到運行 Kodi 娛樂系統,您可以使用 Raspberry Pi 做很多事情。但如果您了解通用輸入輸出 (GPIO) 的方法,您還可以做更多的事情。以下指南可協助您正確使用 Raspberry Pi GPIO 引腳!
什麼是樹莓派 GPIO 引腳?
Raspberry Pi 的 GPIO 接腳是從一側伸出的金屬接腳,位於 HDMI 和電源連接器所在位置的對面。
然而,並非所有這些引腳都算作“GPIO”。其中,26 個可以設定為輸入和輸出邏輯引腳。這些是 GPIO 引腳。其餘的是電源引腳。
透過將它們編程到輸入或輸出引腳,您可以將它們變成可以讀取輸入並顯示輸出的邏輯計算機。例如,您可以將輸入引腳連接到按鈕電路,將輸出引腳連接到 LED,這樣每當按下按鈕時 LED 就會亮起。
樹莓派引腳分配
在將每個引腳編程為輸入和輸出之前,您首先需要知道哪些引腳是哪些。
Raspberry Pi 上的每個引腳編號為 1 到 40。如果以 USB 連接埠指向地板的方式查看 Raspberry Pi,則左上角的引腳應該是引腳 1。右側的引腳是針2,然後繼續計數,直到到達右下角的針40。
現在,以下引腳不是 GPIO – 它們是電源引腳,要么不斷充電以輸出電壓(3v3 和 5V),要么用於接收電壓(接地)。
- 1 & 17 (3v3)
- 2 和 4(5V)
- 6、9、14、20、25、30、34、39(地面)
通常,您可以透過名稱來稱呼這些引腳。因此,如果您將引腳 7 稱為 GPIO,則可以將其稱為引腳 7。這稱為主機板編號。
另一方面,您也可以根據週邊處理器晶片透過單獨的編號來呼叫它們。這稱為BCM 編號,之所以這樣命名是因為運作這些引腳的晶片屬於 BCM 系列處理器。
設定輸入和輸出引腳
您可以使用 Thonny 對 Raspberry Pi 的 GPIO 引腳進行編程,Thonny 是 Raspberry Pi 作業系統隨附的預設 Python 編輯器。
以下程式碼使用 BOARD 編號將引腳 7 (GPIO 4) 設定為輸出引腳,將引腳 8 (GPIO 14) 設定為輸入引腳。
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD) // Set BOARD numbering.
GPIO.setup(7, GPIO.OUT) // Set pin 7 as an output pin.
GPIO.setup(14, GPIO.IN) // Set pin 14 as an input pin.
GPIO.output(7, GPIO.HIGH) // Make pin 7 output 3 volts.
GPIO.input(8) // Reads whether there's electricity passing through pin 8. Returns either a True or False that you can use in an if statement.
GPIO.output(7, GPIO.LOW) // Make pin 7 stop outputting 3 volts.
程式碼解釋
要使用 GPIO 引腳,您需要匯入 Raspberry Pi GPIO 庫。這是透過輸入 來完成的import RPi.GPIO as GPIO
。
之後,您需要設定模式。用於GPIO.setmode(GPIO.BOARD)
告訴 MicroPython 解釋器以 BOARD 模式讀取。或使用GPIO.setmode(GPIO.BCM)
BCM模式閱讀。
要設定引腳,您需要使用該GPIO.setup(<pin>, <GPIO.OUT or GPIO.IN>)
功能。它需要兩個參數。第一個是基於您之前選擇的編號模式的引腳號。第二個是狀態,無論您想將其設定為帶有 的輸出引腳GPIO.OUT
還是帶有 的輸入引腳GPIO.IN
。
接下來,對於輸出引腳,您可以使用 將它們設為高或低GPIO.output(<pin>, <GPIO.LOW or GPIO.HIGH>)
。將輸出引腳設定為高電平可將其充電至 3 伏特。這在計算機邏輯中算作“是”或“1”。LOW 則相反,將其充電至接近 0 伏特。
另一方面,您可以讀取輸入引腳的值。如果它們接收到 3 伏特電壓,它們將註冊為高電平並返回一個布林值GPIO.input(<pin>)
。布林值是 True 或 False 的值。您可以在 while 迴圈和 if 語句中使用這些值,以利用它們進行更深層的邏輯處理。
將 GPIO 和電源引腳連接到外圍組件
Raspberry Pi 上的 GPIO 腳位稱為公腳。這是因為它們有突出的金屬位,而不是像 Arduino Uno 那樣的針盤。
大多數原型組件都帶有公引腳,以便更輕鬆地將它們放置在麵包板上。您可以使用公對母跳線將它們連接到麵包板上,也可以使用母對母跳線將它們直接連接到組件本身。
此外,在大多數元件中,您有時會在其引腳上發現“S”、“IN”或“OUT”標記。這意味著緊鄰它們的引腳應連接到 GPIO 引腳。標記取決於組件 – 許多組件甚至不會這樣命名它們,因為它們在板上有大約 3 到 9 個訊號、輸入或輸出引腳。
要知道哪個引腳應該放在哪裡,您可以找到他們的“數據表”,這是製造商關於如何使用該元件及其預期行為的建議。這些是特定於某個型號或品牌的,特別是當涉及內部裝有大量其他組件的模組時。
處理 Raspberry Pi GPIO 引腳
GPIO 引腳是敏感的東西。如果你不小心的話,很容易弄壞它們。
其一,您必須確保只有以 3 伏特邏輯運作的電源才能連接到這些裝置。對任何 GPIO 引腳施加 5 伏特電壓是破壞它們的一種方法。
另一件可能破壞它們的事情是將輸出引腳直接連接到輸入引腳,而中間沒有任何電阻或組件。雖然電壓保持不變,但從輸出引腳流出的電流可能會損壞您的輸入引腳。
一旦您學會如何正確使用它們,您就可以使用 Raspberry Pi 做很多事情。例如,您可以將直流馬達連接到一個馬達上,並使其在輪子上運行或充當微型電風扇。如果添加輪子,您甚至可以透過行動電源上的SSH 無線控制 Raspberry Pi 機器人!這些 GPIO 引腳將 Raspberry Pi 的功能擴展到比沒有它們時更強大的功能。
圖片來源:Unsplash
發佈留言