#include <DHT.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Servo.h>
#define DEBUG 1
#define DHTYPE DHT22
#define DHTPIN 2
#define servopin 10
float h;
float t;
LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo servo;
DHT dht(DHTPIN, DHT22);
void setup() {
Serial.begin(9600);
servo.attach(servopin);
Serial.println("DHT start");
dht.begin();
lcd.init();
lcd.backlight();
servo.write(0);
}
void loop() {
lcd.clear();
lcd.home();
lcd.display();
h = dht.readHumidity();
t = dht.readTemperature();
if (isnan(h) || isnan(t))
{
lcd.home();
lcd.print("ERROR");
}
else
{
lcd.home();
lcd.print("Humidity: ");
lcd.setCursor(0, 1);
lcd.print("Temperature: ");
lcd.setCursor(9, 0);
lcd.print(h);
lcd.setCursor(12, 1);
lcd.print(t);
delay(1000);
}
if (!isnan(h))
{
if (h >= 70)
{
servo.write(0);
}
else if (h >= 30 && h <= 69)
{
servo.write(60);
}
else if (h <= 29)
{
servo.write(0);
}
}
}