← 返回文章
ASSEMBLY MANUAL

🚪 ESP32-C3 書房在座狀態燈 — 組裝說明書

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

⏱️ 總工時:約 80 分鐘(不含 3D 列印) 🎯 難度:★★★☆☆ 中階 🔧 工具:烙鐵、斜口鉗、序列埠終端、藍牙手機(調雷達)

🧰 零件與工具確認

① 門外燈殼 ×1(PLA) ② 雷達罩 ×1(素色 PLA,禁碳纖/金屬漆) ③ 門內按鈕帽 ×1 ④ 門框夾背板 ×1 ⑤ ESP32-C3 SuperMini ×1 ⑥ LD2410C UART 版 ×1 ⑦ WS2812 12 燈環 ×1 ⑧ 微動按鈕 ×1 ⑨ 有源蜂鳴器 + S8050 ×1 ⑩ 5V 1A USB 頭 + 1m 線 ⑪ 1000µF / 10µF 電容、330Ω、1kΩ 🔧 烙鐵、斜口鉗 📱 Android 手機(HC-08 App)
💡 LD2410C 買「UART 版」附 FPC 轉小 pcb 的最省事;純板子版本要自己焊 6 個焊盤,不建議新手挑戰。
1

列印零件與材質檢查

⏱️ 列印約 2 小時🎯 難度 ★☆☆☆☆
① 燈殼+擴散罩 ② 雷達罩 素色 PLA!碳纖=雷達瞎 ③ 按鈕帽 ④ 門框夾背板 卡門縫 2.8mm 免鑽孔
  1. 依文章設定列印 4 件;擴散罩 0.12mm 層厚減層紋。
  2. 雷達罩材質驗證:拿罩子蓋住正在回報的雷達——能量歸零就是拿到碳纖/金屬漆材料,扔了重印。
  3. 背板門框夾試卡:用手推需「費力但能推進」,鬆到自己會滑就加厚 0.2mm 重印。
⚠️ 雷達罩開窗貼的 PETG 片用透明款——茶色/霧面 PETG 對 24GHz 衰減實測有感,別浪費錢。
2

雷達 App 調校(開工前先調,裝好再調要拆)

⏱️ 15 分鐘🎯 難度 ★★☆☆☆
HC-08 調校 感度 本體 60 微動 50 / 靜止 30 靜態回報 ON ✓ 無人上報 ON ✓ 距離閾值(cm) 重新偵測 240 微動偵測 240 靜止偵測 180 坐位 1.2~1.8m,窗外全拒
  1. Android 手機裝 HC-08 App,連雷達藍牙(出廠名 Bluetooth_2410,PIN 通常 1234)。
  2. 「靜態回報」與「無人上報」兩檔務必開啟——呼吸級偵測全靠它們,出廠預設各批次不同。
  3. 感度起步:本體 60 / 微動 50 / 靜止 30;距離閾值 240 / 240 / 180cm。
  4. 調完按「儲存參數」——雷達斷電會記住,之後不用再連。
💡 調校時就坐在椅子上模擬工作:App 即時曲線應該在你「靜止打字」時維持一條不归零的細線——那就是你的呼吸。
3

焊接與接線

⏱️ 25 分鐘🎯 難度 ★★★☆☆
C3 SuperMini USB-C 在下 RX←雷達TX(交叉) TX→雷達RX 雷達 10µF 就近雷達 VDD 330Ω 1000µF 貼燈環
  1. 雷達端:TX/RX 交叉接 GPIO20/21;VDD 兩腳就近焊 10µF(雷達發瘋頭號解藥)。
  2. 燈環端:DIN 串 330Ω,環起點就近 1000µF(負極對環 GND)。
  3. 按鈕 GPIO3→GND 兩點就好;蜂鳴器走 S8050:GPIO0→1kΩ→B 極,E→GND,C→蜂鳴器(+)。
  4. 上電順序:先插 USB 看藍燈 → 序列埠 256000 看雷達幀在跳 → 才算焊接合格。
⚠️ 雷達供電別與燈環共用同一條細長 USB 延長線:燈環全白 12 燈峰值 480mA,疊加雷達 90mA,細線壓降直接讓雷達重機。
4

燒錄與能量觀測

