#include <LiquidCrystal_I2C.h>
const int ldrPin = A0; // Pin analog sensor LDR
const int ledPin = 2; // Pin LED
const int contrast = 50; // Kontrast LCD
const int ldrThreshold = 500; // Ambang batas sensor LDR
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C LCD 16x2
void setup() {
Serial.begin(9600); // Inisialisasi komunikasi serial
pinMode(ledPin, OUTPUT); // Set pin LED sebagai output
lcd.begin(16, 2); // Inisialisasi LCD
lcd.setBacklight(LOW); // Matikan backlight LCD
lcd.setCursor(0, 0);
lcd.print("Nilai LDR:");
analogWrite(contrast, 255); // Set kontrast LCD
}
void loop() {
int ldrValue = analogRead(ldrPin); // Baca nilai sensor LDR
Serial.println("Nilai LDR: " + String(ldrValue));
lcd.setCursor(0, 1);
lcd.print(" "); // Hapus nilai sebelumnya
lcd.setCursor(0, 1);
lcd.print(ldrValue); // Tampilkan nilai LDR di LCD
if (ldrValue < ldrThreshold) {
digitalWrite(ledPin, HIGH); // Hidupkan LED jika cahaya rendah
} else {
digitalWrite(ledPin, LOW); // Matikan LED jika cahaya cukup
}
delay(1000); // Tunggu sejenak sebelum membaca lagi
}