capteur-dht11.ino

Arduino UNO R4 WiFi · Archivo : capteur-dht11.ino · Lenguaje : Arduino · Uso : Relever température et humidité avec un DHT11

El DHT11 funciona igual en el R4: la librería Adafruit es portable en el core RENESAS. La lectura cada 2 s con control de error es el patrón base de toda estación meteorológica casera.

Hardware

Un Arduino UNO R4 WiFi (Renesas RA4M1 @ 14 MHz + ESP32-S3 Wi-Fi/BLE compañero, matriz LED 12x8, LED RGB) alimentado por USB o 6-24 V. 1 sensor DHT11 (módulo de 3 pines) + resistencia de 10 kΩ si va suelto.

Cableado

VDD a 5 V, GND a GND, DATA a D4 con pull-up de 10 kΩ a 5 V.

Funcionamiento

readTemperature/readHumidity disparan el protocolo de 1 hilo; un NaN señala una trama perdida, reintentada en el ciclo siguiente sin bloquear loop().

Ejecución

Arduino IDE 2.x con el core « Arduino UNO R4 Boards », placa « Arduino UNO R4 WiFi », puerto serie y Subir. El coprocesador ESP32-S3 se actualiza aparte si el IDE lo pide.

Variantes

Pasar al DHT22 (±0,5 °C), o mostrar los valores en la matriz LED del R4 WiFi en modo desplazamiento.

capteur-dht11.ino

// DHT11 sur D4 : temperature + humidite vers le moniteur serie.
#include <DHT.h>   // "DHT sensor library" (Adafruit) via le gestionnaire

#define TYPE_DHT DHT11
DHT dht(4, TYPE_DHT);

unsigned long t0 = 0;

void setup() {
  Serial.begin(9600);
  dht.begin();
  Serial.println(F("DHT pret"));
}

void loop() {
  if (millis() - t0 < 2000) return;   // cadence mini du capteur
  t0 = millis();

  float h = dht.readHumidity();
  float t = dht.readTemperature();
  if (isnan(h) || isnan(t)) {
    Serial.println(F("lecture ratee (cabling ?)"));
    return;
  }
  Serial.print(F("T = ")); Serial.print(t, 1);
  Serial.print(F(" C | HR = ")); Serial.print(h, 1);
  Serial.println(F(" %"));
}

// Le RA4M1 est plus rapide que les AVR : les temporisations
// 1 fil du protocole restent generees correctement par la lib.

← Volver a la ficha