/* DHT11 Temperature and Humidity Sensor Driver */ #pragma once #include "esp_err.h" #include "driver/gpio.h" #ifdef __cplusplus extern "C" { #endif /** * @brief Estrutura para armazenar leitura do DHT11 */ typedef struct { float temperature; /* Temperatura em °C */ float humidity; /* Umidade relativa em % */ bool valid; /* Indica se a leitura é válida */ } dht11_reading_t; /** * @brief Inicializa o sensor DHT11 * * @param gpio_num Número do GPIO conectado ao pino DATA do DHT11 * @return ESP_OK em caso de sucesso */ esp_err_t dht11_init(gpio_num_t gpio_num); /** * @brief Lê temperatura e umidade do DHT11 * * @param reading Ponteiro para estrutura que receberá os dados * @return ESP_OK em caso de sucesso, ESP_ERR_TIMEOUT se falhar * * @note O DHT11 requer intervalo mínimo de 1 segundo entre leituras */ esp_err_t dht11_read(dht11_reading_t *reading); /** * @brief Obtém apenas a temperatura do DHT11 * * @param temperature Ponteiro para receber temperatura em °C * @return ESP_OK em caso de sucesso */ esp_err_t dht11_read_temperature(float *temperature); /** * @brief Obtém apenas a umidade do DHT11 * * @param humidity Ponteiro para receber umidade em % * @return ESP_OK em caso de sucesso */ esp_err_t dht11_read_humidity(float *humidity); #ifdef __cplusplus } #endif