#include <DHT.h>
#define DHTPIN 13 // Pin donde está conectado el sensor de temperatura
#define DHTTYPE DHT22 // Tipo de sensor (puede ser DHT11, DHT22, etc.)
DHT dht(DHTPIN, DHTTYPE);
#define LED1 19
#define LED2 18
#define LED3 17
#define RELAY 2
void setup() {
Serial.begin(115200);
dht.begin();
// Configuramos los pines de los LEDs como salida
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(RELAY, OUTPUT);
// Inicialmente apagamos todos los LEDs y el relé
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(RELAY, LOW);
}
void loop() {
// Leemos la temperatura del sensor
float temperatura = dht.readTemperature();
// Verificamos si la lectura fue exitosa
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");
// Encendemos/apagamos los LEDs según la temperatura
if (temperatura <= 30) {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
} else if(temperatura >=30 && temperatura < 60){
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, LOW);
}
else if(temperatura >=80){
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, HIGH);
}
digitalWrite(RELAY, temperatura < 80 ? HIGH : LOW);
// Esperamos un segundo antes de la próxima lectura
delay(1000);
}