Датчик влажности и температуры DHT11: подключение к Arduino

Датчик влажности и температуры DHT11: подключение к Arduino

Характеристики DHT11, схема включения с подтягивающим резистором и пример индикации влажности в комнате RGB-светодиодом.

Что представляет собой DHT11

DHT11 — цифровой датчик, объединяющий термистор и ёмкостный сенсор влажности. Встроенный АЦП сам преобразует аналоговые значения, так что контроллер получает уже готовые данные. Высокой скоростью и точностью датчик не отличается, зато он прост и недорог, поэтому хорошо подходит для обучения и для контроля влажности в помещении. Опрашивать его можно не чаще одного раза в секунду.

Датчик влажности и температуры DHT11

Технические характеристики

Питание3,5–5,5 В постоянного тока
Ток при измерении0,3 мА
Ток в режиме ожидания60 мкА
Диапазон влажности20–80 %, точность 5 %
Диапазон температуры0–50 °C, точность 2 %
Частота опросане более 1 Гц
Размеры15,5 × 12 × 5,5 мм

Выводы и схема включения

У датчика четыре вывода с шагом 2,54 мм: 1 — VCC, 2 — DATA (данные), 3 — не используется, 4 — GND.

Назначение выводов DHT11

Между питанием и линией данных ставится резистор. При небольшом расстоянии до Arduino рекомендуют 10 кОм, а если линия длиннее 20 метров — 5,1 кОм. Желательно также добавить конденсатор между VCC и GND в качестве фильтра по питанию.

Обмен идёт по одному проводу, и по структуре протокол напоминает DS18B20, но есть отличия. DHT не работает в «паразитном» режиме питания и не имеет индивидуального идентификатора, поэтому несколько датчиков на одну линию повесить нельзя: каждому нужен свой цифровой пин.

Пример: индикатор влажности

В проекте RGB-светодиод показывает состояние воздуха в комнате: зелёный — оптимальные 40–60 %, красный — сухо (ниже 40 %), синий — влажность выше 60 %. Потребуются Arduino Uno, макетная плата, RGB-светодиод, DHT11, резистор 10 кОм, три резистора 220 Ом и провода.

Схема подключения DHT11 и RGB-светодиода к Arduino Uno

Скетч использует библиотеку DHT. Линия данных подключена к пину 2, тип сенсора задаётся строкой #define DHTTYPE DHT11. Красный, зелёный и синий выводы светодиода соединены с пинами 5, 4 и 3.

Раз в 5 секунд вызывается dht.readHumidity(), возвращающая относительную влажность воздуха. По полученному значению процедура setRGB() включает нужный цвет. Если чтение не удалось, в порт уходит сообщение «Failed to read from DHT», а светодиод гаснет. Значение влажности для контроля выводится в монитор последовательного порта на скорости 9600.

Собранная схема с DHT11 и RGB-светодиодом

На что обратить внимание

  • Светодиод не горит — проверить его подключение и показания датчика в мониторе порта.
  • Ошибка чтения данных — проверить подключение DHT11.
  • Цвета не соответствуют ожидаемым — сверить цоколёвку RGB-светодиода с документацией.

← Все статьи