🥭MangoBox
回課程列表
RGB 模擬交通號誌生活科技

COURSE DETAIL

RGB 模擬交通號誌

用三顆 RGB LED 模擬紅、綠、黃燈,練習循環時間與狀態切換。

預估時間120 分鐘適用能力具條件判斷概念
查看課程章節

CHAPTERS

課程章節

依序閱讀、操作,再用完成檢查確認自己的學習成果。
  1. 01
    CHAPTER 1

    確認 RGB LED 編號

    確認本課以 RGB LED 模擬號誌,辨認範例使用的 LED 編號。

    確認學習目標與設備 →
  2. 02
    CHAPTER 2

    設定三種號誌

    閱讀紅、黃、綠色碼與對應輸出,先預測每個狀態。

    對照本課完整程式 →
  3. 03
    CHAPTER 3

    控制切換時間

    追蹤程式的號誌切換與等待順序,記錄一輪的變化。

    對照本課完整程式 →
  4. 04
    CHAPTER 4

    完成兩輪測試

    調整等待秒數,檢查各色持續時間與結束時的熄燈行為。

    對照本課完整程式 →

完成檢查

第 0 顆亮紅燈五秒,第 1 顆亮綠燈五秒,第 2 顆亮黃燈兩秒,重複兩輪。

保留程式與觀察紀錄,說明你修改了哪個部分,以及結果如何改變。

學習目標

  • 以 RGB LED 表現號誌顏色
  • 使用秒數控制循環時間
  • 結束時關閉所有 LED

所需設備

  • Windows 電腦
  • MangoThonny v0.4.0(Host Student API v0.4.6)
  • MangoX2 + Pico/Pico W/Pico 2 W
  • MangoX2 Runtime v0.2.6
  • USB 資料線、Host UART 所需 USB-to-TTL 連線
  • 八顆 RGB LED 教學模組(已啟用,index 0–7)

PROJECT PREVIEW

課程成果預覽

RGB 紅綠黃循環號誌第 0 顆亮紅燈五秒,第 1 顆亮綠燈五秒,第 2 顆亮黃燈兩秒,重複兩輪。
本課使用的 Mango X2 開發板

TRY IT

程式與實作

程式需在 MangoThonny 的 Host / CPython 執行;本頁提供閱讀與 RGB 燈效示意。
main.py
from mangobox import Mango
import time

m = Mango(mode="hardware")
try:
    for cycle in range(2):
        for index, color, seconds in [
            (0, "#FF0000", 5),
            (1, "#00FF00", 5),
            (2, "#FFFF00", 2),
        ]:
            m.led_off()
            m.led(index, color)
            time.sleep(seconds)
finally:
    m.led_off()
    m.close()

在 MangoThonny 執行

第 0 顆亮紅燈五秒,第 1 顆亮綠燈五秒,第 2 顆亮黃燈兩秒,重複兩輪。

下載本課 Python 範例 →

執行前請核對所需設備與頁面下方的執行環境。程式只在桌面工具執行,這個網頁不執行 Python 或連接硬體。

ENVIRONMENT & VERSIONS

本課執行環境與版本

執行方式
Host / CPython · hardware(程式在 Windows 電腦執行)
工具與韌體
MangoThonny v0.4.0 · Host Student API v0.4.6 · MangoX2 Runtime v0.2.6
適用硬體
MangoX2 + Pico/Pico W/Pico 2 W;依課程所需模組設定

本課以 MangoX2 教學套件為基準。MangoLite 需另核對模組、Enable 與 LED 數量,本課尚未宣稱直接相容。

先用 Device Manager 確認模組啟用、GPIO 與連線;MangoX2 的 OLED、RGB 和按鈕屬套件模組,不能只看裸板名稱判定已備妥。Host UART 與原生 Pico USB 的用途不同。

本課 API 核對紀錄 · 2026-09-09

已核對官方文件與 Host 原始碼;本課尚未完成實機驗證

traffic_light 專用模組在共享能力清單仍為 planned。此課以已支援的 RGB LED 模擬,不使用 start_cycle,也不要求紅黃綠燈專用模組。

對照來源:Host LED reference;module_capabilities.json traffic_light

官方來源:MangoBox-Platform 公開 API 契約(2026-09-06)與 MangoThonny Host 原始碼 983cc296。本站範例為課程改寫,非逐字複製老師教材。

  • m.led_off(strip=None)停止 LED 燈效並熄滅燈條
  • m.led(index, color="#ffffff", duration=0, strip=None)設定單顆 RGB LED 的顏色
  • m.close()停止 Runtime 或背景資源並關閉 Mango 物件