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 分鐘 · 難度 ★★☆☆☆
  1. IDE 裝 espressif 3.x core,選 ESP32C3 Dev Module、CDC On Flash、Enable USB CDC On Boot;庫補齊 Adafruit SSD1306/AHTX0、PubSubClient、ArduinoJson。
  2. SuperMini 沒有自動燒錄橋:先選好埠,點上傳,按住 BOOT 鍵,等 IDE 跳出「Writing」再放開——第一次會慌,第二次就熟練了。
  3. 燒文章裡的完整程序,開序列埠監視器:OLED 亮起 BOOT 字樣=顯示鏈正常,之後進入規則等待。
⚠️ 序列埠完全無輸出=BOOT 沒放開或選錯 USB 埠(SuperMini 有兩個埠的時候選對的那個)。
2

最小系統接線(OLED+AHT21)

⏱ 8 分鐘 · 難度 ★★☆☆☆
ESP32-C3 0=SDA 1=SCL 3V3 / 5V / GND SSD1306 OLED SDA←0 SCL←1 AHT21(0x38) SDA←0 SCL←1 OLED 0x3C 與 AHT21 0x38 地址不同,放心並聯同一總線
  1. OLED 四支腳:VCC→3V3、GND、SDA→GPIO0、SCL→GPIO1。
  2. AHT21 同總線並聯(VCC 也接 3V3)。
  3. 重開機看序列埠每 60 秒一 Temperature 讀數——用手捂着傳感器讓它「發燒」確認會動。
💡 AHT21 先別焊長線:這一步就趴在主板旁邊沒關係,步驟 6 的隔熱島纔是它的正式工位。
3

紅外發射陣列表演

⏱ 8 分鐘 · 難度 ★★★☆☆
GPIO6 RMT TX 38kHz 1kΩ S8050 IR LED ×2 串 +47Ω → 5V 5V S8050 發射極→GND
  1. GPIO6→1kΩ→S8050 基極,發射極→GND;集電極→兩顆 IR LED 串聯(正極朝 5V 方向)+47Ω→5V。
  2. 打開 Arduino 序列指令:按學習鍵會短按試放——但先手動測試:把程序裡 sendSlot 暫時對着手機相機拍,看 LED 有沒有紫白閃。
  3. 第二顆 LED 用熱風膠固定在第一顆旁邊,發光面朝同一方向——包進步驟 5 的黑色導光筒。
⚠️ 人眼看不見 940nm,但手機相機看得見——「沒閃」通常是 LED 正負極反接,不是程序問題。IR LED 壓降約 1.2–1.5V,串聯兩顆剛好吃掉 5V 的一半以上,纔不會一熱就燒。
4

VS1838B 接收+學習鍵

⏱ 7 分鐘 · 難度 ★★☆☆☆
ESP32-C3 5=RX 3=學習鍵 3V3 · GND VS1838B VCC→3V3 OUT→5 GND(面向凸起=左OUT) 學習 →GND(內部上拉)
  1. VS1838B 平放:凸起面朝向自己,由左到右是 OUT / GND / VCC(多數批次,購買頁圖對準再焊)。
  2. 學習輕觸一腳 GPIO3、另一腳 GND,按住會短接——上電前確認別長按着開機(GPIO3 不是 strapping,安全)。
  3. 驗證:長按 1.5 秒 → OLED 跳到「學習槽 0」畫面=軟硬全通。
💡 接收頭別正對窗戶——陽光裡的紅外會讓它整年處於「有人按遙控器」的錯覺;壁掛位置選背光的牆。
5

入殼(導光筒與開窗有方向!)

⏱ 8 分鐘 · 難度 ★★★☆☆
  1. VS1838B 與 IR LED 陣列插進主機殼同側的兩個窗:接收朝外「聽」,發射朝外「喊」——兩者都必須能看見冷氣機的遙控窗。
  2. IR LED 陣列先套黑色導光筒再點膠:筒深 12mm 剛好,太深視錐太窄(冷氣要「站得準」才理它),太淺會漫射到殼壁反射出雜光。
  3. OLED 嵌入正面窗(排線朝上折)、學習鍵對準殼頂孔、DC 線從底部走線槽拉出。
  4. 背蓋四顆 M2 自攻鎖上——最後再鎖滿,留一點調整的餘地。
⚠️ 導光筒一定要黑色 PLA 或內壁貼電工帶:白色殼體內壁=紅外柔光罩,功率白丟三成。
6

隔熱島+導風罩(本機精度的靈魂)

⏱ 6 分鐘 · 難度 ★★★☆☆
主板 隔熱島 15mm AHT21 3010+導風罩 量溫前吹 2.5s:氣流只掃傳感器,不吹全殼
  1. AHT21 焊 3 根 6cm 軟線,站到隔熱島頂端——傳感器底面遠離主板 15mm,四周擋風翼擋住主板的熱對流。
  2. 3010 風扇卡進導風罩,出風口對準 AHT21 前方 2cm;風扇線接 S8050(GPIO7 那顆)。
  3. 上電後每分鐘會「呼」一聲=量溫例行動作,正常。
💡 校準一夜法:與一支靠譜溫度計並排(都在殼外遮蔽處→再改殼內正式工位),差 >0.8°C 就挪位置或調高風扇時間到 5 秒——25.5°C 的防過冷規則線全靠這裡準。
7

學習六個槽位

⏱ 8 分鐘 · 難度 ★★☆☆☆
  1. 長按學習鍵 1.5 秒進教學模式,OLED 顯示「學習槽 0:26冷」。
  2. 把原廠遙控器對準本機接收頭 10–30cm,按「26°C 製冷」——收到後紅燈閃一下、自動進槽 1。
  3. 依序學:27 冷→除溼→送風→擺風關→關機。中途短壓學習鍵=試聽當前槽(會真的對冷氣按一次)。
  4. 12 秒沒動作自動退出;OLED 槽位頁「●」=已學會,「○」=還沒教。
⚠️ 學習失敗(不閃燈)九成是:遙控器電池快沒電、距離太遠、或中途有人開燈(節能燈的 38kHz 噪聲)。學的時候把燈關掉最穩。冷氣沒反應=發射 LED 沒對準冷氣遙控窗,挪機器比挪哲學有用。
8

掛牆定位+斷網演練

⏱ 8 分鐘 · 難度 ★★☆☆☆
  1. 掛冷氣正對面 1.5–3m、高度 1.5m 上、避開出風口直吹路徑與陽光——紅外是直線外交,中間別養書架。
  2. 拿手機開相機對冷氣遙控窗:從本機位置「拍過去」,短壓任一槽,屏幕裡要看得見本機 LED 閃光=幾何成立。
  3. 斷網演練:拔掉 router 電源跑 24 小時——OLED 時間會退回 --:--、規則暫停(NTP 未同步保護),但重啓連回網後日報照常——這才叫「斷網只是失憶,不是失能」。
  4. 失聯演練:對冷氣機蓋一本雜誌讓它收不到紅外,手動觸發一次預冷,30 分鐘後 Telegram 應收到「AC 失聯」。
💡 兩臺以上設備(客廳/臥室各一臺)記得各自設不同 MQTT 裝置名(改代碼 device 欄),NAS 日報纔不會互相搶話。
← 回到完整文章(程式碼與接線圖)