← 返回文章
ASSEMBLY MANUAL

🚪 ESP32-S3 智慧車庫門控制器 — 組裝說明書

ESP32 全系列 × 3D 列印實作系列 · 第 11 篇 · 文件版本 v1.0(2026-10-18)

⏱️ 總工時:約 100 分鐘(不含 3D 列印) 🎯 難度:★★★☆☆ 中階(涉及牆面板接線) 🔧 工具:十字起子、剝線鉗、萬用表、梯子在車庫

🧰 零件與工具確認

① 壁掛盒底盤 ×1(PLA) ② 壁掛盒上蓋 ×1(PLA) ③ 磁簧支架 ×2(PLA) ④ USB 線夾 ×2(PLA) ⑤ ESP32-S3 DevKitC-1 ×1 ⑥ MC-5100 磁簧 ×2 ⑦ 5V 單路繼電器模組 ×1 ⑧ SSD1306 OLED ×1 ⑨ 蜂鳴器 ×1 ⑩ 5V 2A USB 電源 + 2m 線 🔧 十字起子(牆面板要用絕緣柄的) 🔧 萬用表(通斷檔)
💡 開工前先用遙控器把門完整開關一次,確認門本身健康——控制器不修門,只代你按按鈕。
1

列印零件並檢查

⏱️ 列印約 4 小時🎯 難度 ★☆☆☆☆
① 底盤(內凹 20mm) 罩住原牆面板 ② 上蓋 30×10mm 天線透波窗 ③ 磁簧支架 ×2 自帶 6mm 止擋 ④ 線夾 ×2 每 50cm 一個
  1. 西曬車庫或門朝西的住戶,控制盒改 PETG 列印(PLA 在 55°C 開始軟化,夏天鐵皮車庫能到 60°C+)。
  2. 檢查底盤內凹深槽是否有殘料——它要罩過原牆面板,深度不夠蓋不上。
  3. 磁簧支架的 6mm 止擋面必須平整,有溢料用美工刀修平。
⚠️ 天線透波窗被填滿的(列印時忘了留孔)報廢重印——S3 板載天線貼著 3mm PLA 牆,RSSI 會掉 10dB 以上。
2

安裝磁簧開關(三狀態的關鍵)

⏱️ 25 分鐘🎯 難度 ★★★☆☆
門軌 門片(升降) 磁簧 B(全開位):裝門軌上端 門升到頂時門片頂端經過 → LOW 磁簧 A(全關位):裝門框底部 門關到底時門片底端對準 → LOW 支架止擋鎖死 6mm 間距(觸發距離 10~15mm) 兩支都無訊號 = MOVING / 行程中間 这就是「三狀態」的來源
  1. 磁簧 A(全關位):鎖在門框底部內側,門關到底時門片鐵面正對磁簧,用支架止擋貼過去鎖螺絲。
  2. 磁簧 B(全開位):鎖在門軌上端內側,門升到頂時門片頂端經過它。
  3. 門片是鋁合金(不導磁)?把磁簧隨附的鐵片用環氧膠貼在門片對應位置。
  4. 磁簧線沿門軌走,每 50cm 一個線夾;預留 40cm 進盒長度。
💡 對位測試:手動把門移到端點,拿螺絲起子桿靠近磁簧頭聽「喀」聲(MC-5100 內建簧片閉合聲),有聲 = 對到了。
3

斷電接牆面板(本說明書唯一危險步驟)

⏱️ 20 分鐘🎯 難度 ★★★★☆
車庫門牆面板(打開後視) BTN COM 繼電器 OUT (乾接點,無極性) NO ── BTN COM ─ 面板 COM 110V 端子 離它遠點
  1. 去配電箱關閉車庫門迴路斷路器,按牆鍵確認門完全無反應。
  2. 打開牆面板,找到 BTN / COM(或 DOOR / C)兩顆訊號端子——它們通常在面板另一側,與 110V 電源端子有明顯距離。
  3. 各剝線 8mm,把繼電器 OUT(NO)與 COM 兩線並聯上去(原面板線不拆,一起鎖進端子)。
  4. 用萬用表通斷檔確認:BTN-COM 之間繼電器斷開時不響、手動按牆鍵時響。
  5. 確認無誤才送電。先別接繼電器 IN——送電後門不該有任何動作。
