/** ESP32 + DHT22 + LED + Button - Wokwi Activity Sensores- */
/** librería para el manejo del DHT22 */
#include "DHTesp.h"
/** conexiones del sensor de temperatura y humedad
y los led´s PENDIENTE botones*/
const int DHT_PIN = 15;
/** led de humedad */
int HUMIDITY_LED_PIN=2;
/** led de temperatura */
int TEMP_LED_PIN=14;
/** definición de umbrales */
#define TEMP_THRESHOLD 45
#define HUMIDITY_MIN 25
#define HUMIDITY_MAX 60
DHTesp dhtSensor;
/* configurar el entorno de trabajo */
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(HUMIDITY_LED_PIN, OUTPUT);
pinMode(TEMP_LED_PIN, OUTPUT);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
}
/** tarea principal del programa
bucle de lectura de las variables del sensor */
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temperatura: " + String(data.temperature, 2) + "°C");
Serial.println("Humedad: " + String(data.humidity, 1) + "%");
Serial.println("---");
delay(100); // espera para una nueva lectura del sensor
/*Análisis de Humedad*/
float humidity = data.humidity;
Serial.println(humidity);
Serial.println(HUMIDITY_MIN);
Serial.println(HUMIDITY_MAX);
if (humidity < HUMIDITY_MIN || humidity > HUMIDITY_MAX) {
digitalWrite(HUMIDITY_LED_PIN, HIGH);
} else {
digitalWrite(HUMIDITY_LED_PIN, LOW);
}
/*Análisis de Temperatura*/
float temperature = data.temperature;
Serial.println(temperature);
if (temperature > TEMP_THRESHOLD) {
digitalWrite(TEMP_LED_PIN, HIGH);
} else {
digitalWrite(TEMP_LED_PIN, LOW);
}
}