//***********************************
//********** ACTIVIDAD 1 ************
//********JOSE A. BUCHELI C.*********
//*********27 DE ABRIL DEL 2024******
//***********************************
// Libreria DHT22
#include <DHT.h>
// definimos los pines que vamos a utilizar del sensor DHT22
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
// Definimos las variables para la humedad y temperatura
float humedad;
float celsius;
// Definimos variables para utilizar en los pulsadores
int Recal1;
int Recal2;
// Variables Auxiliares
int contadorT;
int contadorH;
// Definimos los pines que se utilizan para los botones y leds, del esp32.
int Boton1 = 14;
int Boton2 = 13;
int Led1=4;
int Led2 = 0;
void setup() {
dht.begin(); // Inicializar DHT22
pinMode(Led1, OUTPUT); // Asignación de pin de salida para el led rojo.
pinMode(Led2, OUTPUT); // Asignación de pin de salida para el led azul.
pinMode(Boton1, INPUT); // Asignación de pin de entrada para el boton verde.
pinMode(Boton2, INPUT); // Asignación de pin de entrada para el boton azul.
// Contador Auxiliares
contadorT=0;
contadorH=0;
Serial.begin(115200); // Iniciamos la ESP32
}
void loop() {
Recal1= digitalRead(Boton1); //Reconocimiento alarma 1
Recal2= digitalRead(Boton2); //Reconocimiento alarma 2
// Lectura del DHT22 para Humedad y Temperatura
humedad = dht.readHumidity();
celsius = dht.readTemperature();
Serial.print("Temperatura en Celsius: ");
Serial.println(celsius);
Serial.print("Humedad del ambiente: ");
Serial.println(humedad);
Serial.println("---");
// Bucle para encender y apagar alarmas
// Temperatura
if (celsius <= 45 && contadorT==0)
{
digitalWrite(Led1, HIGH);
contadorT=1;
}
else
{
digitalWrite(Led1, LOW);
contadorT=0;
}
// Humedad
if ((humedad <= 25 || humedad >= 60) && contadorH==0)
{
digitalWrite(Led2, HIGH);
contadorH=1;
}
else
{
digitalWrite(Led2, LOW);
contadorH=0;
}
// Bucle para urilizar los pulsadores y apagar las alarmas.
if (contadorT=1 && (Recal1==HIGH || Recal2==HIGH))
{
digitalWrite(Led1, LOW);
contadorT=1;
}
if (contadorH=1 && (Recal1==HIGH || Recal2==HIGH))
{
digitalWrite(Led1, LOW);
contadorH=1;
}
delay(500);
}