Подключение DHT11 к ESP32

Цифровой датчик температуры и влажности

DHT11 к ESP32 — три провода: VCC на 3,3 В, земля и DATA на любой GPIO. Датчик работает от 3,3 В, поэтому совместим с ESP32 без делителей.

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

DHT11ESP32
DATAGPIO15
VCC3V3
GNDGND

Схема из примера «DHT11: температура и влажность целыми числами».

DHT11: температура и влажность целыми числами

Открыть пример целиком

Выводы DHT11

ВыводНазначение
DATAлиния данных, подтяжка к питанию 4,7–10 кОм
VCCпитание 3,3–5,5 В
GNDобщий провод

Код для ESP32

#include <DHT.h>

// DHT11: целые градусы (0–50 °C) и проценты влажности (20–90 %).
// Точность скромная — около ±2 °C и ±5 %, зато датчик дешёвый.

#define DHTPIN 15
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);
  dht.begin();
}

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  // Отвалившийся провод ошибки не даёт: библиотека возвращает NaN.
  if (isnan(h) || isnan(t)) {
    Serial.println("датчик не ответил");
  } else {
    Serial.printf("%.0f °C   %.0f %%\n", t, h);
  }
  delay(2000);   // DHT11 отвечает не чаще раза в секунду; берём с запасом
}

Скетч можно править и запускать в симуляторе без платы и установки среды.

Что учесть на ESP32

В железе

У готового модуля с тремя выводами подтяжка линии данных уже распаяна. У голого датчика с четырьмя выводами подтяжку 4,7–10 кОм между DATA и VCC ставят сами, а третий вывод не используется. Порядок выводов у разных модулей отличается: сверяйтесь с надписью на плате.

Частые ошибки при подключении к ESP32

Другие детали для ESP32