#define LDR 36 // Pin Analog untuk LDR
// Rumus Ketetapan
const float GAMMA = 0.7;
const float RL10 = 50;
// Variabel untuk menampung data
int analogValue;
float voltage, resistance, lux;
// Fungsi ini hanya dijalankan sekali saat ESP32 dinyalakan
void setup() {
// Inisialisasi komunikasi serial (baudrate: 9600)
Serial.begin(9600);
delay(1000); // Tunda 1 detik biar serial siap
// Inisialisasi pin LDR sebagai INPUT
pinMode(LDR, INPUT);
}
// Fungsi ini dijalankan secara terus menerus saat ESP32 dinyalakan
void loop() {
// Membaca nilai analog dari sensor LDR (rentang 0–4095 untuk ADC ESP32)
analogValue = analogRead(LDR);
// Mengubah nilai analog menjadi tegangan
voltage = analogValue * 5 / 4095.0;
// Menghitung nilai resistansi LDR
resistance = 2000 * voltage / (1 - voltage / 5);
// Menghitung intensitas cahaya (lux)
lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
// Cetak di Serial Monitor: Intensitas Cahaya --> Nilai Intensitas Cahaya
Serial.println("Intensitas Cahaya --> " + String(lux));
delay(1000); // Tunda 1 detik
}