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

Вопросы и ответы

Описание датчика

DHT11 имеет два измерительных прибора: емкостный датчик температуры и гигрометр. Первый измеряет температуру, второй — влажность воздуха. Микросхема внутри датчика действует как АЦП и выдает цифровой сигнал, считываемый микроконтроллером, к которому он подключен.

DHT11, как и его модификация DHT22, предлагается на рынке в двух вариантах:

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


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

Датчики DHT11 и 12 похожи друг на друга, но имеют различия в характеристиках.

Для начала работы нам понадобятся такие компоненты

  • Любой Arduino (в нашем случае Arduino UNO)
  • Датчик DHT11 в любом апгрейде
  • Разделочная доска
  • Соединительные кабели
  • Резистор 10 кОм (для определенных обновлений)

компонент датчика dht11

Основные технические характеристики DHT11 и DHT22

Особенности DHT11:

  1. Диапазон измерения влажности 20-80% (погрешность до 5%).
  2. Диапазон измерения температуры 0-50 ° C (точность — 2 ° C).
  3. Источник питания 3-5 В.
  4. Потребляемый ток 2,5 мА.
  5. Частота 1 Гц.
  6. Размер: 15,5 х 12 х 5,5 мм.
  7. Четыре разъема.

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

  1. Диапазон измерения влажности 0-100% (погрешность 2-5%).
  2. Диапазон измерения температуры от минус 40 ° С до плюс 125 ° С (точность — 0,5 ° С).
  3. Источник питания 3-5 В.
  4. Потребляемый ток 2,5 мА.
  5. Частота 0,5 Гц.
  6. Размер: 15,1 х 25 х 5,5 мм.
  7. Разъемы 4шт с шагом 0,1.

Влажность измеряется в процентах. Когда измерение датчиком показывает 55%, это означает, что 55% водяного пара находится в воздухе вокруг места измерения.

Если датчик показывает 100%, скорее всего, он неисправен или схема подключения неправильная. А если он возвращает 0%, то, скорее всего, тоже есть проблемы с обработкой данных, или вы находитесь посреди пустыни или в пространстве комиксов.

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

Комплект подключения

Для подключения можно использовать микроконтроллер Arduino UNO, компактную плату NANO или MEGA — для больших решений. Комплект подключения № 1 выглядит следующим образом:

  1. Плата Arduino UNO.
  2. Датчик
  3. Сопротивление 4,7 кОм.
  4. Небрежная разделочная доска.
  5. Проводники для соединительных элементов.

Комплект подключения No. 2:

  1. Плата Arduino Uno, вы можете nano.
  2. Модуль
  3. Проводники с разъемами для Ардуино.

Комплект подключения No. 3:

  1. Плата Arduino Uno.
  2. Модуль
  3. ЖК дисплей.
  4. Проводники с разъемами для Ардуино.
  5. Адаптер питания 2 в 1.

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

Схема подключения

Чтобы подключить инструмент на основе первого набора подключений, вам необходимо использовать этот макет.

Подключение датчика температуры DHT11 к Arduino, схема № 1:

  1. Первый вывод DHT11 для Arduino UNO + 5V (красный).
  2. Второй контакт четвертого контакта — цифровой (синий).
  3. Третий контакт не задействован.
  4. Четвертый подключается к GND (черный)

Второй разъем, отвечающий за передачу сигнала, должен быть подключен не только к четвертому разъему интерфейса ввода-вывода, но и к источнику питания через резистор. Для обеспечения правильной работы датчика требуется питание линии передачи данных DHT11.

Принципиальную схему можно увидеть ниже.

Сенсорный модуль лишен таких нюансов, потому что в нем уже есть «прижимные элементы».

Как подключить датчик температуры и влажности по схеме No. 2 в Arduino:

  1. VCC до + 5V (блок питания, красный).
  2. OUT к цифровому разъему (данные, зеленый).
  3. GND на GND (земля, черный).

Принципиальная схема выглядит так.

Внимание! Во время установки полностью отключите микроконтроллер от источника питания, чтобы избежать повреждения компонентов или истощения дорожек схемы.

Схема подключения № 3:

  1. Отображение SCL в формате A5 (данные, оранжевый).
  2. ПДД в формате А4 (данные, желтый).
  3. GND на GND (земля, черный).
  4. 5V VCC (блок питания, красный).
  5. Датчик GND на GND (земля, черный).
  6. DATA на A0 (данные, фиолетовый).
  7. 5V VCC (блок питания, красный).

