#include "DHTesp.h"
#include "ESP32Servo.h"
int pinDHT = 12;
int pinServo = 2;
int pos = 0;
int tempMax = 70;
int tempMin = 20;
int humMin = 20;
int humMax = 80;
int vent = 13;
int brillo = 0;
double hume = 0;
double temp = 0;
DHTesp dht;
Servo servo;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
dht.setup(pinDHT, DHTesp::DHT22);
//dht.setup(pinDHT2, DHTesp::DHT22);
servo.attach(pinServo, 500, 2500);
pinMode(vent, OUTPUT);
}
void loop() {
TempAndHumidity data = dht.getTempAndHumidity();
if (data.humidity < humMin) {
Serial.println("Humedad inferior al minimo....actuando con servomotor");
for (pos = 90; pos >= 0; pos --) {
//Movemos el servo a los grados que le entreguemos
servo.write(pos);
//Esperamos 15 milisegundos
delay(15);
}
data = dht.getTempAndHumidity();
} else if (data.humidity > humMax) {
Serial.println("Humedad superior al minimo....actuando con servomotor");
for (pos = 0; pos >= 90; pos++) {
servo.write(pos);
delay(15);
}
} else {
Serial.println("Humedad adecuada");
}
if(data.temperature < tempMin){
Serial.println("Temperatura inferior al minimo....actuando con foco");
for(brillo = 0; brillo <= 256; brillo++){
analogWrite(vent, brillo);
delay(10);
}
data = dht.getTempAndHumidity();
} else if (data.temperature > tempMax){
Serial.println("Temperatura superior al máximo....actuando con foco");
for(brillo = 256; brillo >= 0; brillo--){
analogWrite(vent, brillo);
delay(10);
}
} else {
Serial.println("Temperatura adecuada");
}
delay(1000);
}