Инструкция по использованию датчика температуры DHT11 с Arduino
DHT11 — цифровой датчик температуры и влажности. Диапазон: 0–50°C (±2°C), 20–80% (±5%). 5 В, однопроводной протокол. Идеален для метеостанций, теплиц.
Датчик температуры и влажности DHT11 — это удивительное устройство, которое позволяет измерять температуру и влажность в окружающей среде. Он прост в использовании, недорогой и идеально подходит для различных проектов, связанных с мониторингом окружающей среды. В этой подробной инструкции мы покажем вам, как подключить и использовать датчик DHT11 с платформой Arduino: от подготовки до готового кода, вывода на дисплей и идей для проектов. Готовы создать свою метеостанцию? Поехали!
Что такое DHT11?
DHT11 — цифровой датчик на базе терморезистора и ёмкостного гигрометра. Передаёт данные по однопроводному протоколу (1-Wire). Читает температуру и влажность каждые 1–2 секунды. Встроенный pull-up резистор (на модуле). Дешёвый, но точный для бытовых нужд.
Характеристики DHT11
- Температура: 0–50°C, ±2°C
- Влажность: 20–80%, ±5%
- Питание: 3.3–5.5 В
- Ток: 0.5–2.5 мА
- Разрешение: 1°C, 1%
- Частота опроса: не чаще 1 раза в секунду
- Пины: VCC, DATA, GND (NC — не подключать)
Шаг 1: Подготовка материалов
Перед тем как начать, убедитесь, что у вас есть следующие материалы:
- Плата Arduino (Uno, Nano, Mega и др.)
- Датчик DHT11 (модуль с резистором)
- Провода для подключения (Dupont)
- Резистор 4.7–10 кОм (если без модуля)
- Опционально: LCD 16×2, OLED, breadboard
Шаг 2: Подключение DHT11 к Arduino
Подключите датчик DHT11 к плате Arduino следующим образом:
- VCC → 5 В
- GND → GND
- DATA (OUT) → D4 (любой цифровой пин)
- Если модуль без резистора: DATA → D4 через 10 кОм к VCC
Совет: используйте короткие провода (< 20 м), чтобы избежать помех.
Шаг 3: Установка библиотеки DHT
Для работы с датчиком DHT11 вам потребуется библиотека DHT от Adafruit.
- Откройте Arduino IDE
- Перейдите в меню «Скетч» → «Подключить библиотеку» → «Менеджер библиотек»
- В поисковой строке введите «DHT» и установите «DHT sensor library» от Adafruit
- Также установите «Adafruit Unified Sensor» (зависимость)
Шаг 4: Простой код — вывод в Serial Monitor
#include <DHT.h>
#define DHTPIN 4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
Serial.println("DHT11 готов!");
}
void loop() {
delay(2000); // не чаще!
float h = dht.readHumidity();
float t = dht.readTemperature(); // °C
// float f = dht.readTemperature(true); // °F
if (isnan(h) || isnan(t)) {
Serial.println("Ошибка чтения DHT11!");
return;
}
Serial.print("Влажность: ");
Serial.print(h);
Serial.print("%\t");
Serial.print("Температура: ");
Serial.print(t);
Serial.println("°C");
}
Запускает последовательный порт на скорости 9600 бод.
Каждые 2 секунды считывает влажность и температуру в градусах Цельсия.
Проверяет корректность данных с помощью isnan().
Выводит значения температуры и влажности в Serial Monitor либо сообщение об ошибке чтения.
Шаг 5: Запуск и мониторинг
- Загрузите код на Arduino
- Откройте «Инструменты» → «Монитор порта» (9600 бод)
- Через 2 секунды увидите данные
Расширенный код: Вывод на LCD 16×2 (I2C)
Библиотека: LiquidCrystal_I2C
#include <DHT.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN 4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2); // адрес I2C
void setup() {
lcd.init();
lcd.backlight();
dht.begin();
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("T: "); lcd.print(t); lcd.print((char)223); lcd.print("C");
lcd.setCursor(0,1);
lcd.print("H: "); lcd.print(h); lcd.print("%");
}
Каждые 2 секунды считывает температуру и влажность с датчика DHT11.
Очищает экран и выводит:
в первой строке температуру в градусах Цельсия,
во второй строке влажность в процентах.
Применение DHT11 в проектах
- Метеостанция: DHT11 + BMP180 + OLED
- Теплица: полив при влажности < 40%
- Умный вентилятор: включение при T > 28°C
- Логгер данных: запись на SD-карту
- IoT: отправка в Blynk/ThingSpeak
Советы и частые ошибки
- Не опрашивайте чаще 1 раза в секунду
- Ошибка «NaN» — проверьте питание, pull-up, пины
- Для точности: калибровка, DHT22 (лучше)
- Длинные провода: используйте экранирование
- Питание: стабильные 5 В, конденсатор 100 нФ
Заключение
Датчик DHT11 — отличный старт для мониторинга окружающей среды. Простое подключение, надёжная библиотека, множество применений. Начните с Serial, добавьте дисплей, реле, интернет. Ваша метеостанция или умная теплица ждёт!
Надеемся, что данная подробная инструкция была полезной для вас и вдохновит на создание собственных проектов с DHT11 и Arduino. Экспериментируйте, делитесь результатами! Удачи в творчестве!
FAQ — датчик температуры и влажности DHT11 для Arduino
Что такое DHT11 и как он работает?
DHT11 — цифровой датчик температуры и влажности. Он использует терморезистор и ёмкостный гигрометр, передаёт данные по однопроводному протоколу (1-Wire). Датчик считывает температуру и влажность каждые 1–2 секунды и выводит их в цифровом виде на пин DATA.
Какие характеристики имеет DHT11?
Температурный диапазон 0–50°C (±2°C), влажность 20–80% (±5%), питание 3.3–5.5 В, ток 0.5–2.5 мА, разрешение 1°C и 1%, частота опроса не чаще 1 раза в секунду.
Как подключить DHT11 к Arduino?
Подключение простое: VCC → 5 В, GND → GND, DATA → цифровой пин Arduino (например, D4). Если модуль без встроенного резистора, добавьте 10 кОм pull-up между DATA и VCC. Рекомендуется использовать короткие провода (<20 см) для минимизации помех.
Какие библиотеки нужны для работы с DHT11?
Для Arduino используйте библиотеку DHT sensor library от Adafruit и зависимость Adafruit Unified Sensor. Для вывода на дисплей 16×2 I2C пригодится библиотека LiquidCrystal_I2C.
Как правильно считывать данные с DHT11?
Не опрашивайте датчик чаще 1 раза в секунду. Используйте функции dht.readTemperature() и dht.readHumidity() из библиотеки DHT. Проверяйте на NaN, чтобы убедиться, что чтение прошло успешно.
Где можно применить DHT11 в проектах?
Метеостанции, теплицы, умные вентиляторы, логгеры данных на SD-карту, IoT-проекты с отправкой данных в Blynk или ThingSpeak, домашние системы мониторинга климата.
Какие советы помогут при использовании DHT11?
Используйте стабильное питание 5 В, при необходимости добавьте конденсатор 100 нФ. Длинные провода экранируйте. При ошибках NaN проверяйте питание, подключение пина DATA и pull-up резистор. Для большей точности можно использовать DHT22.