#include <DHT.h>
#define DHTPIN 2 // Pin donde esta conectado el sensor DHT22
#define DHTTYPE DHT22 // Tipo de sensor DHT22
#define UMBRAL_TEMPERATURA 45 // Umbral de temperatura para la alarma (45 grados Celsius)
#define HUMEDAD_MIN 25 // Valor minimo de humedad para la alarma (25%)
#define HUMEDAD_MAX 60 // Valor maximo de humedad para la alarma (60%)
#define LEDPINTEMPERATURA 14 // Pin donde esta conectado el LED de alerta de temperatura
#define LEDPINHUMEDAD 15 // Pin donde esta conectado el LED de alerta de humedad
#define BOTON1 26 // Pin donde esta conectado el primer boton
#define BOTON2 27 // Pin donde esta conectado el segundo boton
DHT dht(DHTPIN, DHTTYPE);
unsigned long anteriorMilisec = 0;
const long intervalo = 1000; // intervaloo de 1 segundo
void setup() {
pinMode(LEDPINTEMPERATURA, OUTPUT);
pinMode(LEDPINHUMEDAD, OUTPUT);
pinMode(BOTON1, INPUT_PULLUP);
pinMode(BOTON2, INPUT_PULLUP);
dht.begin();
Serial.begin(9600);
}
void loop() {
unsigned long actualMilisec = millis();
float temperatura ; // Lee la temperatura
float humedad ; // Lee la humedad
// Verifica si ha pasado 1 segundo desde la ultima ejecucion
// if (actualMilisec - anteriorMilisec >= intervalo) {
// Actualiza el tiempo de referencia
anteriorMilisec = actualMilisec;
//float temperatura = dht.readTemperature(); // Lee la temperatura
//float humedad = dht.readHumidity(); // Lee la humedad
temperatura = 50; // Lee la temperatura
humedad = 63; // Lee la humedad
// Mostrar los datos de la temperatura y humedad
Serial.print("Humedad: ");
Serial.print(humedad);
Serial.print(" %, Temperatura: ");
Serial.print(temperatura);
//Serial.println(" Celsius");
Serial.println(" °C");
if (temperatura > UMBRAL_TEMPERATURA) {
digitalWrite(LEDPINTEMPERATURA, HIGH); // Enciende el LED de alerta de temperatura
} else {
digitalWrite(LEDPINTEMPERATURA, LOW); // Apaga el LED de alerta de temperatura
}
if (humedad < HUMEDAD_MIN || humedad > HUMEDAD_MAX) {
digitalWrite(LEDPINHUMEDAD, HIGH); // Enciende el LED de alerta de humedad
} else {
digitalWrite(LEDPINHUMEDAD, LOW); // Apaga el LED de alerta de humedad
}
//}
// Verifica si se presiono alguno de los botones para apagar los LEDs
if (digitalRead(BOTON1) == LOW || digitalRead(BOTON2) == LOW) {
digitalWrite(LEDPINTEMPERATURA, LOW);
digitalWrite(LEDPINHUMEDAD, LOW);
temperatura = 30; // Lee la temperatura
humedad = 50; // Lee la humedad
}
Serial.print("Estatus de boton de Temperatura: "); Serial.println(BOTON1);
Serial.print("Estatus de boton de Humedad: "); Serial.println(BOTON2);
//delay(1000); // Espera 1 segundo antes de volver a verificar
}