Главная → Датчики

Датчик DHT22 (AM2302): характеристики, подключение к Arduino и частые ошибки

4 сентября 2026 · Датчики

DHT22 — самый простой способ научить устройство измерять температуру и влажность. Один датчик, один сигнальный провод, готовая библиотека — и через десять минут у вас на экране цифры. За это его и любят: он прощает новичку почти всё, кроме двух вещей, о которых ниже.

Подключение датчика DHT22 к Arduino с подтягивающим резистором 10 кОм
Подключение датчика DHT22 к Arduino с подтягивающим резистором 10 кОм

Что это за датчик

Внутри белого пластикового корпуса стоят ёмкостный датчик влажности и термистор, а рядом — маленький контроллер, который сам их опрашивает и отдаёт наружу уже готовые цифры. Никаких аналоговых сигналов и калибровочных таблиц: датчик сразу говорит «23,4 градуса и 47,8 процента». Второе имя того же устройства — AM2302, это одна и та же вещь, просто в другом корпусе и с проводами.

Характеристики

Питание3–5 В
Влажность0–100 %, погрешность 2–5 %
Температура−40…+80 °C, погрешность ±0,5 °C
Период опросане чаще одного раза в 2 секунды (0,5 Гц)
Интерфейсоднопроводный, собственный протокол
Ток в момент измерениядо 2,5 мА
Размер корпуса15,1 × 25 × 7,7 мм
Выводы4 штырька с шагом 2,54 мм

Главная строчка здесь — период опроса. Датчик физически не умеет отвечать чаще, чем раз в две секунды, и попытка дёргать его в цикле без задержки даёт не «более свежие данные», а ошибки чтения.

Подключение к Arduino

У модуля четыре ножки, если смотреть на решётку спереди — слева направо:

Между питанием и линией данных нужен подтягивающий резистор на 10 кОм. В модулях на плате он уже впаян — тогда ножек три и резистор не нужен. У «голого» датчика с четырьмя ногами его придётся поставить самому: без него чтения будут срываться через раз.

Код

#include "DHT.h"

#define DHTPIN 2
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  delay(2000);                      // датчик не отвечает чаще, чем раз в 2 секунды

  float h = dht.readHumidity();
  float t = dht.readTemperature();

  if (isnan(h) || isnan(t)) {       // проверять ОБЯЗАТЕЛЬНО
    Serial.println("Датчик не ответил");
    return;
  }

  Serial.print("Влажность: ");
  Serial.print(h);
  Serial.print(" %  Температура: ");
  Serial.print(t);
  Serial.println(" C");
}

Нужна библиотека DHT sensor library от Adafruit и вместе с ней Adafruit Unified Sensor — вторая ставится отдельно, и именно её обычно забывают, после чего скетч не компилируется.

Частые ошибки

Когда брать, а когда нет

DHT22 хорош там, где нужна бытовая точность и простота: комнатная метеостанция, теплица, контроль влажности в подвале, домашняя автоматика. Он дёшев, не требует пайки и заводится с первого раза.

Не берите его, если нужны быстрые измерения, точность лучше половины градуса или работа от батарейки месяцами — там уместнее цифровые датчики с шиной I2C, которые умеют спать и опрашиваются хоть десять раз в секунду. Но для первого проекта DHT22 остаётся лучшим выбором: на нём понятно, как вообще устроено измерение.

Информация собрана из открытых источников и паспортов производителей и не является истиной в последней инстанции. Характеристики, распиновку и совместимость проверяйте по документации конкретной партии модуля перед покупкой и подключением.

Читайте дальше

Дисплеи

Дисплей LCD1602 с I2C-переходником PCF8574: обзор и подключение

Экран 16×2 — первый дисплей, который берёт новичок, и первая же ловушка: ему нужны шесть проводов данных и управления, плюс отдельная подстройка…

Читать обзор →
Связь

nRF24L01+: радиосвязь между платами без Wi-Fi

Когда датчик надо вынести на улицу, в теплицу или в подвал, тянуть провод неудобно, а Wi-Fi там либо не добивает, либо съедает…

Читать обзор →
Питание

INA219: измеряем ток и напряжение в своём проекте — обзор и подключение

Зачем ставить датчик тока Пока проект живёт на макетке, ток обычно оценивают на глаз: «серве надо до 700 мА, значит блок на…

Читать обзор →