dht22.ino

ESP32 (original, clase ESP32-WROOM-32) · Archivo : dht22.ino · Lenguaje : Arduino · Uso : Lire température et humidité avec un DHT22

El DHT22 entrega temperatura y humedad por un solo hilo: la librería Adafruit decodifica las tramas de 40 bits y el script añade el punto de rocío. La cadencia de 2 s es el límite del sensor.

Hardware necesario

Una placa ESP32 clásica (módulo ESP32-WROOM-32, doble núcleo Xtensa a 240 MHz, Wi-Fi + Bluetooth) tipo DevKitC / DOIT V1, alimentada por micro-USB. 1 DHT22 (módulo de 3 pines con pull-up integrada) o DHT22 suelto + 10 kΩ.

Cableado

VDD 3,3 V, DATA en GPIO4 con pull-up de 10 kΩ a 3,3 V, GND. El DHT11 también vale (cambiar DHTTYPE).

Funcionamiento

readTemperature/readHumidity lanzan una adquisición completa (bit de arranque + 40 bits temporizados). El sensor es lento: se saltan vueltas de loop hasta 2 s; los NaN indican trama perdida. En el Arduino IDE, instale el paquete « esp32 » (Gestor de placas), elija « Dev Module », el puerto y Subir (mantenga BOOT si falla la detección). GPIO34-39 son solo entrada; evite GPIO6-11 y GPIO12.

Para ir más lejos

Mostrar en el OLED del siguiente sketch, o publicar los valores por BLE/Wi-Fi a un cuadro de mando.

dht22.ino

// DHT22 sur GPIO4 — bibliothèque « DHT sensor library » (Adafruit).
#include <DHT.h>
#define DHTPIN 4
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);
unsigned long precedent = 0;

void setup() {
  Serial.begin(115200);
  dht.begin();
  Serial.println("DHT22 pret (2 s entre mesures)");
}

void loop() {
  if (millis() - precedent < 2000) return;   // le DHT22 parle au mieux à 0,5 Hz
  precedent = millis();

  float t = dht.readTemperature();
  float h = dht.readHumidity();
  if (isnan(t) || isnan(h)) {
    Serial.println("Echec de lecture : cabling/alimentation ?");
    return;
  }
  float dew = 243.04 * (17.625 * t / (t + 243.04) + log(h / 100.0))
            / (17.625 - (17.625 * t / (t + 243.04) + log(h / 100.0)));
  Serial.printf("T=%.1f C  HR=%.1f %%  point de rosee=%.1f C\n", t, h, dew);
}

← Volver a la ficha