# 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`: ```yaml dependencies: dht22: git: https://github.com/TU_USUARIO/TU_REPOSITORIO.git version: "*" ``` ## Configuración 1. Ejecuta: ```bash idf.py menuconfig ``` 2. Ve a: `Component config → DHT22 configuration → DHT pin configuration` 3. Selecciona el GPIO donde está conectado el sensor (por defecto: GPIO4). ## Uso básico ```c #include #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.