Raspberry Pi Pico W 按鈕控制 LED 教學(MicroPython)
Raspberry Pi Pico W:用按鈕控制 LED 簡單教學
一、材料準備
- Raspberry Pi Pico 或 Pico W 開發板
- LED 一顆
- 220Ω 電阻一個(建議串聯於LED保護)
- 按鈕一顆
- 杜邦線若干、麵包板、USB 傳輸線與電腦各一份。
二、電路接法說明:
- Pico GPIO20 (第26腳): 接至LED長腳(正極)
- Pico GND: 經過220Ω電阻後接至LED短腳(負極)
- Pico GPIO21 (第27腳): 接到按鍵的一端
- 按鍵另一端直接接GND
不需外加上拉/下拉電阻,因為程式已設定 Pin.PULL_DOWN。
GPIO20 ----->|----[220Ω]---GND (LED)
GPIO21 ---[Button]---GND (按鍵)
# 實際連結請依照開發板針腳標示確認!
三、程式碼解說與操作步驟:
(可複製貼上於 Thonny 或 VSCode MicroPICO 擴充中執行)
from machine import Pin
from time import sleep
led = Pin(20, Pin.OUT)
button = Pin(21, Pin.IN, Pin.PULL_DOWN)
while True:
led.value(button.value())
sleep(0.1)
print(button.value())
# 說明:有壓就亮,沒壓就滅;終端機會印出目前 button 狀態。
# led = Pin(20,Pin.OUT):將GPIO 20設為輸出,用來點亮或熄滅LED。
# button = Pin(21,Pin.IN,Pin.PULL_DOWN):將GPIO 21設為輸入並啟用內部下拉電阻。未壓時讀值0,壓下時讀值1。
# 在無限迴圈中,每0.1秒檢查一次按鍵狀態,把它的數值直接傳給led,也就是「有壓就亮,沒壓就滅」。
# 並且每次都印出目前 button 狀態,可在序列埠監控看到變化。
[進階]: 若想改變反應速度,只需調整sleep()裡面的數字,如sleep(.05));如果要讓燈「切換」而不是同步,可以練習判斷邊緣觸發再翻轉 led 狀態喔!
如還有其他問題歡迎隨時詢問!
前往測試結果區段↓
[實作步驟]
A.連結硬體:
依照上述方式插好麵包板和杜邦線,不要插錯PIN!(參考第二節內容)。
B.寫入及上傳程式碼 : (以Thonny舉例)
- 打開Thonny,新建檔案貼上上述代碼。
儲存至你的 pico 上,例如命名成 main.py
點擊執行或重新插拔即可運作!
如果使用VSCode + MicroPICO擴充,上傳blink.py方法同理。
五、測試結果 :
- 當你不按住 按鍵時 , LED 熄滅;
當你手指壓住強> ; 時 , LED 點亮!
- 終端機會持續列印`0`(未押)、`1`(已押),方便觀察偵測效果。
Raspberry Pi Pico W:用按鈕控制 LED 簡單教學
一、材料準備
- Raspberry Pi Pico 或 Pico W 開發板
- LED 一顆
- 220Ω 電阻一個(建議串聯於LED保護)
- 按鈕一顆
- 杜邦線若干、麵包板、USB 傳輸線與電腦各一份。
二、電路接法說明:
- Pico GPIO20 (第26腳): 接至LED長腳(正極)
- Pico GND: 經過220Ω電阻後接至LED短腳(負極)
- Pico GPIO21 (第27腳): 接到按鍵的一端
- 按鍵另一端直接接GND
不需外加上拉/下拉電阻,因為程式已設定 Pin.PULL_DOWN。
GPIO20 ----->|----[220Ω]---GND (LED)
GPIO21 ---[Button]---GND (按鍵)
# 實際連結請依照開發板針腳標示確認!
三、程式碼解說與操作步驟:
(可複製貼上於 Thonny 或 VSCode MicroPICO 擴充中執行)
from machine import Pin
from time import sleep
led = Pin(20, Pin.OUT)
button = Pin(21, Pin.IN, Pin.PULL_DOWN)
while True:
led.value(button.value())
sleep(0.1)
print(button.value())
# 說明:有壓就亮,沒壓就滅;終端機會印出目前 button 狀態。
# led = Pin(20,Pin.OUT):將GPIO 20設為輸出,用來點亮或熄滅LED。
# button = Pin(21,Pin.IN,Pin.PULL_DOWN):將GPIO 21設為輸入並啟用內部下拉電阻。未壓時讀值0,壓下時讀值1。
# 在無限迴圈中,每0.1秒檢查一次按鍵狀態,把它的數值直接傳給led,也就是「有壓就亮,沒壓就滅」。
# 並且每次都印出目前 button 狀態,可在序列埠監控看到變化。
[進階]: 若想改變反應速度,只需調整sleep()裡面的數字,如sleep(.05));如果要讓燈「切換」而不是同步,可以練習判斷邊緣觸發再翻轉 led 狀態喔!
如還有其他問題歡迎隨時詢問!
前往測試結果區段↓
[實作步驟]
A.連結硬體:
依照上述方式插好麵包板和杜邦線,不要插錯PIN!(參考第二節內容)。
B.寫入及上傳程式碼 : (以Thonny舉例)
- 打開Thonny,新建檔案貼上上述代碼。</ li >
儲存至你的 pico 上,例如命名成 main.py
點擊執行或重新插拔即可運作!
如果使用VSCode + MicroPICO擴充,上傳blink.py方法同理。
五、測試結果 :
- 當你不按住 按鍵時 , LED 熄滅;
當你手指壓住強> ; 時 , LED 點亮!
- 終端機會持續列印`0`(未押)、`1`(已押),方便觀察偵測效果。


留言
張貼留言