#include <DHT.h>
#include <BH1750.h>
#define pindht 26
#define tipodht DHT22
#define pincalor 27
#define pinfrio 14
#define led 32
#define humificador 5
const int tempalta = 23;
const int tempbaja = 19;
bool coolerON = false
BH1750 sensorluz;
DHT dht(pindht, tipodht);
void setup() {
pinMode(led, OUTPUT);
pinMode(pincalor, OUTPUT);
pinMode(pinfrio, OUTPUT);
pinMode(humificador, OUTPUT);
Serial.begin(115200);
sensorluz.begin(BH1750::CONTINUOUS_LOW_RES_MODE);
dht.begin();
}
void loop() {
float temperatura = dht.readTemperature();
float humedad = dht.readHumidity();
float luz = sensorluz.readLightLevel
analogWrite(led, 64);
if (isnan(temperatura) || isnan(humedad)) {
Serial.println("El sensor DHT no está midiendo.");
} else{
Serial.println("Humedad: " + String(h,0) + " Temperatura: " + String(t) + " °C");
}
if (isnan(luz)) {
Serial.println("El sensor BH1750 no está midiendo.");
}
if (humedad < 86 || humedad > 94) {
digitalWrite(humificador, LOW;
} else {
digitalWrite(humificador, HIGH);
}
if (temperatura < 11) {
digitalWrite(pinfrio, LOW);
digitalWrite(pincalor, HIGH);
} else if (temperatura > 15) {
digitalWrite(pinfrio, HIGH);
digitalWrite(pincalor, LOW);
} else {
digitalWrite(pinfrio, LOW);
digitalWrite(pincalor, LOW);
}
if (temperatura > tempalta && !coolerON)
{
digitalWrite(pinfrio, HIGH);
coolerON = true;
}
else if (temperatura < tempbaja && coolerON){
digitalWrite(pinfrio, LOW);
coolerON = false;
}
delay(1000);
}