ASSEMBLY MANUAL
ESP32-C3 老冷氣紅外學習中控
圖文組裝說明書
約 50 分鐘(不含列印)|烙鐵可有可無|列印:5 件 28g|完成記得迴文章看斷網演練
🧰 零件覈對
- ESP32-C3 SuperMini ×1
- VS1838B 接收頭 ×1
- 940nm IR LED ×2+S8050 ×2+電阻(1k×2、47Ω×1)
- AHT21、SSD1306 OLED、3010 風扇 各×1
- 學習輕觸開關、5V 1.5A adapter+DC 母座
- 列印件:壁掛座、主機殼、IR 導光筒(黑)、隔熱島、導風罩
🔧 工具
- USB-C 線+Arduino IDE 2.x(core 3.x)
- 杜邦線一組(母對母最順手)
- 你的老冷氣原廠遙控器(主角,別忘了)
- 手機一支(相機=紅外驗鈔筆)
- 螺絲起子+牆上兩顆螺絲(或 3M 膠)
- 可選:烙鐵(LED 串聯建議焊,別全用杜邦線吊着)
1
裸板點亮+燒錄
⏱ 10 分鐘 · 難度 ★★☆☆☆
- IDE 裝 espressif 3.x core,選
ESP32C3 Dev Module、CDC On Flash、Enable USB CDC On Boot;庫補齊 Adafruit SSD1306/AHTX0、PubSubClient、ArduinoJson。
- SuperMini 沒有自動燒錄橋:先選好埠,點上傳,按住 BOOT 鍵,等 IDE 跳出「Writing」再放開——第一次會慌,第二次就熟練了。
- 燒文章裡的完整程序,開序列埠監視器:OLED 亮起 BOOT 字樣=顯示鏈正常,之後進入規則等待。
⚠️ 序列埠完全無輸出=BOOT 沒放開或選錯 USB 埠(SuperMini 有兩個埠的時候選對的那個)。
2
最小系統接線(OLED+AHT21)
⏱ 8 分鐘 · 難度 ★★☆☆☆
- OLED 四支腳:VCC→3V3、GND、SDA→GPIO0、SCL→GPIO1。
- AHT21 同總線並聯(VCC 也接 3V3)。
- 重開機看序列埠每 60 秒一 Temperature 讀數——用手捂着傳感器讓它「發燒」確認會動。
💡 AHT21 先別焊長線:這一步就趴在主板旁邊沒關係,步驟 6 的隔熱島纔是它的正式工位。
3
紅外發射陣列表演
⏱ 8 分鐘 · 難度 ★★★☆☆
- GPIO6→1kΩ→S8050 基極,發射極→GND;集電極→兩顆 IR LED 串聯(正極朝 5V 方向)+47Ω→5V。
- 打開 Arduino 序列指令:按學習鍵會短按試放——但先手動測試:把程序裡 sendSlot 暫時對着手機相機拍,看 LED 有沒有紫白閃。
- 第二顆 LED 用熱風膠固定在第一顆旁邊,發光面朝同一方向——包進步驟 5 的黑色導光筒。
⚠️ 人眼看不見 940nm,但手機相機看得見——「沒閃」通常是 LED 正負極反接,不是程序問題。IR LED 壓降約 1.2–1.5V,串聯兩顆剛好吃掉 5V 的一半以上,纔不會一熱就燒。
4
VS1838B 接收+學習鍵
⏱ 7 分鐘 · 難度 ★★☆☆☆
- VS1838B 平放:凸起面朝向自己,由左到右是 OUT / GND / VCC(多數批次,購買頁圖對準再焊)。
- 學習輕觸一腳 GPIO3、另一腳 GND,按住會短接——上電前確認別長按着開機(GPIO3 不是 strapping,安全)。
- 驗證:長按 1.5 秒 → OLED 跳到「學習槽 0」畫面=軟硬全通。
💡 接收頭別正對窗戶——陽光裡的紅外會讓它整年處於「有人按遙控器」的錯覺;壁掛位置選背光的牆。
5
入殼(導光筒與開窗有方向!)
⏱ 8 分鐘 · 難度 ★★★☆☆
- VS1838B 與 IR LED 陣列插進主機殼同側的兩個窗:接收朝外「聽」,發射朝外「喊」——兩者都必須能看見冷氣機的遙控窗。
- IR LED 陣列先套黑色導光筒再點膠:筒深 12mm 剛好,太深視錐太窄(冷氣要「站得準」才理它),太淺會漫射到殼壁反射出雜光。
- OLED 嵌入正面窗(排線朝上折)、學習鍵對準殼頂孔、DC 線從底部走線槽拉出。
- 背蓋四顆 M2 自攻鎖上——最後再鎖滿,留一點調整的餘地。
⚠️ 導光筒一定要黑色 PLA 或內壁貼電工帶:白色殼體內壁=紅外柔光罩,功率白丟三成。
6
隔熱島+導風罩(本機精度的靈魂)
⏱ 6 分鐘 · 難度 ★★★☆☆
- AHT21 焊 3 根 6cm 軟線,站到隔熱島頂端——傳感器底面遠離主板 15mm,四周擋風翼擋住主板的熱對流。
- 3010 風扇卡進導風罩,出風口對準 AHT21 前方 2cm;風扇線接 S8050(GPIO7 那顆)。
- 上電後每分鐘會「呼」一聲=量溫例行動作,正常。
💡 校準一夜法:與一支靠譜溫度計並排(都在殼外遮蔽處→再改殼內正式工位),差 >0.8°C 就挪位置或調高風扇時間到 5 秒——25.5°C 的防過冷規則線全靠這裡準。
7
學習六個槽位
⏱ 8 分鐘 · 難度 ★★☆☆☆
- 長按學習鍵 1.5 秒進教學模式,OLED 顯示「學習槽 0:26冷」。
- 把原廠遙控器對準本機接收頭 10–30cm,按「26°C 製冷」——收到後紅燈閃一下、自動進槽 1。
- 依序學:27 冷→除溼→送風→擺風關→關機。中途短壓學習鍵=試聽當前槽(會真的對冷氣按一次)。
- 12 秒沒動作自動退出;OLED 槽位頁「●」=已學會,「○」=還沒教。
⚠️ 學習失敗(不閃燈)九成是:遙控器電池快沒電、距離太遠、或中途有人開燈(節能燈的 38kHz 噪聲)。學的時候把燈關掉最穩。冷氣沒反應=發射 LED 沒對準冷氣遙控窗,挪機器比挪哲學有用。
8
掛牆定位+斷網演練
⏱ 8 分鐘 · 難度 ★★☆☆☆
- 掛冷氣正對面 1.5–3m、高度 1.5m 上、避開出風口直吹路徑與陽光——紅外是直線外交,中間別養書架。
- 拿手機開相機對冷氣遙控窗:從本機位置「拍過去」,短壓任一槽,屏幕裡要看得見本機 LED 閃光=幾何成立。
- 斷網演練:拔掉 router 電源跑 24 小時——OLED 時間會退回 --:--、規則暫停(NTP 未同步保護),但重啓連回網後日報照常——這才叫「斷網只是失憶,不是失能」。
- 失聯演練:對冷氣機蓋一本雜誌讓它收不到紅外,手動觸發一次預冷,30 分鐘後 Telegram 應收到「AC 失聯」。
💡 兩臺以上設備(客廳/臥室各一臺)記得各自設不同 MQTT 裝置名(改代碼 device 欄),NAS 日報纔不會互相搶話。
← 回到完整文章(程式碼與接線圖)