Raspberry Pi Pico筆記(2):按鍵開關控制LED亮滅

前一篇文章介紹 Pico 初次安裝後,接著來瞭解一下 Pico如何控制 GPIO 的輸入和輸出,以一個按鍵為例,按下按鍵時,讓 LED 燈亮,在按一次則熄滅。

[材料]

  • 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 指定引腳模式,可以是以下其中一種:
  1. Pin.IN :引腳配置為輸入。如果將其視為輸出,則該引腳處於高阻抗狀態。
  2. Pin.OUT :引腳配置為輸出,預設模式。
  3. Pin.OPEN_DRAIN :引腳配置為開漏輸出。開漏輸出的工作方式如下:如果輸出值設置為 0,則該引腳處於低電平有效;否則,該引腳處於低電平。如果輸出值為 1,則引腳處於高阻抗狀態。
  4. Pin.ALT :引腳配置為執行替代功能。
  • pull 指定該引腳是否連接了上拉電阻,並且可以是以下之一:
  1. None :沒有上拉或下拉電阻。
  2. Pin.PULL_UP :啟用上拉電阻。
  3. 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秒

[實作結果]


[參考資料]

Post a Comment

較新的 較舊