#include <DHT.h>
#define DHT_PIN 4
#define DHTTYPE DHT22
// Definición de variables
#define TEMPERATURA_MAXIMA 45
#define HUMEDAD_MINIMA 25
#define HUMEDAD_MAXIMA 60
#define LED_TEMPERATURA 14
#define LED_HUMEDAD 15
int BOTON_VERDE=27;
int BOTON_ROJO=26;
// Inicializa el sensor DHT22
DHT dht(DHT_PIN, DHTTYPE);
void setup() {
pinMode(LED_TEMPERATURA, OUTPUT);
pinMode(LED_HUMEDAD, OUTPUT);
pinMode(BOTON_VERDE, INPUT);
pinMode(BOTON_ROJO, INPUT);
dht.begin();
Serial.begin(9600);
}
void loop() {
/*if (isnan(temperatura) || isnan(humedad)) {
Serial.println("Error al leer el sensor DHT");
return;
}*/
float temperatura = dht.readTemperature();
Serial.print("Temperatura ");
Serial.println(temperatura);
if (temperatura > TEMPERATURA_MAXIMA) {
digitalWrite(LED_TEMPERATURA, HIGH);
} else {
digitalWrite(LED_TEMPERATURA, LOW);
}
float humedad = dht.readHumidity();
Serial.print("Humedad ");
Serial.println(humedad);
if (humedad < HUMEDAD_MINIMA || humedad > HUMEDAD_MAXIMA) {
digitalWrite(LED_HUMEDAD, HIGH);
} else {
digitalWrite(LED_HUMEDAD, LOW);
}
if (digitalRead(BOTON_VERDE) == HIGH || digitalRead(BOTON_ROJO) == HIGH) {
digitalWrite(LED_TEMPERATURA, LOW);
digitalWrite(LED_HUMEDAD, LOW);
delay (2000);
}
delay(100);
}