#include "RTClib.h"
#include <DHT.h>
#include <Servo.h>
#include <LiquidCrystal_I2C.h>
#define DHTTYPE DHT22
int sensor = A1;
int isitici=3;
int cevirme=5;
int pot=0;
int dakika=0;
int pos = 0;
LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo myServo;
Servo servoM;
DHT dht(sensor, DHTTYPE);
RTC_DS1307 rtc;
void setup() {
Serial.begin(9600);
dht.begin();
rtc.begin();
lcd.begin(16,2);
lcd.backlight();
delay(1000);
pinMode(isitici, OUTPUT);
pinMode(cevirme, OUTPUT);
myServo.attach(7);
servoM.attach(9);
}
void loop() {
DateTime now = rtc.now();
float nem = dht.readHumidity();
float sicaklik = dht.readTemperature();
pot= 69 -dht.readHumidity();
dakika=now.minute();
if (sicaklik > 38){
digitalWrite(isitici, LOW);
}
else if (sicaklik < 36.5){
digitalWrite(isitici, HIGH);
}
delay(10);
if (nem< 70){
myServo.write(pot);
}
else{
myServo.write(0);
}
delay(10);
if (dakika ==59){
delay(10);
for (pos = 0; pos <= 45; pos += 1)
delay(20);
servoM.write(pos);
delay(30);
}
else{
for (pos = 45; pos >= 0; pos -= 1)
delay(20);
servoM.write(pos);
delay(30);
}
delay(10);
lcd.setCursor(0,0);
lcd.print("C: ");
lcd.setCursor(2,0);
lcd.print(sicaklik);
lcd.setCursor(12,0);
lcd.print("T: ");
lcd.setCursor(14,0);
lcd.print(dakika);
lcd.setCursor(0,1);
lcd.print("\t%: ");
lcd.setCursor(2,1);
lcd.print(nem);
lcd.setCursor(12,1);
lcd.print("P: ");
lcd.setCursor(14,1);
lcd.print(pot);
delay(100);
delay(100);
}