Domácí monitor vzduchu se dvěma čidly CO2, čidlem teploty a vlhkosti, ePaper a odesíláním dat do IoTGuruCloud – to vše s ESP32.

Vytvořil jsem si domů monitor vzduchu, který měří koncentraci CO2 pomocí čidel SCD41 a CozIR-LP a teplotu a vlhkost s SHT40. Data jsou odesílána do The IoTGuruCloud a celé to běží na ESP32.

Celé zařízení je zapájeno na univerzální pájecí desce a jednotlivé komponenty jsou propojeny drátky.

Hlavní deska

Jako hlavní desku jsem si vybral mnou navrženou desku ESP32MiniKit-LP, kterou jsem navrhl jako velmi úspornou. V režimu spánku odebírá pouhách 6 uA.

Modul je založen na ESP32S.

ePaper

Jako ePaper jsem použil tříbarevný o velikosti 4.2″ s driverem GxGDEW042Z15. Můj ePaper sloužil jako ecenovka v obchodě – funguje ale výborně i po delší době používání a aktualizaci jedenkrát za 15 minut.

ePaper driver jsem použil ze stránky easyeda od Miraculix200 – https://chiptron.cz/news.php?readmore=1093.

Desek ještě několik mám – stačí mě kontaktovat na chiptron(zavinac)chiptron.cz

ePaper používá SPI sběrnici a je zapojená následovně:

MOSI (23), CLK (18), CS (5), DC (26), RST (15), BUSY (13)

Čidlo teploty a vlhkosti SHT40

Jako čidlo teploty a vlhkosti jsem použil SHT40 od Sensirion na desce od pklosko. Čidlo jsem pájel tady.

Můžete zakoupit už přímo i zapájený modul od laskarduino.

Čidlo je připojeno k ESP32 přes I2C sběrnici – SCL (22), SDA (21).

Čidlo koncentrace CO2 – SCD41

SCD41 funguje je fotoakustickém principu. Čidlo tedy měří „zvuk“ v komoře a ten se mění s různou koncentrací CO2. Více podrobností najdete na https://chiptron.cz/articles.php?article_id=294.

Kromě CO2 má v sobě čidlo i teploty a vlhkosti.

Čidlo je připojeno k ESP32 přes I2C sběrnici – SCL (22), SDA (21).

Čidlo koncentrace CozIR-LP

Čidlo CozIR-LP měří koncentraci CO2 a posílá data skrze UART. Detailně jsem se rozepsal o tom čidle v tomto článku https://chiptron.cz/articles.php?article_id=259

CozIR-LP komunikuje skrze UART2 (Serial2) ESP32: RX (16), TX (17)

Napájení desky, nabíjení akumulátoru a měření napětí na akumulátoru

ESP32MiniKit-LP neobsahuje stabilizátor – ten je umístěný na oddělené desce s názvem SolarBatteryCharger.

Tento modul má jako vstup USB-C konektor nebo konektor pro solární panel. Jeho výstup slouží jak k nabíjení baterie (přes nabíjecí obvod) tak i jako stabilizované napájení 3.3V do projektu – jako stabilizátor je použit stabilizátor s velmi nízkou vlastní spotřebou.

Modul má i jeden výstup do AD převodníku a jako vstup může být napětí akumulátoru nebo solárního panelu. Napětí je přivedeno na pin 36 (ADC kanál převodníku ADC1).

Desek ještě několik mám – stačí mě kontaktovat na chiptron(zavinac)chiptron.cz

Kód do ESP32

Kód je vytvořen v jazyce Wiring a studiu Arduino IDE 2.0. Všechna čidla mají podporu v Arduino IDE.

Nejdříve se provede nezbytná inicializace periférií i čidel.

Poté se změří napětí (v mém případě) akumulátoru a vypočítá výsledné napětí akumulátoru – nabíjecí modul obsahuje dělič napětí.

Následuje změření koncentrace CO2 z čidla SCD41, poté i z čidla CozIR-LP. Kód neobsahuje automatickou kalibraci v případě, že by čidlo změřilo hodnotu CO2 menší než 400ppm. Implementace je ale jednoduchá a obě knihovny pro čidla CO2 jí obsahují.

Poté se změří teplota a vlhkost s SHT40 (vlhkost a teplotu pro porovnání měří i SCD41).

Dále se údaje vypíší na ePaper displej, který se následně aktualizuje a poté následuje poslední čast kódu, kde se ESP32 připojí k Wi-Fi, následně i ke službě The Iot Guru Cloud a odešle naměřené údaje.

Poté se ESP32 uspí.

Kód jsem nahrál na github – https://github.com/petus/ESP32_SCD41_CozIR-LP_SHT40_ePaper-home-monitor

Stavba

Jak jsem zmínil na začátku, celý monitor je postaven na univerzálním pájivém plošném spoji a komponenty mezi sebou jsem popropojoval drátkama.

Čidla běží už několik týdnů a hodnoty mezi čidly CO2 jsou velmi podobné. Co jsem ale zjistil je, že čidlo SCD41 má pomalejší ustálení oproti CozIR-LP, na druhou stranu je ale o polovinu levnější a také úspornější.

Měření teploty a vlhkosti čidlem SCD41 je velmi podobné měřeným hodnotám z SHT40.

Sdílejte článek:

Související články

STC31-C je novým čidlem pro měření kvality vzduchu nebo také jinak řečeno množství CO2 ve vzduchu.

Jaká čidla máte připojená ve vaší meteostanici? Teplota, vlhkost a možná i tlakoměr? Co vaši meteostanici vylepšit o tato čidla.

Hlídat si kvalitu vzduchu v okolí, ve kterém žiji není nic nenormálního.