#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
#define DEBUG 1
#define DHTTYPE DHT 22
#define led 13
#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);
pinMode(led, OUTPUT);
servo.attach(servopin);
Serial.println("DHT22 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(10, 0);
lcd.print(h);
lcd.setCursor(12, 1);
lcd.print(t);
delay(2000);
}
if (!isnan(h))
{
if (h >= 70)
{
servo.write(0);
}
else if ((h >= 35) && (h <= 69))
{
servo.write(30);
}
else if (h <= 34)
{
servo.write(0);
}
}
}