Pokud pracujete s ESP32 a chcete měřit teplotu a vlhkost vzduchu, jedním z nejjednodušších řešení jsou senzory DHT11 nebo DHT22. Jsou levné, snadno se připojují a mají připravené knihovny pro Arduino IDE.
V tomto návodu si krok za krokem ukážeme:
- jak zapojit DHT11 nebo DHT22 k ESP32
- jak nainstalovat potřebné knihovny
- jak napsat program pro čtení dat ze senzoru
- jak zobrazit naměřené hodnoty v Serial Monitoru
Na konci článku budeš mít funkční základ pro vlastní IoT meteostanici nebo projekt chytré domácnosti.
Co je senzor DHT11 a DHT22
DHT11 a DHT22 jsou digitální senzory, které dokážou měřit:
- 🌡️ teplotu
- 💧 relativní vlhkost vzduchu
Uvnitř senzoru se nachází:
- teplotní senzor
- kapacitní senzor vlhkosti
- integrovaný převodník signálu
Díky tomu se data přenášejí digitálně přes jeden datový pin, což výrazně zjednodušuje zapojení.

Rozdíl mezi DHT11 a DHT22
Senzory DHT11 a DHT22 se liší především přesností a rozsahem měření. Zatímco DHT11 je levnější a vhodný pro jednodušší projekty, DHT22 nabízí větší rozsah teplot i vlhkosti a výrazně lepší přesnost. Konkrétně DHT11 měří teplotu v rozsahu 0 až 50 °C s přesností přibližně ±2 °C, zatímco DHT22 zvládne rozsah -40 až 80 °C s přesností kolem ±0,5 °C. U vlhkosti dokáže DHT11 měřit hodnoty 20–90 %, zatímco DHT22 pokrývá téměř celý rozsah 0–100 % relativní vlhkosti. Rozlišení měření je také rozdílné – DHT11 pracuje s krokem 1 °C, zatímco DHT22 dokáže měřit s rozlišením 0,1 °C. Rozdíl je i v rychlosti měření: DHT11 může odesílat data přibližně každou sekundu, zatímco DHT22 potřebuje asi 2 sekundy mezi jednotlivými měřeními.
👉 DHT22 je přesnější a vhodnější pro serióznější projekty, zatímco DHT11 je levnější.
Co budete potřebovat
Pro tento projekt budete potřebovat:
- ESP32 vývojovou desku
- senzor DHT11 nebo DHT22
- 10kΩ rezistor
- breadboard
- propojovací vodiče
Tyto komponenty jsou běžně dostupné v každém obchodě s elektronikou.

Mezi VCC a DATA je nutné zapojit 10kΩ pull-up rezistor.
Pokud používáte DHT modul na destičce, rezistor bývá už součástí modulu.
Instalace knihoven v Arduino IDE
Než začnete programovat, je potřeba nainstalovat knihovny.
Postup:
- Otevřete Arduino IDE
- Klikněte na Tools → Manage Libraries
- Vyhledejte a nainstalujte:
- DHT sensor library by Adafruit
- Adafruit Unified Sensor
Tyto knihovny zjednodušují komunikaci mezi ESP32 a senzorem.

Program pro ESP32 a DHT11/DHT22
Níže je jednoduchý program, který čte hodnoty ze senzoru a vypisuje je do Serial Monitoru.
1#include "DHT.h"
2
3#define DHTPIN 4
4#define DHTTYPE DHT22 // změňte na DHT11 pokud používáte DHT11
5
6DHT dht(DHTPIN, DHTTYPE);
7
8void setup() {
9 Serial.begin(9600);
10 Serial.println("Test senzoru DHT");
11
12 dht.begin();
13}
14
15void loop() {
16
17 delay(2000);
18
19 float humidity = dht.readHumidity();
20 float temperature = dht.readTemperature();
21
22 if (isnan(humidity) || isnan(temperature)) {
23 Serial.println("Chyba čtení ze senzoru!");
24 return;
25 }
26
27 Serial.print("Teplota: ");
28 Serial.print(temperature);
29 Serial.print(" °C ");
30
31 Serial.print("Vlhkost: ");
32 Serial.print(humidity);
33 Serial.println(" %");
34}Program každé 2 sekundy přečte hodnoty ze senzoru a vypíše je do sériového monitoru.
Zobrazení dat v Serial Monitoru
Po nahrání programu:
- otevřete Serial Monitor
- nastavte rychlost 9600 baud
Měli byste vidět výstup například:
1Teplota: 23.4 °C Vlhkost: 45.2 %
2Teplota: 23.5 °C Vlhkost: 45.1 %ESP32 nyní pravidelně měří teplotu a vlhkost.
Nejčastější problémy
ESP32 nečte data ze senzoru
Pokud se zobrazí chyba:
Failed to read from DHT sensor
zkontrolujte:
- správný typ senzoru (DHT11 / DHT22) v kódu
- zapojení vodičů
- přítomnost pull-up rezistoru
- interval měření (DHT22 potřebuje cca 2 s)
Jak projekt rozšířit
Tento projekt můžeš snadno rozšířit například o:
- ESP32 web server s meteostanicí
- ukládání dat do InfluxDB
- odesílání dat přes MQTT
- integraci do Home Assistant
ESP32 je velmi výkonný mikrokontrolér a umožňuje stavět pokročilé IoT projekty.