⏱️ 15 分鐘🎯 難度 ★★★☆☆
[radar] motion 42 still 8 occ=YES [radar] motion 11 still 5 occ=YES [radar] motion 0 still 0 occ=no(9m12s) [nas] beat 200 ok · mode=FOCUS 打字 ~40 / 8 motion / still 参考值 蓋毯滑手機 ~12 / 5 低於死區(10/4)就降死區 空房 0 / 0 空房 still>2=掃到漂移物
  1. Arduino IDE 板型 ESP32C3 Dev Module、USB CDC on boot 開啟,燒錄文章完整碼。
  2. 序列埠開兩窗:115200 看自家日誌,另開 256000 直連雷達確認幀格式。
  3. 三種狀態各坐 2 分鐘抄下 motion/still 值,填進下表,據此微調死區(本範本 10/4):
你的真實狀態motion 值still 值死區建議(值×0.6)
靜止打字____________________________________ / ____________
蓋毯滑手機________________________必須全部高於死區
空房(窗簾飄)________________________必須全部低於死區
💡 若「蓋毯滑手機」與「空房窗簾飄」的數值區間重疊——別調死區,裝角度遮板把窗簾排出視錘,空間問題不要用軟體補。
5

門框夾背板定位與裝殼

⏱️ 10 分鐘🎯 難度 ★★☆☆☆
門框 雷達面朝椅背 1.2 ~ 1.8 m 椅背(人) 高度與椅背同高 ±30cm;面與椅背平行
  1. 背板卡進門框(門開著裝,裝完再關門確認不磨擦)。
  2. 三定位原則:高度與椅背同高(±30cm)、正對坐姿位置、距離 1.2~1.8m。
  3. 雷達罩卡上背板→鎖燈殼→線收進背板走線槽,USB 線沿門框下沿走。
  4. 蓋上擴散罩前最後確認:灯環整圈亮、顏色隨模式循環——蓋上之後就看不見灯珠了。
⚠️ 雷達面前方 30cm 內別有金屬門牌/金框相簿——金屬反射會造出一個「假人在牆裡」的鬼影回波。
6

NAS 儀表板與週報

⏱️ 10 分鐘🎯 難度 ★★☆☆☆
ESP32-C3 30s heartbeat room_state.py SQLite · 翻轉即報 儀表板曲線 週日 21:00 Telegram 專注 14.2h · 打斷 0 次
  1. NAS 放 room_state.py(文章附 Flask 單檔版)跑 port 5000,收 heartbeat 進 SQLite。
  2. 儀表板開 http://NAS:5000/:今天應該出現一條干净的紅/綠階梯圖。
  3. weekly_report.py 排 cron 週日 21:00:本週專注總時數、最深連續段、被打斷次數(雷達重新點火視為一次)。
💡 儀表板第一週最大的收獲不是數據,是「啊原来我每天三點必离座」這種自白——數據不會騙人,它只是把你的作息畫出來。
7

七天驗證與閾值微調

⏱️ 第七天驗收 10 分鐘🎯 難度 ★★☆☆☆
D1-D3 記錄 誤判點寫備忘錄 D4 調閾值 一次只動一個參數 D7 結案 連續 3 天零誤判 驗收題:坐著 30 分鐘不動燈不滅 ✓ 出門買飲料 12 分鐘後自動綠 ✓ 家人從背後經過門外不誤紅 ✓ 三題全過才算交機,缺一題回到 D4
  1. D1-D3:每次「燈跟事實不符」就在 NAS 儀表板截圖留注——這三天的樣本比任何调校指南都準。
  2. D4:照備忘錄調一個參數:假紅→收閾值/裝遮板;假綠→降死區/查靜態回報。
  3. D7:連續三天零誤判=結案。之後它應該是透明的一一你不記得它存在,它才最稱職。
⚠️ 別把久坐提醒改成推播——它一推播你就會想關掉整台機器。閃 10 秒燈、看不懂就算了,這是設計哲學不是功能缺失。

♻️ 保養與回收

  1. 門框夾背板受過熱膨脹會鬆:半年重新卡緊一次;南方可改 PETG 重印。
  2. 擴散罩黃化(PLA+日光):兩三年後換 PETG 版,或直接把燈殼轉 90° 用沒曬到的那面。
  3. 雷達罩開窗的 PETG 片積灰:撕舊貼新,萬用刀片背膠款最方便。