Příčin může být mnoho. Přiznám se, že jediný senzor DHT22, který jsem měl, jsem hodil ze vzteku do koše. Jednoznačně mohu říct, že DHT11 a DHT22 jsou vysloveně nevhodné pro napájecí napětí 3,3V. Proto mě překvapuje, jak jsou tyhle obvody oblíbené. Je pravda, DHT11 se dá pořídit za 20Kč, ale když si koupím HTU21, tak stojí zhruba stejně jak DHT22 a je to jiná liga. Pokud musím použít DHT, pak jedině s napájením 5V. Při 3,3v senzory někdy nefungují a nebo získané hodnoty skáčou tak, že jsou nepoužitelné.
Chtěl bych ale přidat pár zásad, které jsou často příčinou problémů s esp8266. Na webu je mraky „schémat“, smutné je, že naprostá většina je jich naprosto špatná. Je vidět, že je tvoří a především obkreslují lidé, kteří neznají základy práce s elektronickými obvody, natož s procesory. Všichni programují arduino a malují fritz, ale použít blokovací kondenzátor nebo pullup rezistor považují za zbytečnost.
Tak pár zásad a je fuk jestli programujete esp8266 v Lua nebo nějaký WiFi Shield.
1. ESP8266 potřebuje slušný zdroj. Na jeho provoz nestačí zdroj nějakého USB/RS232 převodníku. Ano, naprogramovat tak jde, ale zaručuji, že v provozu narazíte na naprosto fatální problémy.
2. Jeden rezistor stojí cca 1Kč a blokovací kondenzátor řádově stejně. Používejte je. Na kontaktním poli vám třeba nahradí drátové propojky a věřte, může to mít naprosto zásadní vliv na stabilitu vašeho zařízení. Rezistory plní dvě role. Tou první je udržet vstup na požadované logické úrovni bez ohledu na vnější vlivy a tou druhou je omezení proudu výstupu. Někdo může filozofovat o integrovaných rezistorech, ale příliš na to nedejte. Mezi nejhorší prohřešky je pak naprosto běžné připojování IO vývodů obvodu natvrdo k napájecímu napětí nebo zemi.
Když se vrátím k tomu senzoru. Protože je DHT11 (opravdu nezaslouženě) nesmírně oblíben, tak jsem s ním napsal webový vlhkoměr. Testoval jsem ho jen s DHT11 a ESP8266-1, ale myslím, že by měl beze změny fungovat i s DHT22.
Tady je.