Files
esp32-zigbee/main/dht11_driver.h
T

58 lines
1.3 KiB
C
Executable File

/* 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