#include <DHT.h>;
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#define DHTPIN 7
#define DHTTYPE DHT22
int LEDM = 13;
int LEDK = 12;
int LEDH = 11;
int ledM = 5;
int ledK = 4;
int ledH = 3;
int buzzer = 2;
int Buzzer = 6;
DHT dht(DHTPIN, DHTTYPE);
float t; //Variabel penampung nilai suhu
float hum;
float temp;
void setup(){
Serial.begin(9600);
Serial.println("RIZKI.ADRIAN");
Serial.println("Suhu dan Kelembaban test");
dht.begin();
lcd.init();
lcd.backlight();
lcd.setCursor(4, 0);
lcd.print("Welcome");
lcd.setCursor(5, 1);
lcd.print("RIZKI.A!");
delay(1000);Serial.begin(9600); //Mulai komunikasi serial
pinMode(LEDM, OUTPUT); //Setting LED sebagai output
pinMode(LEDK, OUTPUT);
pinMode(LEDH, OUTPUT);
}
void loop(){
hum = dht.readHumidity();
temp= dht.readTemperature();
t = dht.readTemperature();
Serial.print("Lembab: ");
Serial.print(hum);
Serial.print(" %, Suhu: ");
Serial.print(temp);
Serial.println(" Celsius");
lcd.setCursor(0, 0);
lcd.print("Suhu : ");
lcd.print(temp);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Lembab : ");
lcd.print(hum);
lcd.print(" %");
if (t <= 30){
digitalWrite(LEDM, LOW);
digitalWrite(LEDK, LOW);
digitalWrite(LEDH, HIGH);
}
else if (t <= 35){
digitalWrite(LEDM, LOW);
digitalWrite(LEDK, HIGH);
digitalWrite(LEDH, LOW);
}
else if (t > 35){
digitalWrite(LEDM, HIGH);
digitalWrite(LEDK, LOW);
digitalWrite(LEDH, LOW); tone(buzzer, 1000);
delay(100);
tone(buzzer, 500);
delay(100);
}
delay(1000);
if (hum <= 40){
digitalWrite(ledM, LOW);
digitalWrite(ledK, LOW);
digitalWrite(ledH, HIGH);
}
else if (hum <= 45){
digitalWrite(ledM, LOW);
digitalWrite(ledK, HIGH);
digitalWrite(ledH, LOW);
}
else if (hum > 45){
digitalWrite(ledM, HIGH);
digitalWrite(ledK, LOW);
digitalWrite(ledH, LOW); tone(buzzer, 1000);
delay(100);
tone(buzzer, 500);
delay(100);
}
delay(1000);
}