← 返回文章
🧰 零件清單 Checklist
- ESP32-S3 DevKitC-1 N16R8 ×1
- INMP441 I2S 麥克風 ×4(同批號最佳)
- WS2812B 16 燈環、SSD1306 OLED
- AMS1117-3.3 ×2、100nF ×4、330Ω、蜂鳴器
- 5V 1.5A 線性電源
- 列印件 6 種+PETG 隔板+吸音棉圈
- 26AWG 雙絞線 1m、壁掛螺絲×2
🔧 工具與耗材
- 烙鐵+焊錫、助焊劑、吸錫線
- 萬用表( continuity/電壓檔)
- 精密十字起子、尖嘴鉗、鑷子
- 熱融膠、雙面網布膠帶、束帶
- 3M 無痕掛勾(壁掛試位置用)
1
列印件後處理+隔板貼棉
⏱ 20 分 | 難度 ★☆☆
▲ 隔板是「可換零件」:120mm 版先用,之後試 150mm 版看 ILD 變化
- 麥孔去毛邊:刀頭入孔旋一圈,孔徑實測 ≥ 麥架外徑−0.1mm
- 隔板兩面貼吸音棉、邊緣內縮 3mm,兩面齊整
- 隔板插入殼內滑槽:能抽換、不晃動
- 後蓋走線槽清淨:槽脊完整(它是唯一的地線分離屏障)
2
麥克風分選+LR 標記
⏱ 25 分 | 難度 ★★☆
▲ i2s_probe 韌體附分選模式:逐支拍掌 20 下,自動列表排氣
- 4 支 MIC 輪流上機,韌體分選模式各拍掌 20 下、記錄 RMS
- 差距 ≤3dB 的兩支配一側(前對);其餘兩支=後對
- 每支背貼膠帶寫代號(FL/FR/RL/RR),焊前再核對一次 LR 腳
⚠️ INMP441 的 L/R 腳決定聲道、焊上就定性:分派表(左=GND/右=3V3)先拍照存手機,焊錯一支、羅盤鏡像半圈。
3
麥架組合+防塵罩密封
⏱ 25 分 | 難度 ★★☆
▲ 聲孔離殼面 5mm:太深=喇叭口效應染音,太淺=防塵罩壓到聲孔
- MIC 壓入麥架(聲孔朝外、離殼面 5mm),泡棉圈壓實 50% 密封
- 麥架連同模組自內側鎖入殼壁;防塵罩旋入外側
- 四支完成後做「密封測試」:嘴距 1cm 吹氣,四支底噪不應出現氣流感應(有=漏氣重貼)
4
供電星形+分壓測
⏱ 25 分 | 難度 ★★☆
▲ 電源樹是這台機器的勝負手:VAD 誤觸與 50Hz 哼聲的帳,八成記在電源
- 後蓋銅柱鎖星形點;所有地線獨立回這一点(不手拉手)
- 雙 AMS1117 焊於洞洞板、輸出各掛 100nF 貼腳
- 分壓測:不接 MIC 量兩路 3.3±0.05V;接 MIC 後複量(負載調整率)
- 燈環 5V 用 22AWG 以上粗線獨立回電源端
5
主線束組裝
⏱ 30 分 | 難度 ★★☆
- 每條 I2S:SCK/WS/SD 以雙絞線纏繞、全長 ≤15cm(超長上 74AHCT125)
- 兩組 I2S 線分走後蓋線槽兩側,中間隔著槽脊;5V 動力線走線槽外側
- 燈環 330Ω 直接焊在燈環端(把突波關在燈珠家門口)
- 線束拍照+貼標籤(I2S-A 紅/I2S-B 橘/燈環黃),合蓋前拉曳測試不脫
⚠️ BCLK 1MHz 在杜邦線裡是條小電波:線長、平行走線、繞開 MIC 區域——三件事全違反的後果是 FFT 高頻區長出一根「自己會呼吸」的雜訊尖峰。
6
燒錄+聲道探測
⏱ 20 分 | 難度 ★★☆
- Arduino IDE:ESP32S3 Dev Module、PSRAM = OPI,燒錄 sound-compass.ino
- 跑
i2s-probe.ino:朝四支麥各拍一下,序列機確認「哪支先響、符號方向」與接線表一致
- 不符 → 調通道映射(韌體 #define),不調線
- 正式韌體上電:燈環跑色彩測試、螢幕顯示 8 方位掃描模式
7
快拍校準(必做)
⏱ 10 分 | 難度 ★☆☆
▲ 距 1m、拍手掌(宽带脉冲=天然校準源);螢幕顯示每方向收妥的 τ 偏移
- 羅盤掛上最終位置(或試掛點水平放穩)後才校準——校準吸收的是「這個位置的最終誤差」
- 序列機輸入
c 進校準模式,依提示 8 方向各拍 3 下
- 完成長嗶、自動重啟;重進校準查看殘差應 <1.5 取樣
8
壁掛定位+上線
⏱ 15 分 | 難度 ★☆☆
- 掛 1.7m 高、傾角背板「北」對準玄關;先用 3M 無痕掛勾試位一週再打螺絲
- 連 NAS:設定的 NAS_URL/DEV_TOKEN,測試事件送達與 Telegram 推播
- 跑 24 小時收底噪(螢幕夜間顯示底噪曲線),確認 0 誤報後開啟推播規則
- 收尾:走線整理、後蓋鎖緊、記錄校準日期(每季重拍一次)
💡 試位期把事件全部記进 NAS 但不推播——熱圖會告訴你電視右後方那台抽油煙機有多健壯。