#include <DHT.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN 13
#define DHTTYPE DHT22
#define LED 2
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(LED, OUTPUT);
LCD.init();
LCD.backlight();
// Menampilkan pesan awal di LCD
LCD.setCursor(0, 0);
LCD.print("Suhu-Kelembapan");
LCD.setCursor(0, 1);
LCD.print(" by RPL TJP");
delay(2000);
}
void loop() {
float suhu = dht.readTemperature();
float kelembapan = dht.readHumidity();
LCD.clear();
if ( suhu < 30) {
Serial.print("Suhu: ");
Serial.print(suhu);
Serial.println(" Celcius");
LCD.setCursor(0, 0);
LCD.print("Temp: " + String(suhu, 2) + " C");
Serial.print("Kelembapan: ");
Serial.print(kelembapan);
Serial.println(" %");
LCD.setCursor(0, 1);
LCD.print("Humi: " + String(kelembapan, 2) + " %");
digitalWrite(LED,LOW);
}
else {
Serial.print("Suhu: ");
Serial.print(suhu);
Serial.println(" Celcius");
LCD.setCursor(0, 0);
LCD.print("Temp: " + String(suhu, 2) + " C");
Serial.print("Kelembapan: ");
Serial.print(kelembapan);
Serial.println(" %");
LCD.setCursor(0, 1);
LCD.print("Humi: " + String(kelembapan, 2) + " %");
delay(1000);
LCD.clear();
LCD.setCursor(0, 0);
LCD.print("SUHU TERLALU");
LCD.setCursor(0,1);
LCD.print("TINGGI");
digitalWrite(LED, HIGH);
}
delay(1000);
}