- Описание датчика
- Для начала работы нам понадобятся такие компоненты
- Основные технические характеристики DHT11 и DHT22
- Комплект подключения
- Схема подключения
- Программная часть
- Модернизация датчика DHT11
- Подключение датчиков DHT к Arduino
- Где купить датчики по низким ценам
- Подключение DHT11 к Arduino Uno
- Описание контактов DHT11:
- Использование датчиков в системах умного дома
- Распиновка DHT11 и DHT22/AM2302
- Рассмотрим подключение стандартного датчика DHT11
- Обзор аппаратного обеспечения
Описание датчика
DHT11 имеет два измерительных прибора: емкостный датчик температуры и гигрометр. Первый измеряет температуру, второй — влажность воздуха. Микросхема внутри датчика действует как АЦП и выдает цифровой сигнал, считываемый микроконтроллером, к которому он подключен.
DHT11, как и его модификация DHT22, предлагается на рынке в двух вариантах:
- Датчик в пластиковом корпусе с металлическими контактами в количестве 4 шт.
- Модуль с датчиком на плате, который дополнительно содержит подтягивающий резистор и трехконтактный штекер.
Установка может производиться как с одним, так и со вторым вариантом компонента. Для практики установки новичкам и в реальных проектах Arduino мы рекомендуем использовать модуль.
Датчики DHT11 и 12 похожи друг на друга, но имеют различия в характеристиках.
Для начала работы нам понадобятся такие компоненты
- Любой Arduino (в нашем случае Arduino UNO)
- Датчик DHT11 в любом апгрейде
- Разделочная доска
- Соединительные кабели
- Резистор 10 кОм (для определенных обновлений)
Основные технические характеристики DHT11 и DHT22
Особенности DHT11:
- Диапазон измерения влажности 20-80% (погрешность до 5%).
- Диапазон измерения температуры 0-50 ° C (точность — 2 ° C).
- Источник питания 3-5 В.
- Потребляемый ток 2,5 мА.
- Частота 1 Гц.
- Размер: 15,5 х 12 х 5,5 мм.
- Четыре разъема.
DHT22 Технические характеристики:
- Диапазон измерения влажности 0-100% (погрешность 2-5%).
- Диапазон измерения температуры от минус 40 ° С до плюс 125 ° С (точность — 0,5 ° С).
- Источник питания 3-5 В.
- Потребляемый ток 2,5 мА.
- Частота 0,5 Гц.
- Размер: 15,1 х 25 х 5,5 мм.
- Разъемы 4шт с шагом 0,1.
Влажность измеряется в процентах. Когда измерение датчиком показывает 55%, это означает, что 55% водяного пара находится в воздухе вокруг места измерения.
Если датчик показывает 100%, скорее всего, он неисправен или схема подключения неправильная. А если он возвращает 0%, то, скорее всего, тоже есть проблемы с обработкой данных, или вы находитесь посреди пустыни или в пространстве комиксов.
DHT11 не используется в системах, где требуются очень точные измерения. DHT22 предоставляет приблизительные реальные данные. Может использоваться в теплице, домашней метеостанции, инкубаторе. Конечно, есть более точные измерители температуры и влажности, но в другом ценовом сегменте.
Комплект подключения
Для подключения можно использовать микроконтроллер Arduino UNO, компактную плату NANO или MEGA — для больших решений. Комплект подключения № 1 выглядит следующим образом:
- Плата Arduino UNO.
- Датчик
- Сопротивление 4,7 кОм.
- Небрежная разделочная доска.
- Проводники для соединительных элементов.
Комплект подключения No. 2:
- Плата Arduino Uno, вы можете nano.
- Модуль
- Проводники с разъемами для Ардуино.
Комплект подключения No. 3:
- Плата Arduino Uno.
- Модуль
- ЖК дисплей.
- Проводники с разъемами для Ардуино.
- Адаптер питания 2 в 1.
Последний набор сможет не только измерять, но и выводить данные на экран без подключения к компьютеру. То есть работать самостоятельно.
Схема подключения
Чтобы подключить инструмент на основе первого набора подключений, вам необходимо использовать этот макет.
Подключение датчика температуры DHT11 к Arduino, схема № 1:
- Первый вывод DHT11 для Arduino UNO + 5V (красный).
- Второй контакт четвертого контакта — цифровой (синий).
- Третий контакт не задействован.
- Четвертый подключается к GND (черный)
Второй разъем, отвечающий за передачу сигнала, должен быть подключен не только к четвертому разъему интерфейса ввода-вывода, но и к источнику питания через резистор. Для обеспечения правильной работы датчика требуется питание линии передачи данных DHT11.
Принципиальную схему можно увидеть ниже.
Сенсорный модуль лишен таких нюансов, потому что в нем уже есть «прижимные элементы».
Как подключить датчик температуры и влажности по схеме No. 2 в Arduino:
- VCC до + 5V (блок питания, красный).
- OUT к цифровому разъему (данные, зеленый).
- GND на GND (земля, черный).
Принципиальная схема выглядит так.
Внимание! Во время установки полностью отключите микроконтроллер от источника питания, чтобы избежать повреждения компонентов или истощения дорожек схемы.
Схема подключения № 3:
- Отображение SCL в формате A5 (данные, оранжевый).
- ПДД в формате А4 (данные, желтый).
- GND на GND (земля, черный).
- 5V VCC (блок питания, красный).
- Датчик GND на GND (земля, черный).
- DATA на A0 (данные, фиолетовый).
- 5V VCC (блок питания, красный).
Подключите питание ЖК-дисплея и датчика к одному и тому же разъему с помощью соединительного кабеля 2 к 1.
Схемы готовы, теперь нужно подключить их к компьютеру и с помощью скетча запрограммировать на правильную работу.
Программная часть
Чтобы написать тестовую программу, вам необходимо скачать библиотеки DHT для сенсора и LiquidCrystal_I2C для дисплея с Github. Загрузите, разархивируйте, измените имя библиотеки для датчика на «DHT» и перенесите папки с файлами в каталог Arduino libraries на диске. Сделайте то же самое, только без переименования, с библиотекой для ЖК-дисплея, если вы подключили ее по схеме.
Теперь сам скетч. Он был написан для отображения измерений на подключенном экране дисплея. Внесите соответствующие изменения, если в цепи используются другие элементы или задействованы другие разъемы интерфейса ввода-вывода. Вы можете видеть это здесь.
Модернизация датчика DHT11
Есть обновление датчика, но оно имеет те же функции, и эскиз будет таким же, за исключением того, что подключение датчика к Arduino будет немного другим
Подключение датчиков DHT к Arduino
Ссылки для заказа электронного оборудования, использованного в примере ниже, из Китая
- КУПИТЬ Arduino Uno R3;
- КУПИТЬ разделочную доску;
- КУПИТЬ датчик DHT11;
- КУПИТЬ датчик DHT22;
Датчики легко подключаются. Поскольку у них довольно длинные 0,1-дюймовые разъемы, вы можете установить их прямо на макетную плату или схему (см. Изображение ниже).
Прямое подключение к Arduino также простое. Датчик имеет 4 разъема:
- Электропитание (VCC) — от 3 до 5 В.
- Вывод данных.
- Не подключается.
- Земля.
Просто игнорируйте разъем 3, он не подключится. Рекомендуется подключить подтягивающий резистор 10 кОм между источником питания и сигналом. В Arduino есть встроенные резисторы, но 100 кОм нам не подойдут.
На рисунке ниже показана схема подключения DHT11 к Arduino. Подключите сигнал от датчика к контакту 2, чтобы схема соответствовала приведенному ниже примеру. Этот пин можно изменить с помощью соответствующих изменений в коде.
Где купить датчики по низким ценам
Традиционно самые низкие цены предлагают продавцы Алиэкспресс. Вот самые интересные варианты:
Цифровые датчики температуры и влажности DHT11 DHT22 | DHT22 как модуль, совместимый с Arduino Uno R3 | Беспроводная связь DHT22 для метеостанций на базе WeMos — как бутерброд |
Модуль беспроводного датчика DHT22 (с ESP8266) | Недорогой вариант датчика температуры и влажности DHT11 дешевле на 70 рублей! | Хорошо выполненный датчик DHT11 от RobotDyn |
Подключение DHT11 к Arduino Uno
Если у вас на руках только датчик (синий пластиковый ящик «решетка» с 4 металлическими контактами), то для подключения DHT11 вам потребуются следующие детали:
- Плата Arduino (или другой микроконтроллер, поддерживающий тайминг в микросекундах);
- Сборка (разделочная доска);
- Подтягивающий резистор 10 кОм;
- ВЕЛ.
Описание контактов DHT11:
- Питание;
- Вывод данных;
- Не используется;
- Земля (GND).
Штыри пронумерованы слева направо, если корпус датчика обращен к вам сбоку от решетки, а «ножки» находятся внизу. Для правильной работы датчика необходимо припаять резистор 10 кОм между сигнальными выходами и источником питания.
Если у вас в руках готовый сенсорный модуль, подключить его к Arduino предельно просто: подключите VCC к + 5V, GND к земле, третий контакт к любому свободному контакту на плате Arduino. Затем на эскизе необходимо указать номер штифта. Поэтому вы можете подключать датчик к разным платам Arduino: Uno, Arduino Mega, Arduino Nano, Pro Mini и другим.
Модуль датчика подключается следующим образом:
Датчик DHT22 / DHT11 | Ардуино |
+ | + 5В |
из | например 2 |
– | GND |
Внимание! Обязательно соблюдайте полярность подключения. При неправильном подключении датчик почти неизбежно выйдет из строя. Кроме того, при неправильном подключении пластиковый корпус датчика может сильно нагреться и обжечь руки. Будьте осторожны, не торопитесь! Чтобы схема соответствовала приведенному ниже примеру скетча, рекомендуется подключить сигнал от датчика влажности DHT11 / DHT22 ко второму выводу. Если у вас другой эскиз, вы можете внести соответствующие изменения в код и изменить штифт (пример ниже). Также подключаются дополнительные резисторы (этот шаг можно пропустить, так как резистор уже установлен в плате).
Использование датчиков в системах умного дома
Конструктор Arduino предлагает возможность каждому создать свою собственную систему умного дома для конкретных задач. Универсальная плата с микроконтроллером Arduino UNO позволяет подключать и взаимодействовать с различными модулями. Пример этого показан в статье. Модуль влажности и температуры, способный измерять концентрацию пара в воздухе, теперь подключен к дисплею и отображает соответствующую информацию. Вы можете использовать другие сценарии работы:
- Отправьте информацию на удаленный сервер и прочтите ее через приложение со своего смартфона.
- Включите реле в цепи, которое включит вентилятор в вытяжке, если концентрация пара в ванной достигнет 85%. И выключите, когда замеры покажут норму.
- Или используйте умную розетку в цепи, которая включит кондиционер, чтобы нормализовать влажность в квартире.
- вы также можете использовать более сложные двигатели, такие как электрические приводы стеклоподъемников, чтобы они автоматически открывались для вентиляции, если концентрация влаги не соответствует норме.
- Использование датчика на ферме и на самой птицефабрике является неотъемлемой частью автоматизации. С помощью простой системы вы легко сможете проверить процессы в инкубаторе и скорректировать их в случае отклонения от нормы.
Пробуйте, учитесь на чужих ошибках, творите и вы сможете довести поставленные перед вами задачи до автоматизма.
Распиновка DHT11 и DHT22/AM2302
Датчики 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
Чувствительный к влаге компонент, который, очевидно, используется для измерения влажности, имеет два электрода с водоудерживающей подложкой (обычно солью или проводящим пластиковым полимером), зажатой между ними. Когда водяной пар поглощается, подложка выделяет ионы, которые, в свою очередь, увеличивают проводимость между электродами. Изменение сопротивления между двумя электродами пропорционально относительной влажности. Более высокая относительная влажность снижает сопротивление между электродами, а более низкая относительная влажность увеличивает это сопротивление.
Рисунок 3 — Внутренняя структура датчика влажности в DHT11 и DHT22
Кроме того, эти датчики имеют датчик температуры NTC (термистор) для измерения температуры. Термистор — это термистор — резистор, который меняет свое сопротивление в зависимости от температуры. Все резисторы технически являются термисторами: их сопротивление незначительно меняется в зависимости от температуры, но это изменение обычно очень мало и его трудно измерить.
Термисторы сделаны так, что их сопротивление резко меняется при изменении температуры, а изменение на один градус может составлять 100 Ом и более! Термин «NTC» означает «отрицательный температурный коэффициент», что означает, что при повышении температуры сопротивление уменьшается.
а
Рисунок 4 — График зависимости сопротивления термистора NTC от температуры
Зато в корпусе SOIC-14 есть небольшая печатная плата с 8-битным чипом. Эта микросхема измеряет и обрабатывает аналоговый сигнал с сохраненными калибровочными коэффициентами, выполняет аналого-цифровое преобразование и выдает цифровой сигнал с данными о температуре и влажности.
Читайте также: Программатор на Ардуино Нано и Уно: прошивка через USB