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

В данной статье я хотел бы рассказать о недорогих цифровых датчиках температуры и влажности DHT11 и DHT22.
Датчики температуры и влажности DHT11 и DHT22
Данные датчики не отличаются высоким быстродействием и точностью, однако могут найти свое применение в радиолюбительских проектах из-за своей невысокой стоимости. Датчик DHT состоит из емкостного датчика влажности и термистора. Также, датчик содержит в себе простенький АЦП для преобразования аналоговых значений влажности и температуры.

Отличия DHT11 и DHT22
По цоколевке данные датчики идентичны, однако немного различаются характеристиками.
DHT11:
  • Очень низкая стоимость
  • Питание и I/O 3-5 В
  • Определение влажности 20-80% с 5% точностью
  • Определение температуры 0-50 град. с 2% точностью
  • Частота опроса не более 1 Гц (не более раза в 1 сек.)
  • Размеры 15.5мм x 12мм x 5.5мм
  • 4 вывода с расстоянием между ножками 0.1"
DHT22:
  • Низкая стоимость
  • Питание и I/O 3-5 В
  • Определение влажности 0-100% с 2-5% точностью
  • Определение температуры -40 — 125 град. с точностью ±0.5 град.
  • Частота опроса не более 0.5 Гц (не более раза в 2 сек.)
  • Размеры 15.1мм x 25мм x 7.7мм
  • 4 вывода с расстоянием между ножками 0.1"

Как видно, сенсор DHT22 имеет более лучшие характеристики. Однако оба датчика медлительны и вы не сможете считывать с них информацию чаще, чем раз в 1 или 2 сек.

Подключение
Датчик DHT на макетной плате
Датчики имеют стандартные выводы и поэтому легко становятся на макетную плату.
DHT имеет 4 вывода:
  1. Vcc (3-5V питание)
  2. Data out — Вывод данных
  3. Не используется
  4. Общий
При подключении к МК, вы можете между выводами Vcc и Data разместить подтягивающий pull-up резистор номиналом 10 кОм. Плата Arduino имеет встроенные pull-up, однако они очень слабенькие — порядка 100 кОм.

Рассмотрим подключение датчика к популярной сейчас плате Arduino. На рисунке ниже, показано подключение датчика к Arduino, выход с датчика подается на 2 pin платы, если нужно, в скетче поменяйте на какой-либо другой.
Подключение DHT к Arduino

Скачать библиотеку для работы датчиков DHT с Arduino можно здесь. Там же и пример

Скетч Arduino

Если вы будете использовать датчик DHT11, то закомментируйте данную строку:
//#define DHTTYPE DHT22   // DHT 22  (AM2302)

и раскоментируйте эту:
#define DHTTYPE DHT11   // DHT 11 

Загрузите скетч в контроллер и проверьте правильность работы при помощи Serial Monitor:
Вывод данных на Serial Monitor от датчиков

Даташиты: DHT11, DHT22
Источник

27 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.