← Blog

翻牌顯示器系統架構規劃全紀錄|ESP32 + PCF8574 + TCA9548A + ULN2003 + 28BYJ-48

翻牌顯示器系統架構規劃全紀錄|ESP32 + PCF8574 + TCA9548A + ULN2003 + 28BYJ-48

🪧 專案背景

我想打造一面可以從手機輸入文字,透過 WiFi 控制的「機械翻牌牆」,像機場的那種咔咔聲字牌牆。

這面牆由大量翻牌模組組成,每個模組能夠顯示一個英文字母,並具備歸零感測、地址識別與模組間串接能力。

為了讓系統具備模組化、擴展性與可靠性,我設計了三層架構,並使用 I²C 擴展、GPIO 控制、以及 ESP32 為主控核心。

[使用者 UI] ↓ [ESP32 主控板] ↓(I²C 主匯流) [轉接板區(多組)] ↓(I²C 分區通道) [翻牌模組(最多 64+)]

💡 第一層:ESP32 主控板

- 控制核心:ESP32(負責 WiFi / Web UI / 控制邏輯) - 使用兩顆 TCA9548A I²C 多路選擇器 - 每顆有 8 個 I²C 通道 - 共可控制 最多 16 組模組區 - 搭配 12V → 5V 降壓模組,供 ESP32 和 TCA9548A 使用 - 每個 TCA 通道輸出一組 SDA / SCL / GND 至下一層轉接板

⚡ 第二層:轉接板(模組區管理單元)

功能:

- 負責「一區」最多 8 顆翻牌模組的供電與 I²C 分配 - 需加上SDK/SCL上拉電阻提供下位機 - 搭配一顆 12V → 5V 降壓模組(MP1584 / LM2596) - I²C 分配接頭(4pin)輸出給模組串接

地址管理:

- 使用 3 組 2-pin 排針跳帽(或焊點) - 控制該轉接板的模組位址區(例如從 0x20 開始) - 搭配模組預設位址編碼,模組不用改地址,只要設定轉接板起始位址即可

🧱 第三層:翻牌模組(最小顯示單元)

每個模組包含以下元件:

| 元件 | 功能 | | --- | --- | | PCF8574 | I²C 擴展 GPIO,4 位控制 ULN2003A,1 位讀取感測器 | | ULN2003A | 驅動 28BYJ-48 步進馬達 | | 28BYJ-48 | 機械翻牌動力來源 | | A3144 霍爾感測器 | 偵測翻牌歸零點 | | 4pin I²C 串接座 | 方便模組間 Daisy Chain 串接 | | 0.1μF 過濾電容 | 穩定電源訊號與抗干擾 |

🔋 電源設計規劃

- 主電源:110V AC → 12V DC 開關電源 - 每個轉接板用 降壓模組 產出 5V 電源供模組使用 - 單顆模組最大功耗約 1.2W(轉動中) - 8 模組 ≈ 9.6W → 建議用 12V 1A 模組(含 margin)

建議配置:

| 模組數量 | 降壓模組功率建議 | | --- | --- | | ≤ 4 | MP1584 / 5V 1A 模組 | | ≤ 8 | LM2596 / 5V 2A 模組 |

🧠 地址管理與模組配置邏輯

| 層級 | 地址管理方式 | | --- | --- | | ESP32 → TCA9548A | 主控選通通道 0~7 | | 轉接板 | 跳帽切換模組位址起點(如從 0x20 開始) | | 模組 | 預設地址,固定排位如 0x20、0x21... |

> ✅ 使用跳帽的好處:轉接板可自由換位置、模組免焊設定,維修便利! >

💻 軟體邏輯概述

1. ESP32 啟動 WiFi AP,建立 Web UI 2. 使用者輸入要顯示的內容 3. ESP32 解析文字,對應各模組目標字母 4. 控制: - 切換 TCA9548A 對應通道 - 依模組位址下指令(翻牌、歸零) 5. 模組執行:馬達轉動、感測歸零點、到位

---

🛠 待辦與強化建議(後續計畫)

- ✅ 開發模組狀態回報機制(透過中斷腳或回覆訊號) - ✅ 增加模組側「地址自動回報」機制(EEPROM ID 或 I²C Scan Map) - ✅ 設計測試板與除錯點(TP + LED 指示) - ✅ 模組排線模組化(選用 FPC or JST 連接器) - ✅ 支援遠端 OTA 更新

---

✅ 結語

這次的翻牌牆系統設計從模組細節一路考慮到整體電源管理、地址規劃與硬體擴展性。

透過 I²C 擴展 + TCA 多路控制,我們用非常少的 GPIO 實現了大量翻牌模組的控制。整體系統模組化、可拆裝、易維修,未來不論是做時鐘牆、跑馬燈、拼字遊戲牆都可以輕鬆擴展。