#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4); // Inisialisasi alamat LCD I2C: 0x27 (alamat umum)
const int PinLDR = A0; // Pin untuk membaca nilai potensiometer
const float R_fix = 1000;
const float V_in = 5.0;
#define LUX_CALC_SCALAR 125235178.3654270
#define LUX_CALC_EXPONENT -1.604568157
void setup() {
lcd.init(); // Inisialisasi LCD
lcd.backlight(); // Nyalakan backlight LCD
}
void loop() {
// Baca nilai dari potensiometer
int sensor = analogRead(PinLDR);
// Ubah nilai menjadi tegangan (dalam volt)
float V_out = sensor*V_in/1023;
float V_LDR = V_in - V_out;
float R_LDR = V_LDR / V_out*R_fix;
float Lux = LUX_CALC_SCALAR * pow(R_LDR, LUX_CALC_EXPONENT);
// Bersihkan layar LCD
lcd.clear();
// Tampilkan nilai ADC dan tegangan pada LCD
lcd.setCursor(0, 0);
lcd.print("App Sensor LDR");
// Tampilkan nilai Resistansi LDR dan Intensitas cahaya pada LCD
lcd.setCursor(0, 1);
lcd.print("RLDR: ");
lcd.print(R_LDR);
lcd.setCursor(0, 2);
lcd.print("In_Cahaya:");
lcd.print(Lux);
delay(1000); // Tunda selama 0.5 detik
}