#include <DHT.h>
#include <Servo.h>
#define DHTPIN A0
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
float humedad;
float temperaturaC;
float temperaturaF;
float temperaturaK;
int LedAlertaTemp = 9;
int TempOk = 8;
int LedAlertaHum = 5;
int HumOk = 4;
Servo servoTemp;
Servo servoHum;
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(LedAlertaTemp, OUTPUT);
pinMode(LedAlertaHum, OUTPUT);
pinMode(TempOk, OUTPUT);
pinMode(HumOk, OUTPUT);
servoTemp.attach(10);
servoHum.attach(11);
Serial.println("Humedad, Celsius, Fahrenheith, Kelvin");
}
void loop() {
humedad = dht.readHumidity();
temperaturaC = dht.readTemperature();
temperaturaF = dht.readTemperature(true);
temperaturaK = temperaturaC + 273.15;
Serial.print(humedad);
Serial.print(", ");
Serial.print(temperaturaC);
Serial.print(", ");
Serial.print(temperaturaF);
Serial.print(", ");
Serial.println(temperaturaK);
// generar alerta de
// temperatura mayor o igual a 30°C
// humedad mayor o igual 60%
if(temperaturaC >= 30)
{
digitalWrite(LedAlertaTemp, HIGH);
digitalWrite(TempOk, LOW);
servoTemp.write(110);
}
else
{
digitalWrite(LedAlertaTemp, LOW);
digitalWrite(TempOk, HIGH);
servoTemp.write(0);
}
if(humedad>=60)
{
digitalWrite(LedAlertaHum, HIGH);
digitalWrite(HumOk, LOW);
servoHum.write(180);
}
else
{
digitalWrite(LedAlertaHum, LOW);
digitalWrite(HumOk, HIGH);
servoHum.write(0);
}
delay(2000);
}