dacowars 12e2bb4187 prueba antes del cambio a componente 1 개월 전
..
include 12e2bb4187 prueba antes del cambio a componente 1 개월 전
src 12e2bb4187 prueba antes del cambio a componente 1 개월 전
CMakeLists.txt 12e2bb4187 prueba antes del cambio a componente 1 개월 전
Kconfig 12e2bb4187 prueba antes del cambio a componente 1 개월 전
README.md 12e2bb4187 prueba antes del cambio a componente 1 개월 전

README.md

DHT22 Component for ESP-IDF

Driver para el sensor de temperatura y humedad DHT22 (AM2302) compatible con ESP-IDF.

Características

  • Lectura de temperatura (°C) y humedad relativa (%)
  • Comunicación bit-banging optimizada con protección contra interrupciones
  • Configuración del pin GPIO a través de menuconfig
  • Detección de errores (timeout y checksum)
  • Estructura lista para usar como componente reutilizable

Requisitos

  • ESP-IDF v5.0 o superior

Cómo añadir el componente a tu proyecto

Agrega la siguiente dependencia en tu archivo idf_component.yml:

dependencies:
  dht22:
    git: https://github.com/TU_USUARIO/TU_REPOSITORIO.git
    version: "*"

Configuración

  1. Ejecuta:

    idf.py menuconfig
    
  2. Ve a:

Component config → DHT22 configuration → DHT pin configuration

  1. Selecciona el GPIO donde está conectado el sensor (por defecto: GPIO4).

Uso básico

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
#include "dht22.h"

static const char *TAG = "DHT22";

void app_main(void)
{
    float temperature = 0.0;
    float humidity = 0.0;
    esp_err_t ret;

    ESP_LOGI(TAG, "Iniciando sensor DHT22...");

    while (1) {
        ret = dht_read(&temperature, &humidity);

        if (ret == ESP_OK) {
            ESP_LOGI(TAG, "Temperatura: %.1f °C | Humedad: %.1f %%", temperature, humidity);
        } else {
            ESP_LOGE(TAG, "Error al leer el sensor: %s", esp_err_to_name(ret));
        }

        // El DHT22 requiere al menos 2 segundos entre lecturas
        vTaskDelay(pdMS_TO_TICKS(2500));
    }
}

Conexiones (Wiring)

DHT22 Pin ESP32 Pin Descripción
VCC 3.3V Alimentación
GND GND Tierra
DATA GPIO4 (o el GPIO configurado) Datos
  • Recomendado: añadir una resistencia pull-up de 4.7kΩ a 10kΩ entre VCC y DATA.

Ejemplo completo

Se incluye un ejemplo funcional en la carpeta examples/dht22_example.

Licencia

Este proyecto está licenciado bajo la Licencia MIT.