Подключите питание ЖК-дисплея и датчика к одному и тому же разъему с помощью соединительного кабеля 2 к 1.

Схемы готовы, теперь нужно подключить их к компьютеру и с помощью скетча запрограммировать на правильную работу.

Программная часть

Чтобы написать тестовую программу, вам необходимо скачать библиотеки DHT для сенсора и LiquidCrystal_I2C для дисплея с Github. Загрузите, разархивируйте, измените имя библиотеки для датчика на «DHT» и перенесите папки с файлами в каталог Arduino libraries на диске. Сделайте то же самое, только без переименования, с библиотекой для ЖК-дисплея, если вы подключили ее по схеме.

Теперь сам скетч. Он был написан для отображения измерений на подключенном экране дисплея. Внесите соответствующие изменения, если в цепи используются другие элементы или задействованы другие разъемы интерфейса ввода-вывода. Вы можете видеть это здесь.

Модернизация датчика DHT11

Есть обновление датчика, но оно имеет те же функции, и эскиз будет таким же, за исключением того, что подключение датчика к Arduino будет немного другим

вид на модернизированный датчик DHT11 с тремя кабелями

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

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

  • КУПИТЬ Arduino Uno R3;
  • КУПИТЬ разделочную доску;
  • КУПИТЬ датчик DHT11;
  • КУПИТЬ датчик DHT22;

Датчики легко подключаются. Поскольку у них довольно длинные 0,1-дюймовые разъемы, вы можете установить их прямо на макетную плату или схему (см. Изображение ниже).

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

Прямое подключение к Arduino также простое. Датчик имеет 4 разъема:

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

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

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

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

Где купить датчики по низким ценам

Традиционно самые низкие цены предлагают продавцы Алиэкспресс. Вот самые интересные варианты:

Цифровые датчики температуры и влажности DHT11 DHT22 DHT22 как модуль, совместимый с Arduino Uno R3 Беспроводная связь DHT22 для метеостанций на базе WeMos — как бутерброд
Модуль беспроводного датчика DHT22 (с ESP8266) Недорогой вариант датчика температуры и влажности DHT11 дешевле на 70 рублей! Хорошо выполненный датчик DHT11 от RobotDyn

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

Если у вас на руках только датчик (синий пластиковый ящик «решетка» с 4 металлическими контактами), то для подключения DHT11 вам потребуются следующие детали:

  • Плата Arduino (или другой микроконтроллер, поддерживающий тайминг в микросекундах);
  • Сборка (разделочная доска);
  • Подтягивающий резистор 10 кОм;
  • ВЕЛ.

Описание контактов DHT11:

  • Питание;
  • Вывод данных;
  • Не используется;
  • Земля (GND).

Штыри пронумерованы слева направо, если корпус датчика обращен к вам сбоку от решетки, а «ножки» находятся внизу. Для правильной работы датчика необходимо припаять резистор 10 кОм между сигнальными выходами и источником питания.

подключение датчика dht11 к ардуино

Если у вас в руках готовый сенсорный модуль, подключить его к Arduino предельно просто: подключите VCC к + 5V, GND к земле, третий контакт к любому свободному контакту на плате Arduino. Затем на эскизе необходимо указать номер штифта. Поэтому вы можете подключать датчик к разным платам Arduino: Uno, Arduino Mega, Arduino Nano, Pro Mini и другим.
Модуль датчика подключается следующим образом:

Датчик DHT22 / DHT11 Ардуино
+ + 5В
из например 2
GND

Внимание! Обязательно соблюдайте полярность подключения. При неправильном подключении датчик почти неизбежно выйдет из строя. Кроме того, при неправильном подключении пластиковый корпус датчика может сильно нагреться и обжечь руки. Будьте осторожны, не торопитесь! Чтобы схема соответствовала приведенному ниже примеру скетча, рекомендуется подключить сигнал от датчика влажности DHT11 / DHT22 ко второму выводу. Если у вас другой эскиз, вы можете внести соответствующие изменения в код и изменить штифт (пример ниже). Также подключаются дополнительные резисторы (этот шаг можно пропустить, так как резистор уже установлен в плате).

схема подключения dht22

Использование датчиков в системах умного дома

