× Úvod Schéma zapojení Topení - heater Webové rozhraní Popis programu Download Domů

Arduino Wifi vlhkoměr s měřením teploty

Sensor box

WeMos D1 mini a sensory vlhkosti HTU21, SHT21, Si7021

5/2024

Rozhodl jsem se pro renovaci vlhkoměru, který mi už velmi dlouho docela dobře slouží. Skupina sensorů HTU21, SHT21, Si7021. Si7020, Si7013 mají velmi podobné, nebo spíše shodné vlastnosti. Typická přesnost měření teploty je u nich 0,3 °C, typická přesnost měření vlhkosti je 2% RH. Docela důležité je to sousloví "typická přesnost". V datasheetu je třeba číst velice pozorně. Někteří výrobci například uvádějí jen typickou přesnost a vy se pak ani nedozvíte, že skutečná přesnost může být podstatně horší. V případě HTU21 se dočtete, že garantovaná přesnost je 3% RH a to ještě zdaleka neplatí v celém rozsahu měřených hodnot. Je proto dobré tohle všechno vědět a nehonit sa za chimérami v podobě nereálných nároků na přesnost měření. V každém případě může být pro tyto sensory použita společná knihovna. Měl jsem na výběr mezi knihovnou Adafruit HTU21 nebo SI7021. Volil jsem Si7021, protože ta zahrnuje také řízení topení sensoru.

Schéma připojení sensoru k modulu WeMos mini

Schema

K zapojení není moc co dodat. Někdo značí I2C sběrnici jako SDA a SCL, někdo, jak vidno, DA a CL. Ovšem označení země jako mínus pól je docela kuriozní. Ve schématu je ale ještě jeden nedostatek. Všimněte si, že propojky pullup resistorů sběrnice I2C na čidle jsem nepropojil s Vcc (+). To by mohlo způsobovat problémy při komunikací. Je třeba na to dávat pozor. Podobně, pokud je na sběrnici více I2C sensorů, neměl by mít každý svoje resistory. protože by to mohlo vést k přetížení budičů některého z připojených zařízení.

Topení sensoru - heater

Heating pulse chart

Topení u čidel HTU21 a SHT21 je velice slabé. Při napájecím napětí 3,3V má výkon jen cca 5,5mW. Výrobce uvádí, že jeho zapnutí vede ke zvýšení teploty sensoru o 0,5 až 1,5 °C. Já jsem dosáhl přibližně dvojnásobné hodnoty, ale pochopitelně to hodně záleží na vnějších podmínkách. O využití takového topení datasheet taktně mlží. V podstatě můžete jen vyzkoušet, jestli teplota vzroste a tím současné klesne relativní vlhkost. Ono totiž platí, že při konstantní absolutní vlhkosti vzduchu dojde při zvýšení teploty k poklesu relativní vlhkosti. Na grafu je to pěkně vidět, ale to vidíte i za běžného provozu. Přestože topení tak malého výkonu zřejmě nemá valný význam, (kondenzaci vody na sensoru to asi není schopno odstranit) tak jsem chtěl možnost jeho řízení zachovat. S ohledem na zanedbatelný ohřev se topení po aktivaci samo nevypne, ale musí být vypnuto uživatelem. Když to neuděláte, tak to prostě bude špatně měřit, ale sensoru to vadit nebude. Vypnutí provedete odškrtnutím checkboxu na webovém rozhraní nebo funguje i restart. Topení se také pochopitelně vypne při probuzení z DeepSleep, pokud bylo před uspáním zapnuto. Sensor Si7021 se v možnostech topení od dvou předchozích liší. Ten má možnost volby i větších výkonů. Je možné nastavit výkon 10mW až 310mW. Jak to udělat se dá vyčíst přímo v knihovně Adafrut Si7021 a v datasheetu obvodu. Pokud použijete se sensorem Si7021 program tak, jak je, potom bude vždy aktivován defaultní výkon 10 mW. Protože toto čidlo nemám, tak jsem další detaily neřešil.

Webové rozhraní

PreviewForm 1Form 2

Popis programu

Hardwarové zapojení vlhkoměru s některým z uvedených I2C čidel je naprosto totožné se zapojením barometru. které jsem již realizoval. A vlastnosti programu jsou téměř stejné. Pochopitelně jsem vypustil položky související s měřením atmosferického tlaku. Chybí tedy parametr pro nadmořskou výšku stanice, parametr umístění sensoru a parametr volby měření absolutního tlaku. Přibyla možnost, aktivovat vytápění sensoru na libovolnou dobu a volba zobrazování teploty ve stupních Fahrenheita nebo Celsia.

Nezbývá mi nic jiného, než vás odkázat na podrobný popis barometru, ze kterého jsem vycházel. Jeho manuál můžete dobře využít i pro tento vlhkoměr. Krabičku je možné uplatnit také. Vše najdete zde


Download programu

Tady je Arduino sketch pro WeMos mini a čidlo vlhkosti HTU21 (SHT21, Si7021, Si7020, Si7013) ve funkci lokálního http serveru a klienta odesílajícího data na portál tmep.cz