#include "DHT.h"
#include <Wire.h>
#include <Servo.h>
#define DHTPIN 5
#define DHTTYPE DHT22
const int servoPin = 3;
const int minTemperature = -40;
const int maxTemperature = 80;
DHT dht(DHTPIN, DHTTYPE);
Servo servo1;
void setup() {
Serial.begin(9600);
servo1.attach(servoPin);
servo1.write(0);
dht.begin();
}
void loop() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" *C");
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
controlServo(temperature);
}
void controlServo(float temperature) {
if (temperature >= minTemperature && temperature <= 10) {
servo1.write(0);
} else if (temperature > 10 && temperature <= 30) {
servo1.write(45);
} else if (temperature > 30 && temperature <= 50) {
servo1.write(90);
} else if (temperature > 50 && temperature <= 70) {
servo1.write(135);
} else if (temperature > 50 && temperature <= maxTemperature) {
servo1.write(180);
}
}