找回密碼
 立即註冊
    查看: 184|回覆: 0

    【CO2 實作】自己做一台真 NDIR 二氧化碳偵測器:選料、接線、校正、自動通風

    [複製鏈接]

    !lvup!   100%

    386

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22006063
    發表於 2026-9-21 11:36:13 | 顯示全部樓層 |閱讀模式
    這篇從「什麼都還沒買」開始,做到一台會把 CO2 濃度傳進 Home Assistant 的偵測器,並且在超標時自動開換氣扇。

    每一步都有「你會看到什麼」。做完第三步能自己確認第三步成功了,才走第四步。

    這篇從「什麼都還沒買」開始,做到一台會把 CO2 濃度傳進 Home Assistant 的偵測器,並且在超標時自動開換氣扇。

    做完這篇你會有什麼


    • 一台插著 USB 就會運作的 CO2 偵測器,HA 裡有 CO2、溫度、濕度三個實體
    • 一組校正流程,確認數字是對的而不是「看起來合理」
    • 一個依濃度分段調整風量的通風自動化
    • 一張一眼就看得懂的儀表板卡片


    總成本約 800 到 1500 元,比市售的 CO2 偵測器便宜,而且資料完全在你手上。

    ---

    ⚠ 先解決最多人買錯的那件事:NDIR 還是 eCO2

    這是整篇最重要的一段。買錯的話後面每一步都白做,而且你不會發現 —— 因為它還是會給你一個數字。

    真的 CO2 感測器(NDIR)

    NDIR 是「非分散紅外線」。原理是 CO2 分子會吸收特定波長的紅外線,感測器裡有一顆紅外線光源和一顆偵測器,量的是光被吸收掉多少。這是直接測量 CO2 本身。

    常見型號:SCD40、SCD41、SCD30、MH-Z19C、MH-Z19E、Senseair S8

    假的 CO2(eCO2 / 等效二氧化碳)

    這類晶片其實是 VOC(揮發性有機物)感測器。它量的是空氣中的有機物總量,然後用一條「人在室內時 VOC 和 CO2 會一起上升」的經驗公式推算出一個數字,標成 eCO2。

    常見晶片:CCS811、SGP30、SGP40、BME680

    為什麼 eCO2 不能用

    它對酒精、香水、清潔劑、酒精乾洗手的反應比對 CO2 強烈得多。實際會發生的事:


    • 你在旁邊擦桌子 → 數字衝到 3000,但房間空氣其實沒問題
    • 房間真的很悶但沒有 VOC 來源 → 數字還是四百多
    • 拿它去觸發換氣扇 → 換氣扇在你噴香水時狂轉,在你睡覺缺氧時完全不動


    買的時候怎麼分辨


    • 規格寫 NDIR 或 photoacoustic(光聲學) → 真的
    • 寫 eCO2、equivalent CO2、TVOC 一起輸出 → 推算的
    • 價格:真 NDIR 的模組在台灣大約 600 元起跳;兩三百塊的「CO2 模組」幾乎都是 eCO2
    • 最可靠的一招:看型號,不要看商品標題。標題會寫「CO2 二氧化碳感測器」,規格欄才會寫晶片型號


    SCD40 是 photoacoustic(光聲學)不是傳統 NDIR,但它一樣是直接測 CO2 分子,不是推算的,可以放心買。

    ---

    步驟 1:買零件

    SCD40 是 photoacoustic(光聲學)不是傳統 NDIR

    括號裡是台灣賣場(蝦皮、露天、iCShop、台灣物聯科技)常見的搜尋關鍵字。


    • ESP32 開發板 ×1(搜「ESP32 DevKit V1」或「ESP32-WROOM-32 開發板 38pin」,約 150-250 元)
    • CO2 感測器模組 ×1 —— 兩個選擇,下面詳細說
    • 杜邦線 母對母 ×1 排(搜「杜邦線 母對母 20cm」,約 40 元)
    • USB 線 ×1(看你的板子是 Micro-USB 還是 USB-C,買錯很常見)
    • USB 充電器 5V/1A 以上 ×1(舊手機充電器就可以,但不要用只能充電的劣質品)


    感測器選 A:SCD41(推薦第一次做的人)

    搜「SCD41 模組」或「GY-SCD41」,約 700-1200 元。


    • 走 I2C,只要四條線,而且模組板上已經有上拉電阻,不用自己加
    • 同一顆晶片同時給你 CO2、溫度、濕度,省下另外買溫濕度感測器
    • 體積很小,做成品比較好塞
    • 規定精度範圍 400-5000 ppm


    SCD40 和 SCD41 長得一模一樣,差別在規定精度範圍:SCD40 是 400-2000 ppm、SCD41 是 400-5000 ppm。家用臥室夜間常常會超過 2000,所以多花一兩百買 SCD41 比較值得。買的時候看清楚賣場標的是哪一個,兩者價差通常 100-300 元。

    感測器選 B:MH-Z19C(便宜、量程大,但要多注意接線)

    搜「MH-Z19C」或「MH-Z19B 二氧化碳模組」,約 600-900 元。


    • 走 UART(序列埠),也是四條線,但接法容易接反(下面會講為什麼)
    • 只有 CO2,溫度那個輸出官方沒有正式規格、實務上不準,不要用
    • 量程可以設到 10000 ppm
    • 金屬外殼、體積比 SCD41 大一圈


    第一次做建議買 SCD41。 接線單純、一顆抵三顆。下面兩種接法我都會寫完整。

    ⚠ 不要買什麼


    • CCS811 / SGP30 / BME680 —— 這些是 eCO2,上面說過了
    • 標題只寫「CO2 感測器」沒寫型號的 —— 問賣家型號,不肯說就換一家
    • 帶螢幕的成品盒 —— 那種通常沒有辦法接出來給 HA,而且很多內部就是 eCO2


    ---

    步驟 2:認腳位

    先認 ESP32 的腳位。 ESP32 DevKit V1 把 USB 座轉向自己、晶片朝上時,兩排針腳上每一隻都有絲印標字。你只需要找到四隻:


    • 3V3(有些板子印 3.3V)—— 給感測器供電
    • GND —— 接地,板子上有好幾隻,隨便用哪一隻都可以
    • D21(就是 GPIO21)—— I2C 的資料線 SDA
    • D22(就是 GPIO22)—— I2C 的時脈線 SCL


    為什麼是 21 和 22:這兩隻是 ESP32 的 I2C 預設腳位,絕大多數範例都用它們,出問題時比較容易找到別人的經驗。技術上換成其他腳也可以(ESPHome 的 I2C 可以指定任意腳),但沒必要。

    ⚠ ESP32 有幾隻腳不能亂用


    • GPIO 6-11 —— 接在板子內建的 flash 上,接了會開不了機
    • GPIO 0、2、12、15 —— 開機瞬間會被讀取(strapping pin),接了東西可能進不了正常模式
    • GPIO 34-39 —— 只能當輸入,而且沒有內建上下拉電阻
    • 安全好用:GPIO 13、14、16、17、18、19、21、22、23、25、26、27


    ---

    以下還有約 80% 的內容
    登入後即可閱讀完整教學

    登入繼續閱讀使用 Google 登入
    您需要登入後纔可以回帖 登入 | 立即註冊

    本版積分規則

    延伸閱讀

    加入惟家 LINE 群 QR Code加入惟家 LINE 群

    Archiver|手機版|惟家的智能論壇

    GMT+8, 2026-11-10 00:38 , Processed in 0.144253 second(s), 25 queries .

    快速回覆 返回頂部 返回列表