Конструктор Arduino предлагает возможность каждому создать свою собственную систему умного дома для конкретных задач. Универсальная плата с микроконтроллером Arduino UNO позволяет подключать и взаимодействовать с различными модулями. Пример этого показан в статье. Модуль влажности и температуры, способный измерять концентрацию пара в воздухе, теперь подключен к дисплею и отображает соответствующую информацию. Вы можете использовать другие сценарии работы:

  1. Отправьте информацию на удаленный сервер и прочтите ее через приложение со своего смартфона.
  2. Включите реле в цепи, которое включит вентилятор в вытяжке, если концентрация пара в ванной достигнет 85%. И выключите, когда замеры покажут норму.
  3. Или используйте умную розетку в цепи, которая включит кондиционер, чтобы нормализовать влажность в квартире.
  4. вы также можете использовать более сложные двигатели, такие как электрические приводы стеклоподъемников, чтобы они автоматически открывались для вентиляции, если концентрация влаги не соответствует норме.
  5. Использование датчика на ферме и на самой птицефабрике является неотъемлемой частью автоматизации. С помощью простой системы вы легко сможете проверить процессы в инкубаторе и скорректировать их в случае отклонения от нормы.

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

Распиновка DHT11 и DHT22/AM2302

Датчики DHT11 и DHT22 / AM2302 подключить довольно просто. У них есть четыре вывода:

Рисунок 5 Распиновка датчиков температуры и влажности DHT11 DHT22 / AM2302
Рисунок 5 — Распиновка датчиков температуры и влажности DHT11 и DHT22 / AM2302

  • Вывод VCC подает питание на датчик. Хотя напряжение питания допускается в диапазоне от 3,3 до 5,5 В, рекомендуется питание 5 В. В случае питания 5 В датчик можно держать на расстоянии до 20 метров от источника питания. Однако при питании от источника питания 3,3 В длина кабеля не должна превышать 1 метр. В противном случае падение напряжения в сети приведет к ошибкам измерения.
  • Вывод данных используется для связи между датчиком и микроконтроллером.
  • NC не подключен
  • GND должен быть подключен к земле Arduino.

Рассмотрим подключение стандартного датчика DHT11

Для такого датчика требуется резистор 10 кОм .

DHT11 подключен и готов к использованию. Осталось написать программу для Ардуино.

Обзор аппаратного обеспечения

А теперь перейдем к более интересным вещам. Давайте взглянем на датчики DHT11 и DHT22 / AM2302 и посмотрим, что внутри.

Корпус состоит из двух частей, поэтому для его открытия нужно просто вытащить острый нож и разделить корпус на части. Внутри корпуса рядом с датчиками находится датчик влажности и датчик температуры NTC (термистор).

Рисунок 2 Внутри датчика DHT11 DHT22 / AM2302 температуры и влажности
Рисунок 2 — Внутри датчика температуры и влажности DHT11 DHT22 / AM2302

Чувствительный к влаге компонент, который, очевидно, используется для измерения влажности, имеет два электрода с водоудерживающей подложкой (обычно солью или проводящим пластиковым полимером), зажатой между ними. Когда водяной пар поглощается, подложка выделяет ионы, которые, в свою очередь, увеличивают проводимость между электродами. Изменение сопротивления между двумя электродами пропорционально относительной влажности. Более высокая относительная влажность снижает сопротивление между электродами, а более низкая относительная влажность увеличивает это сопротивление.

Рисунок 3 Внутренняя структура датчика влажности в DHT11 и DHT22
Рисунок 3 — Внутренняя структура датчика влажности в DHT11 и DHT22

Кроме того, эти датчики имеют датчик температуры NTC (термистор) для измерения температуры. Термистор — это термистор — резистор, который меняет свое сопротивление в зависимости от температуры. Все резисторы технически являются термисторами: их сопротивление незначительно меняется в зависимости от температуры, но это изменение обычно очень мало и его трудно измерить.

Термисторы сделаны так, что их сопротивление резко меняется при изменении температуры, а изменение на один градус может составлять 100 Ом и более! Термин «NTC» означает «отрицательный температурный коэффициент», что означает, что при повышении температуры сопротивление уменьшается.

Рисунок 4 График зависимости сопротивления термистора NTC от температурыа
Рисунок 4 — График зависимости сопротивления термистора NTC от температуры

Зато в корпусе SOIC-14 есть небольшая печатная плата с 8-битным чипом. Эта микросхема измеряет и обрабатывает аналоговый сигнал с сохраненными калибровочными коэффициентами, выполняет аналого-цифровое преобразование и выдает цифровой сигнал с данными о температуре и влажности.

Читайте также: Программатор на Ардуино Нано и Уно: прошивка через USB

Оцените статью
Блог про Arduino