Кратко о модуле DHT11
Модуль DHT11 измеряет температуру и относительную влажность воздуха и передает оба значения микроконтроллеру по одной цифровой линии DATA. Он работает от 3–5 В и предназначен для простых учебных, бытовых и DIY-проектов мониторинга микроклимата.
Ключевые характеристики
- Тип
- цифровой модуль температуры и влажности
- Сенсор
- DHT11
- Напряжение питания
- 3–5 В
- Интерфейс
- однопроводной цифровой, DATA
- Количество контактов
- 3: VCC, GND, DATA
- Диапазон температуры
- 0…+50 °C
- Диапазон влажности
- 20–95% RH
- Погрешность влажности
- до ±5% RH
- Интервал между считываниями
- рекомендуется не менее 2 с[1]
- Размеры модуля
- 28,4 × 13,1 мм
Подробное описание и особенности
Цифровое измерение двух параметров
DHT11 объединяет чувствительный к влажности элемент, датчик температуры и электронику обработки. Микроконтроллер получает готовые цифровые значения, поэтому отдельный аналого-цифровой преобразователь для этого модуля не нужен.
Для обмена используется отдельная линия DATA с временным протоколом, а не шина I²C. При настройке библиотеки необходимо выбрать тип сенсора DHT11 и указать цифровой GPIO, к которому подключена линия DATA. Готовые библиотеки берут на себя формирование запроса, прием пакета и проверку данных.[2]
Размещение влияет на показания
Модуль измеряет параметры воздуха вокруг сенсора. Для показаний, отражающих реальные условия, необходима свободная циркуляция воздуха; не размещайте DHT11 вплотную к стабилизатору, процессору, силовым компонентам или другим источникам тепла.
Датчик реагирует медленнее современных сенсоров и имеет ограниченную точность, поэтому его целесообразно использовать для обучения, индикации и наблюдения за относительно медленными изменениями микроклимата. В программе стоит предусмотреть повторное считывание после единичной ошибки связи.[2]
Подойдет / не подойдет
Подойдет
- для учебных проектов с Arduino-совместимыми и другими микроконтроллерами;
- для комнатного индикатора температуры и влажности;
- для простого регистратора данных или бытовой метеостанции;
- для сигнализации о выходе параметров микроклимата за заданный пользователем порог, если от этого не зависит безопасность.
Не подойдет
- для измерений температуры ниже 0 °C или выше +50 °C;
- для лабораторных, эталонных или других задач с высокими требованиями к точности;
- для быстрых процессов, где нужны частые обновления и малая задержка;
- для защитной автоматики, аварийного отключения или систем, отказ которых может причинить вред человеку или имуществу;
- для работы под дождем, в условиях конденсации или при прямом попадании воды.
Примеры применения
Комнатный монитор микроклимата
Контроллер периодически считывает температуру и влажность, показывает их на дисплее или включает световую индикацию после достижения заданного порога.
Учебный стенд с микроконтроллером
DHT11 можно подключить к Nano V3.0 ATmega328P Type-C, чтобы освоить работу с цифровым датчиком, библиотекой и последовательным монитором Arduino IDE.
Регистратор температуры и влажности
Значения можно сохранять через контроллер или передавать в локальный интерфейс для наблюдения за медленными изменениями условий в помещении.
Подключение и первый запуск
Проверьте маркировку контактов
Найдите на полученном модуле обозначения VCC, GND и DATA. Не определяйте порядок контактов только по их расположению или по схеме другой платы.
Подключите питание и сигнал
Соедините VCC с источником 3–5 В, GND — с общей землей, а DATA — с цифровым GPIO контроллера. Все соединения выполняйте при отключенном питании.
Проверьте подтяжку DATA
Линия DATA требует подтяжки к питанию. На готовом модуле резистор может быть установлен на плате; если его нет или связь нестабильна, используйте резистор примерно 4,7–10 кОм между DATA и VCC.[1][2]
Настройте программу
Выберите в библиотеке тип DHT11, укажите номер GPIO и после подачи питания подождите не менее 1 секунды перед первым запросом. Для стабильной работы выдерживайте паузу не менее 2 секунд между считываниями.[1]
Обрабатывайте ошибки считывания
Если библиотека вернула ошибку или NaN, пропустите это значение и повторите запрос после паузы. При постоянных ошибках проверьте полярность, питание, общую землю, GPIO, подтяжку DATA и выбранный в коде тип сенсора.[2]
Альтернативы и совместимые товары
- Если нужны более широкий диапазон температуры и более высокая точность, рассмотрите AM2302/DHT22; в коде необходимо выбрать соответствующий тип сенсора.
- Если, кроме температуры и влажности, нужно измерять атмосферное давление и использовать I²C, подойдет модуль AHT20 + BMP280. Перед подключением сверьте его напряжение питания и логические уровни с контроллером.
Ограничения и безопасность
Не путайте питание и землю
Неправильная полярность или напряжение выше допустимых 3–5 В могут повредить модуль или GPIO контроллера. Изменяйте схему только при отключенном питании.
Не используйте как единственный защитный датчик
DHT11 не предназначен для аварийного отключения, медицинских устройств или другой автоматики, где ошибка или отсутствие данных может создать опасность.[1]
Защищайте чувствительный элемент
Избегайте конденсата, прямого попадания воды, длительного воздействия солнечного света и ультрафиолета, а также агрессивных химических паров. Такие условия могут вызвать дрейф показаний или необратимое снижение чувствительности.[1]
Размещайте вдали от источников тепла
Стабилизатор, микроконтроллер, дисплей или силовой узел рядом с сенсором могут локально нагревать воздух и искажать результат. Обеспечьте вентиляцию и механически отделите DHT11 от таких компонентов.[1]
FAQ
Совместим ли DHT11 с Arduino?
Да. Модуль питается от 3–5 В, а DATA подключается к цифровому GPIO. В программе необходимо установить библиотеку для DHT-сенсоров и выбрать тип DHT11.
Нужен ли отдельный подтягивающий резистор?
Сначала осмотрите плату модуля: подтяжка DATA может быть уже установлена. Если резистора нет или считывание нестабильно, добавьте примерно 4,7–10 кОм между DATA и VCC.
Как часто можно считывать показания?
Для надежной работы предусмотрите интервал не менее 2 секунд между запросами. DHT11 предназначен для медленного мониторинга, а не для быстрых измерительных циклов.
Почему программа иногда получает NaN или ошибку?
Единичная ошибка может возникнуть во время чувствительного к временным параметрам обмена. Повторите считывание после паузы; если ошибка постоянна, проверьте контакты, питание, общую землю, GPIO, подтяжку DATA и тип сенсора в коде.
Подходит ли модуль для точного климат-контроля?
DHT11 лучше использовать для обучения, индикации и ориентировочного мониторинга. Для более высокой точности, более широкого диапазона или ответственных систем выберите датчик с подтвержденными параметрами для конкретной задачи.
Документы и источники
- ASAIR, DHT11 Product Manual, version V1.3, 31.03.2017 — питание, однопроводной протокол, подтяжка DATA, интервал считывания и условия эксплуатации.
- Adafruit Learning System, DHT11, DHT22 and AM2302 Sensors, редакция от 08.03.2024 — подключение, библиотека для Arduino и обработка ошибок считывания.