База знаний · Датчики и модули
DHT11 и DHT22: температура и влажность
Чем DHT22 лучше DHT11, куда девать третью ножку, зачем резистор 10 кОм и почему датчик отвечает nan.
DHT11 и DHT22 — самые ходовые датчики «погоды»: меряют сразу и температуру, и влажность воздуха, а отдают готовые цифры по одному проводу. Внешне похожи (пластиковая коробочка с решёткой), подключаются одинаково, и в скетче различаются одним словом. Вся разница — в характеристиках.
| Параметр | DHT11 | DHT22 (он же AM2302) |
|---|---|---|
| Температура | 0…50 °C, точность ±2 °C | −40…+80 °C, точность ±0,5 °C |
| Влажность | 20–90 %, точность ±5 % | 0–100 %, точность ±2 % |
| Опрос | не чаще раза в 1–2 с | не чаще раза в 2 с |
| Питание | 3–5,5 В | 3,3–5,5 В |
| В магазине | Trema-модуль — 356 ₽ | 590 ₽ |
Правило выбора простое: для «сколько градусов в комнате» хватает DHT11, для теплицы, погреба и всего, где важны минус и точность, — DHT22. AM2302 — это тот же DHT22, только с проводами: красный — питание, чёрный — земля, жёлтый — данные.
Подключение
У «голого» датчика четыре ножки, работают три: решёткой к себе, слева направо — питание VDD, данные DATA, пустая ножка, земля GND. Линию данных подтягивают резистором 10 кОм к питанию — без него чтения начинают сбоить.
Датчик продаётся без резистора, поэтому либо докупите набор резисторов с 10 кОм (260 ₽), либо возьмите Trema-модуль — там резистор уже распаян, и датчик подключается готовым трёхпроводным шлейфом.
Скетч
Понадобятся две библиотеки из каталога: «DHT sensor library» и её зависимость «Adafruit Unified Sensor» — каталог знает об этой связке. Скетч собран и проверен: на Uno занимает 5 094 байта.
// Датчик температуры и влажности DHT22 (линия DATA — на выводе 2).
// Нужны две библиотеки из каталога: «DHT sensor library» и её
// зависимость «Adafruit Unified Sensor».
#include <DHT.h>
DHT dht(2, DHT22); // для DHT11 напишите: DHT dht(2, DHT11);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float h = dht.readHumidity(); // влажность, %
float t = dht.readTemperature(); // температура, °C
if (isnan(h) || isnan(t)) {
// nan означает «датчик не ответил»: проверьте провода и подтяжку
Serial.println("Datchik ne otvechaet");
} else {
Serial.print("t = ");
Serial.print(t);
Serial.print(" C, RH = ");
Serial.print(h);
Serial.println(" %");
}
delay(2000); // DHT22 нельзя опрашивать чаще раза в 2 секунды
}
Для DHT11 меняется одна строка: DHT dht(2, DHT11); — всё остальное совпадает. Есть и альтернатива с русскими комментариями — библиотека iarduino_DHT из каталога: с ней работает урок 27 нашего курса.
Почему датчик отвечает nan
nan («not a number») — стандартный ответ библиотеки, когда датчик промолчал. Проверяйте по частоте причин:
- перепутаны ножки — сверьтесь со схемой выше;
- нет подтяжки 10 кОм между DATA и питанием;
- опрос чаще раза в 2 секунды — датчик просто не успевает делать измерения;
- чтение в первую секунду после подачи питания — по даташиту датчик в это время нестабилен;
- слишком длинный провод без экрана (больше пары метров).
И два запрета из даташита: не работать в конденсате (роса, туман, дождь — датчик деградирует) и не держать под прямым солнцем. Для воды и почвы берите герметичный DS18B20 — про него отдельная статья.
Частые вопросы
Чем DHT11 отличается от DHT22?
Диапазоном и точностью. DHT11: температура 0…50 °C с точностью ±2 °C, влажность 20–90 % с точностью ±5 %. DHT22: −40…+80 °C с точностью ±0,5 °C, влажность 0–100 % с точностью ±2 %. Подключаются одинаково, в скетче меняется одно слово — тип датчика.
Почему датчик возвращает nan?
nan означает «датчик не ответил». Причины по частоте: перепутаны ножки, нет подтяжки 10 кОм между DATA и питанием, опрос чаще раза в 2 секунды, обращение в первую секунду после включения. У Trema-модуля резистор уже на плате — там обычно виноваты провода.
Можно ли ставить DHT22 на улицу?
Диапазон −40…+80 °C позволяет, но даташит запрещает работу в конденсате: под дождём и в тумане с росой датчик деградирует. Ставьте под навес в вентилируемом корпусе, а для воды и почвы берите герметичный DS18B20 — он измеряет только температуру, зато не боится влаги.
Читайте также
Обновлено: 21 августа 2026
