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

Содержание

В статье рассмотрены основы работы с недорогими датчиками температуры и влажности серии DHT.

Эти сенсоры простые и медленные, но при этом отлично подходят для хобби-проектов на Arduino. Датчики DHT состоят из двух основных частей: ёмкостный датчик влажности и термистор. Также в корпусе установлен простенький чип для преобразования аналогового сигнала в цифровой. Считывать цифровой сигнал на выходе достаточно просто, можно использовать любой контроллер, не обязательно Arduino.

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

Существуют две версии сенсоров DHT. Выглядят они почти одинаково. Распиновка тоже одинаковая. Основные отличия — в технических характеристиках:

  • Очень дешевый.
  • Питание от 3 до 5В.
  • Максимально потребляемый ток — 2.5мА при преобразовании (при запросе данных).
  • Рассчитан на измерение уровня влажности в диапазоне от 20% до 80%. При этом точность измерений находится в диапазоне 5%.
  • Измеряет температуру в диапазоне от 0 до 50 градусов с точностью плюс-минус 2%.
  • Частота измерений не более 1 Гц (одно измерение в секунду).
  • Размер корпуса: 15.5 мм x 12 мм x 5.5 мм.
  • 4 коннектора. Расстояние между соседними — 0.1".
  • Дешевый.
  • Питание от 3 до 5В.
  • Максимально потребляемый ток — 2.5мА при преобразовании (при запросе данных).
  • Рассчитан на измерение уровня влажности в диапазоне от 0% до 100%. При этом точность измерений находится в диапазоне 2%-5%.
  • Измеряет температуру в диапазоне от -40 до 125 градусов с точностью плюс-минус 0.5 градусов по Цельсию.
  • Частота измерений до 0.5 Гц (одно измерение за 2 секунды).
  • Размер корпуса: 15.1 мм x 25 мм x 7.7 мм.
  • 4 коннектора. Расстояние между соседними — 0.1".

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

DHT11 и DHT22

Подключение датчиков DHT к Arduino

Ссылки для заказа электронного оборудования, которое использовалось в примере ниже из Китая

Подключаются датчики легко. Так как у них достаточно длинные коннекторы 0.1", можно устанавливать их непосредственно на макетную или монтажную плату (смотрите на рисунке ниже).

Датчик DHT на монтажной плате

Непосредственное подключение к Arduino тоже простое. На сенсоре 4 коннектора:

  • Питание (VCC) — от 3 до 5 В.
  • Вывод данных.
  • Не подключается.
  • Земля.

Коннектор 3 просто игнорируйте, он не подключается. Желательно подключить подтягивающий резистор на 10 кОм между питанием и сигналом. На Arduino есть встроенные резисторы, но их номинал 100кОм нам не подойдет.

На рисунке ниже приведена схема подключения DHT11 к Arduino. Подключите сигнал с датчика к пину 2, чтобы схема соответствовала примеру скетча, который приведен ниже. Этот пин можно изменить с соответствующими правками в коде.

Подключение датчика температуры DHT к Arduino

Считывание данных с датчиков DHTxx

Для проверки скетча мы используем Arduino. Можно использовать любой другой микроконтроллер, который поддерживает тайминг в микросекундах.

Для начала скачайте библиотеку для работы с DHT датчиками здесь: Github. Для загрузки нажмите кнопку DOWNLOADS в верхнем правом углу.

Переименуйте папку DHT и убедитесь, что в ней есть файл dht.cpp и другие. После этого переместите папку DHT в папку arduinosketchfolder/libraries/ . Возможно вам придется создать подпапку для библиотек, если вы впервые интегрируете библиотеку. Перезагрузите Arduino IDE.

Теперь загрузите скетч: Examples->DHT->DHTtester. Выглядит программа примерно так:

Программа для работы с датчиком DHT и Arduino

Если вы используете датчик модели DHT11, закомментируйте строку, которая устанавливает тип:

//#define DHTTYPE DHT22 // DHT 22 (AM2302)

И уберите комментарий со строки:

#define DHTTYPE DHT11 // DHT 11

Эти настройки помогают снимать правильные значения именно с вашей модели датчика. В окне серийного монитора этобудет выглядеть примерно так:

Считывание данных температуры с использованием DHT и Arduino

Вы должны увидеть показания температуры и влажности. Подышав на датчик, можно отследить изменения показаний. В этом случае уровень влажности должен увеличиться.

Если Вам необходимы даташиты на датчики, просмотреть и скачать их можно по ссылкам:


Источник: arduino-diy.com