#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 LED_30 19
#define LED_60 18
#define LED_80 17
#define RELAY 2
void setup() {
Serial.begin(115200);
dht.begin();
// Configuramos los pines de los LEDs como salida
pinMode(LED_30, OUTPUT);
pinMode(LED_60, OUTPUT);
pinMode(LED_80, OUTPUT);
pinMode(RELAY, OUTPUT);
// Inicialmente apagamos todos los LEDs y el relé
digitalWrite(LED_30, LOW);
digitalWrite(LED_60, LOW);
digitalWrite(LED_80, 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(LED_30, HIGH);
digitalWrite(LED_60, LOW);
digitalWrite(LED_80, LOW);
} else if(temperatura >=30 && temperatura < 60){
digitalWrite(LED_30, LOW);
digitalWrite(LED_60, HIGH);
digitalWrite(LED_80, LOW);
}
else if(temperatura >=80){
digitalWrite(LED_30, LOW);
digitalWrite(LED_60, LOW);
digitalWrite(LED_80, HIGH);
}
digitalWrite(RELAY, temperatura < 80 ? HIGH : LOW);
// Esperamos un segundo antes de la próxima lectura
delay(1000);
}