2026年10月6日 星期二

Pico 2 W、Thonny 與 MicroPython 入門

Pico 2 W × Thonny|第 1 次課程

Pico 2 W、Thonny 與 MicroPython 入門

本篇從開發板、程式編輯環境與第一段 MicroPython 程式開始,帶你讓 Pico 2 W 控制 LED、讀取按鍵,建立「程式可以感知並控制真實世界」的第一個經驗。

作者:施朝斌

一、Pico 2 W 是什麼?

Pico 2 W 是一塊可程式化的微控制器開發板。它使用 RP2350 晶片,具備 GPIO 等硬體介面,並整合 Wi-Fi 與 Bluetooth 無線連線能力。課程後續會讓它連上網路,交換感測資料;不過在開始網路通訊以前,先熟悉程式如何和硬體互動,會更容易理解整套物聯網流程。

可以先把 Pico 2 W 想成一個小型「感測與控制節點」:感測器把環境變化交給它,程式依照輸入做判斷,再透過輸出控制 LED、馬達或其他裝置。第一堂先從 LED 和按鍵入手。

二、Thonny:編寫與執行 MicroPython 的工具

Thonny 是適合初學者使用的 Python 開發環境。連接 Pico 2 W 後,Thonny 的編輯區可用來撰寫程式,Shell 則能顯示執行結果、錯誤訊息,也能直接輸入指令測試。

1|選擇 Interpreter在 Thonny 的設定中選擇 Raspberry Pi Pico/MicroPython,以及正確的連接埠。
2|撰寫程式在編輯區輸入程式,先確認縮排與拼字。
3|執行與觀察按下 Run,觀察 Pico 上的 LED 或 Shell 輸出。
4|修正與儲存依結果調整程式;需要讓程式存於開發板時,可儲存為 main.py。

這個「修改、執行、觀察、修正」的循環,是初學程式很重要的工作方式。若 Thonny 無法連線,先檢查 USB 線、Interpreter 與連接埠是否選對,再查看 Shell 顯示的訊息。

三、第一個程式:讓板載 LED 閃爍

下面的程式會將 Pico 2 W 的板載 LED 設為輸出,並每隔半秒切換一次亮暗狀態。

from machine import Pin
import time

led = Pin("LED", Pin.OUT)

while True:
    led.toggle()
    time.sleep(0.5)

Pin("LED", Pin.OUT)代表以輸出方式控制板載 LED;while True讓程式持續重複執行;toggle()切換 LED 狀態;time.sleep(0.5)則暫停 0.5 秒。執行後若 LED 持續閃爍,就表示程式已成功控制硬體。

動手試試:將 0.5 改成 0.1 或 1,觀察閃爍速度如何改變。也可以挑戰「連閃三次,再停一秒」;先想清楚需要重複哪些動作,再修改程式。

四、從輸出到輸入:按鍵控制 LED

LED 是輸出裝置,按鍵則提供輸入。以下範例讀取接在 GPIO 15 的按鍵,再依照按鍵狀態控制 LED。

from machine import Pin

led = Pin("LED", Pin.OUT)
button = Pin(15, Pin.IN, Pin.PULL_UP)

while True:
    led.value(not button.value())

Pin(15, Pin.IN, Pin.PULL_UP)將 GPIO 15 設為輸入,並啟用內部上拉。使用上拉時,按鍵未按下的讀值通常為 1,按下後會變成 0;因此程式用 not 反轉讀值,讓按鍵按下時 LED 亮起。實際接線仍要依課堂使用的按鍵模組與電路圖確認,避免把電源與 GPIO 接錯。

這段程式呈現物聯網裝置的基本概念:程式讀取輸入,再控制輸出。日後把輸入換成溫度、水位或光線資料,再把結果送到網路,就能逐步建構感測應用。

五、認識常見硬體介面

  • GPIO:讀取或輸出數位訊號,例如按鍵、LED 或繼電器控制。
  • ADC:讀取類比電壓,可應用於光敏元件或電池電壓等情境。
  • PWM:以脈波方式控制輸出,常用於調整 LED 亮度或控制馬達。
  • I²C:讓控制板透過共同的通訊線路與多種數位感測器交換資料。

第一堂不必立刻精通所有介面。先知道它們各自能處理哪一類訊號,之後遇到感測器或控制任務時,就能選擇適合的連接方式。

六、第一堂實作任務

  1. 讓板載 LED 每秒閃爍一次。
  2. 使用按鍵控制 LED 亮起或熄滅。
  3. 按下按鍵時,讓 LED 快速閃爍。
  4. 記錄程式修改後的現象,並說明輸入、程式處理與輸出的關係。

完成後,學生不只看過程式碼,也已經讓程式和實體裝置互動。這是後續連線、建立 Web Server、使用 HTTP/JSON,以及透過 MQTT 傳送 IoT 資料的起點。

本篇重點回顧

  • Pico 2 W 是可透過程式讀取輸入、控制輸出的微控制器開發板。
  • Thonny 負責編寫、執行與除錯 MicroPython 程式。
  • GPIO 可設定為輸入或輸出;按鍵與 LED 是最容易觀察的練習組合。
  • 透過反覆修改、執行與觀察,逐步建立程式除錯能力。

下一篇將接續介紹 Pico 2 W 如何連上 Wi-Fi、查看網路資訊,並開始理解裝置如何進入 Internet。

沒有留言:

張貼留言