#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C LCD dan ukuran (16 kolom, 2 baris)
const int ldrPin = A0; // Pin analog untuk sensor LDR
const int relay1Pin = 8; // Pin digital untuk relay 1
const int relay2Pin = 9; // Pin digital untuk relay 2
void setup() {
lcd.begin(16, 2); // Inisialisasi LCD
pinMode(ldrPin, INPUT);
pinMode(relay1Pin, OUTPUT);
pinMode(relay2Pin, OUTPUT);
}
void loop() {
int ldrValue = analogRead(ldrPin);
int lux = map(ldrValue, 0, 1023, 0, 100); // Mengonversi nilai ADC ke nilai lux
lcd.clear(); // Membersihkan layar LCD
lcd.setCursor(0, 0);
lcd.print("LDR Value: ");
lcd.print(ldrValue);
lcd.setCursor(0, 1);
lcd.print("Lux: ");
lcd.print(lux);
// Mengontrol relay berdasarkan nilai LDR
if (lux < 50) {
digitalWrite(relay1Pin, HIGH); // Mengaktifkan relay 1
delay(5000);
digitalWrite(relay1Pin, LOW);
}
if (lux > 50) {
digitalWrite(relay2Pin, HIGH); // Mematikan relay 1
delay(5000);
digitalWrite(relay2Pin, LOW);
}
delay(1000);; // Jeda 1 detik
}