Урок 29: Датчик температуры и влажности DHT11
1. Введение
Датчики DHT11 и DHT22 — популярные решения для измерения температуры и влажности в проектах Arduino (метеостанции, умный дом). DHT11 прост в использовании, недорогой, имеет цифровой выход и подходит для первых проектов.

2. Необходимое оборудование
Кол-во |
Деталь |
---|---|
1 |
Плата Arduino UNO |
1 |
Датчик DHT11 |
1 |
Перемычки |
1 |
USB-кабель |
3. Спецификация
Параметр |
Значение |
---|---|
Напряжение питания |
+5 В |
Диапазон температур |
0–50 °C, ±2 °C |
Диапазон влажности |
20–90 % RH, ±5 % RH |
Интерфейс |
Цифровой (однопроводный) |
Длина передачи |
до 20 м |
4. Подключение

VCC — 5V Arduino
GND — GND Arduino
DATA — цифровой пин 4 Arduino
5. Пример кода
Перед компиляцией кода установите библиотеку DHT11Lib (или DHT sensor library от Adafruit).
//////////////////////////////////////////////////////////
//DHT11
#include <dht11.h>
dht11 DHT;
#define DHT11_PIN 4
void setup() {
Serial.begin(9600);
Serial.println("DHT TEST PROGRAM ");
Serial.print("LIBRARY VERSION: ");
Serial.println(DHT11LIB_VERSION);
Serial.println();
Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
}
void loop() {
int chk;
Serial.print("DHT11, \t");
chk = DHT.read(DHT11_PIN); // ЧТЕНИЕ ДАННЫХ
switch (chk) {
case DHTLIB_OK:
Serial.print("OK,\t");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.print("Checksum error,\t");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.print("Time out error,\t");
break;
default:
Serial.print("Unknown error,\t");
break;
}
// ВЫВОД ДАННЫХ
Serial.print(DHT.humidity, 1);
Serial.print(",\t");
Serial.println(DHT.temperature, 1);
delay(1000);
}
//////////////////////////////////////////////////////////
6. Результат теста
После подключения и загрузки кода на плату откройте серийный монитор (9600 бод). Вы увидите текущие показания температуры и влажности.
7. Частые ошибки
Нет данных — проверьте подключение DATA к правильному пину.
Ошибка контрольной суммы — используйте короткие провода, избегайте помех.
Значения не меняются — датчик неисправен или некачественный контакт.
8. Практические задачи
Метеостанция с выводом на LCD или OLED.
Автоматизация вентиляции по влажности.
Логирование температуры и влажности.
9. Идеи для расширения
Использование DHT22 для большей точности.
Передача данных по Wi-Fi/Bluetooth.
Построение графиков в Processing или на ПК.
Подробнее о DHT11: https://randomnerdtutorials.com/arduino-dht11-dht22-temperature-humidity-sensor/