#include <LiquidCrystal_I2C.h>
#include <Servo.h>
#include "DHT.h"
#define DHTPIN 13 // DHT PIN 13
#define DHTTYPE DHT22 // DHT22 (AM2302), AM2321
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo myservo;
int led = 2;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
Serial.println("Sistem Monitoring Suhu dan Kelembaban");
dht.begin();
myservo.attach(3);
pinMode(led, OUTPUT);
}
void loop() {
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
delay(1000);
//menampilkan lcd
lcd.setCursor(0,0);
lcd.println("Suhu:");
lcd.print(t);
lcd.println(" C");
lcd.setCursor(0,1);
lcd.println("Lembab:");
lcd.print(h);
lcd.println(" %");
//menampilkan serial
Serial.print("Suhu: ");
Serial.print(t);
Serial.print(" *C\t");
Serial.print("Kelembaban: ");
Serial.print(h);
Serial.println(" %");
if ( t > 30){
digitalWrite(led, HIGH);
myservo.write(45); // Turn Servo ke kiri 45 degrees
delay(1000);
myservo.write(0); // Turn Servo ke kiri to 0 degrees
delay(1000);
myservo.write(90); // Turn Servo ke posisi center position (90 degrees)
delay(1000);
} else {
digitalWrite(led, LOW);
myservo.write(135); // Turn Servo Ke kanan 135 degrees
delay(1000);
myservo.write(180); // Turn Servo ke kanan 180 degrees
delay(1000);
myservo.write(90); // Turn Servo ke posisi center position (90 degrees)
delay(1000);
}
}