#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 16
#define LCD_LINES 2
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
// Deklarasi pin
const int ldrPin1 = A0;
const int ldrPin2 = A1;
const int ledPin3 = 9;
const int ledPin2 = 8;
const int ledPin1 = 7;
const int threshold = 500;
void setup() {
// Inisialisasi pin LED sebagai output
pinMode(ledPin3, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin1, OUTPUT);
lcd.init();
lcd.backlight();
// Inisialisasi komunikasi serial
Serial.begin(9600);
}
void loop() {
// Membaca nilai dari pin LDR
int ldr1Value = analogRead(ldrPin1);
int ldr2Value = analogRead(ldrPin2);
// Mengirim nilai LDR ke Serial Monitor
// Mengecek apakah nilai LDR lebih rendah dari ambang batas
if ((ldr1Value > threshold) || (ldr2Value > threshold)) {
// Menyalakan LED
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin1, HIGH);
} else {
// Mematikan LED
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin1, LOW);
}
if ((ldr1Value < threshold)) {
lcd.setCursor(1,0);
lcd.print("in1=on ");
} else {
lcd.setCursor(1,0);
lcd.print("in1=off");
}
if ((ldr2Value < threshold)) {
lcd.setCursor(9,0);
lcd.print("in2=on ");
} else {
lcd.setCursor(9,0);
lcd.print("in2=off");
}
lcd.print(ldr1Value);
}