#include "DHTesp.h"
const int DHT_PIN = 15;
// Definir los pines para los LEDs
const int LED_VERDE = 32;
const int LED_AMARILLO = 33;
const int LED_ROJO = 14;
const int LED_CYAN = 21;
const int LED_AZUL = 18;
const int LED_PURPURA = 5;
DHTesp dht;
void setup() {
// Inicializar el sensor DHT
dht.setup(DHT_PIN, DHTesp::DHT22);
// Inicializar los pines de los LEDs como salida
pinMode(LED_VERDE, OUTPUT);
pinMode(LED_AMARILLO, OUTPUT);
pinMode(LED_ROJO, OUTPUT);
pinMode(LED_CYAN, OUTPUT);
pinMode(LED_AZUL, OUTPUT);
pinMode(LED_PURPURA, OUTPUT);
// Iniciar la comunicación serial
Serial.begin(115200);
Serial.println("Hello, ESP32!");
}
void loop() {
// Leer la temperatura y la humedad del sensor DHT
float tempC = dht.getTemperature();
float humedad = dht.getHumidity();
// Encender/apagar los LEDs de acuerdo a la temperatura
if (tempC > 10 && tempC <= 20) {
digitalWrite(LED_VERDE, HIGH);
digitalWrite(LED_AMARILLO, LOW);
digitalWrite(LED_ROJO, LOW);
} else if (tempC > 20 && tempC <= 30) {
digitalWrite(LED_VERDE, LOW);
digitalWrite(LED_AMARILLO, HIGH);
digitalWrite(LED_ROJO, LOW);
} else if (tempC >= 31) {
digitalWrite(LED_VERDE, LOW);
digitalWrite(LED_AMARILLO, LOW);
digitalWrite(LED_ROJO, HIGH);
}
// Encender/apagar los LEDs de acuerdo a la humedad
if (humedad >= 20 && humedad <= 35) {
digitalWrite(LED_CYAN, HIGH);
digitalWrite(LED_AZUL, LOW);
digitalWrite(LED_PURPURA, LOW);
} else if (humedad >= 36 && humedad <= 45) {
digitalWrite(LED_CYAN, LOW);
digitalWrite(LED_AZUL, HIGH);
digitalWrite(LED_PURPURA, LOW);
} else if (humedad > 45) {
digitalWrite(LED_CYAN, LOW);
digitalWrite(LED_AZUL, LOW);
digitalWrite(LED_PURPURA, HIGH);
}
// Imprimir los valores de temperatura y humedad
Serial.print("Temperatura: ");
Serial.print(tempC);
Serial.print("°C, Humedad: ");
Serial.print(humedad);
Serial.println("%");
delay(2000); // Esperar 2 segundos antes de volver a leer los datos del sensor
}