#include <DHT.h> // Incluye la biblioteca DHT para manejar el sensor
#define DHTPIN 2 // Pin al que está conectado el sensor DHT22
#define DHTTYPE DHT22 // Definimos el tipo de sensor
DHT dht(DHTPIN, DHTTYPE); // Inicializamos el sensor DHT22
// Definimos los pines de los LEDs
const int ledVerde = 13;
const int ledAmarillo = 12;
const int ledRojo = 11;
void setup() {
// Inicializamos la comunicación serial
Serial.begin(9600);
// Inicializamos el sensor DHT22
dht.begin();
// Configuramos los pines de los LEDs como salida
pinMode(ledVerde, OUTPUT);
pinMode(ledAmarillo, OUTPUT);
pinMode(ledRojo, OUTPUT);
}
void loop() {
// Leemos la temperatura en grados Celsius
float temperatura = dht.readTemperature();
// Verificamos si la lectura es válida
if (isnan(temperatura)) {
Serial.println("Error al leer el sensor de temperatura.");
return;
}
// Imprimimos la temperatura en el monitor serial
Serial.print("Temperatura: ");
Serial.print(temperatura);
Serial.println(" °C");
// Apagamos todos los LEDs
digitalWrite(ledVerde, LOW);
digitalWrite(ledAmarillo, LOW);
digitalWrite(ledRojo, LOW);
// Encendemos el LED correspondiente según la temperatura
if (temperatura < 20) {
digitalWrite(ledVerde, HIGH); // Temperatura baja: encender LED verde
} else if (temperatura >= 20 && temperatura < 30) {
digitalWrite(ledAmarillo, HIGH); // Temperatura moderada: encender LED amarillo
} else {
digitalWrite(ledRojo, HIGH); // Temperatura alta: encender LED rojo
}
// Esperamos 2 segundos antes de leer la temperatura nuevamente
delay(2000);
}