前一篇文章介紹 Pico 初次安裝後,接著來瞭解一下 Pico如何控制 GPIO 的輸入和輸出,以一個按鍵為例,按下按鍵時,讓 LED 燈亮,在按一次則熄滅。
machine.Pin(id, mode, pull, *, value, drive, alt)
設定引腳(GPIO)id 的模式、電阻設定等功能。通常僅需設定前三個值,其他變數為特定接口使用。
[材料]
- Raspberry Pi Pico x1
- LED x1
- 按鈕 x1
- 電阻 220歐姆 x1
- 排線 n條
[接線圖]
按鈕接在引腳19(GPIO14),並連接至Raspberry Pi Pico上 的 3.3V 的引腳,這表示需要告訴 MicroPython 這是一個輸入引腳,並將其下拉。引腳20(GPIO15)則連接220K 電阻後,連接 LED。Pi Pico接腳 | LED | 按鈕 |
---|---|---|
Pin 36(+3.3V) | - | 按鍵一端 |
Pin 38(GND) | LED短腳(-) | - |
Pin 19(GPIO14) | - | 按鍵另一端 |
Pin 20(GPIO15) | 接220K電阻,電阻一端接LED長腳(+) | - |
[程式]
程式中用到一個很重要的函式是設定 GPIO 的模式,最常用的是輸入和輸出模式。machine.Pin(id, mode, pull, *, value, drive, alt)
設定引腳(GPIO)id 的模式、電阻設定等功能。通常僅需設定前三個值,其他變數為特定接口使用。
- id 是指GPIO的編號,可以使用 int(內部 Pin標識符)、str(Pin名稱)的類型值。
- mode 指定引腳模式,可以是以下其中一種:
- Pin.IN :引腳配置為輸入。如果將其視為輸出,則該引腳處於高阻抗狀態。
- Pin.OUT :引腳配置為輸出,預設模式。
- Pin.OPEN_DRAIN :引腳配置為開漏輸出。開漏輸出的工作方式如下:如果輸出值設置為 0,則該引腳處於低電平有效;否則,該引腳處於低電平。如果輸出值為 1,則引腳處於高阻抗狀態。
- Pin.ALT :引腳配置為執行替代功能。
- pull 指定該引腳是否連接了上拉電阻,並且可以是以下之一:
- None :沒有上拉或下拉電阻。
- Pin.PULL_UP :啟用上拉電阻。
- Pin.PULL_DOWN :下拉電阻 Ebable。
- value 僅對 Pin.OUT 和 Pin.OPEN_DRAIN 模式有效,並指定初始輸出引腳值,否則引腳外設的狀態保持不變。
- drive 指定銷的輸出功率,並且可以是以下之一:Pin.LOW_POWER、Pin.MED_POWER 或 Pin.HIGH_POWER。
from machine import Pin import time led = Pin(15, Pin.OUT) button = Pin(14, Pin.IN, Pin.PULL_DOWN) while True: if button.value(): led.toggle() #進行On/Off切換 time.sleep(0.5) #延遲0.5秒
張貼留言