#include <DHT.h>
#define DHTPIN 22 // Pin del sensor de temperatura
#define DHTTYPE DHT22 // Tipo de sensor DHT (DHT11 o DHT22)
#define VENTILADOR_PIN 12 // Pin para el control del ventilador
#define LED_CALIENTE 16 // Pin para el LED que indica temperatura alta
#define LED_FRIO 15 // Pin para el LED que indica temperatura normal
#define POTENTIOMETER_PIN 34 // Pin para la lectura del potenciómetro
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
pinMode(VENTILADOR_PIN, OUTPUT);
pinMode(LED_CALIENTE, OUTPUT);
pinMode(LED_FRIO, OUTPUT);
}
void loop() {
// Lectura de la temperatura y humedad
float temperatura = dht.readTemperature();
// Lectura del valor del potenciómetro
int valorPotenciometro = analogRead(POTENTIOMETER_PIN);
int temperaturaUmbral = map(valorPotenciometro, 0, 4095, 0, 100); // Mapear el valor del potenciómetro a un rango de temperaturas
Serial.print("Temperatura: ");
Serial.println(temperatura);
// Verificar si la temperatura supera el umbral
if (temperatura >= temperaturaUmbral) {
digitalWrite(LED_CALIENTE, HIGH); // Encender LED de temperatura alta
digitalWrite(LED_FRIO, LOW); // Apagar LED de temperatura normal
digitalWrite(VENTILADOR_PIN, HIGH); // Encender ventilador
} else {
digitalWrite(LED_CALIENTE, LOW); // Apagar LED de temperatura alta
digitalWrite(LED_FRIO, HIGH); // Encender LED de temperatura normal
digitalWrite(VENTILADOR_PIN, LOW); // Apagar ventilador
}
delay(1000); // Esperar un segundo antes de la próxima lectura
}