⚠️ 分不清訊號端子和電源端子?拍照查車庫門型號說明書或請水電工接手。把 110V 接到繼電器 OUT 會瞬間燒毀模組並可能讓外殼帶電。
4

主板接線

⏱️ 15 分鐘🎯 難度 ★★☆☆☆
ESP32-S3 GPIO4 / GPIO5 GPIO6 + 5V GPIO8/9 · GPIO15 磁簧 A / B → GPIO4/5 繼電器 IN/5V → GPIO6/5V OLED→8/9 · 蜂鳴器→15
  1. 磁簧 A→GPIO4、磁簧 B→GPIO5,兩支磁簧的另一端全部接 GND(共地,斷線=HIGH=安全)。
  2. 繼電器:IN→GPIO6、VCC→5V、GND→GND。先不接 OUT 也沒關係,等步驟 6 一起測。
  3. OLED:SDA→GPIO8、SCL→GPIO9、VCC→3V3、GND→GND。
  4. 蜂鳴器「+」→GPIO15、「−」→GND(壓電式不分極性也可)。
⚠️ 接線時 USB 先拔除。帶電插拔杜邦線是最容易銷毀 GPIO 的方式。
5

燒錄與設定

⏱️ 25 分鐘🎯 難度 ★★☆☆☆
Board: ESP32S3 Dev Module Flash Size: 16MB / PSRAM: OPI Wi-Fi OK state=CLOSED cycles=0 TG: 控制器重新上電 ✓ A. 填 Wi-Fi / Bot Token B. 燒錄(按住 BOOT 再放) C. 手機收到「重新上電」
  1. Arduino IDE:開發板選 ESP32S3 Dev Module;Flash Size 16MB、PSRAM OPI(N16R8 才要設,一般板留預設)。
  2. 填入 Wi-Fi(2.4GHz)、Bot Token、Chat ID 後燒錄。S3 沒反應時按住 BOOT 再點 Upload。
  3. 序列埠 115200 觀察:應印出 state=CLOSED(此時門是關的)並推播「控制器重新上電」。
💡 Bot 設定與 @BotFather 流程與本系列第 1 篇相同,已做過就 3 分鐘搞定。
6

三狀態驗證與收線掛盒

⏱️ 15 分鐘🎯 難度 ★★★☆☆
CLOSED 磁簧A=LOW MOVING 兩磁簧皆 HIGH OPEN 磁簧B=LOW Telegram 按 ⬆️⬇️ 各一次,全程 OLED 與手機狀態應同步變化 驗證腳本
  1. 接回繼電器 OUT(步驟 3 已並聯),Telegram 按 ⬆️ 開門:門升 → OLED 依序 CLOSED→MOVING→OPEN,手機收到狀態推播。
  2. 按 ⬇️ 關門:反向走一遍。任何一環不對,回步驟 2 查磁簧,不要先改程式。
  3. 故意把門停在中間 20 秒:OLED 應收斂為 ??(UNKNOWN),此時按開/關門都應拒絕——這是安全特性不是 bug。
  4. 主板、繼電器入盒(雙面膠+固定座),USB 線穿底盤走線孔、線夾固定,上蓋卡扣按壓到底。
  5. 盒體鎖牆(或強力雙面膠),完成 🎉 今晚讓媽媽只確認一次。
驗證項目預期你的結果
Telegram ⬆️ 開門門升、狀態三連變____________
開門 10 分鐘未關手機推播 + 蜂鳴器____________
斷電重啟推播「重新上電」+ 狀態正確落地____________
⚠️ 測試期間人站在門的兩側(不要正下方),手邊留遙控器——控制器再聰明,第一道防線永遠是肉眼。

♻️ 保養與回收

  1. 每 6 個月擦一次磁簧頭灰塵(車庫灰大,厚灰會讓觸發距離縮短)。
  2. 繼電器機械壽命約 10 萬次,一般家庭 20 年;異常「咔咔不釋放」即更換模組(15 元,兩顆螺絲)。