#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int ldrPin = A0;
#define ledPin 8
#define DHTPIN 7
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE); // Pastikan pustaka DHT sudah terinstal
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
dht.begin();
lcd.begin(16, 2);
lcd.backlight();
pinMode(ledPin, OUTPUT);
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("SENSOR SUHU");
lcd.setCursor(1, 1);
lcd.print("SENSOR CAHAYA");
delay(3000);
lcd.clear();
lcd.setCursor(3, 0);
lcd.print("KELOMPOK 5");
delay(3000);
lcd.clear();
lcd.setCursor(3, 0);
lcd.print("ADE RAFLY");
lcd.setCursor(4, 1);
lcd.print("BAEHAQI");
delay(2000);
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("INNEKE NURUL");
lcd.setCursor(4, 1);
lcd.print("FAUZIAH");
delay(2000);
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("MUHAMAD IVAN");
lcd.setCursor(4, 1);
lcd.print("RAMADHAN");
delay(2000);
}
void loop() {
float suhu = dht.readTemperature();
float kelembapan = dht.readHumidity();
int ldrValue = analogRead(ldrPin);
// Menampilkan data di Serial Monitor
Serial.print("Suhu: ");
Serial.print(suhu);
Serial.print(" °C, Kelembapan: ");
Serial.print(kelembapan);
Serial.print("%, Intensitas Cahaya: ");
Serial.println(ldrValue);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Suhu: ");
lcd.print(suhu);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("kelembapan: ");
lcd.print(kelembapan);
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Cahaya:");
lcd.print(ldrValue);
lcd.print(" Lux");
if (ldrValue < 300) { // Sesuaikan threshold sesuai kebutuhan
digitalWrite(ledPin, HIGH);
lcd.setCursor(5,1);
lcd.print("GELAP"); // LED ON
} else {
digitalWrite(ledPin, LOW);
lcd.setCursor(5,1);
lcd.print("TERANG"); // LED OFF
}
delay(2000);
}