#define ldrPin A0 // LDR terhubung ke pin analog A0
#define lampPin 3 // Lampu terhubung ke pin digital 13 (LED bawaan)
const float gama = 0.7; // Faktor koreksi gamma sensor
const float rl10 = 50; // Resistansi pada 10 lux (ohm), sesuaikan dengan sensor Anda
void setup() {
Serial.begin(9600);
pinMode(lampPin, OUTPUT); // Set pin lampu sebagai output
}
void loop() {
int nilaiLDR = analogRead(ldrPin); // Membaca nilai LDR
float voltase = nilaiLDR / 1024.0 * 5.0; // Mengonversi ke voltase (Arduino Uno menggunakan ADC 10-bit)
float resistansi = 2000 * voltase / (5.0 - voltase); // Menghitung resistansi LDR
// Kalibrasi hubungan antara resistansi LDR dan intensitas cahaya (lux)
// Anda mungkin perlu menyesuaikan konstanta ini untuk mencocokkan sensor LDR Anda
float kecerahan = pow((rl10 * 1e3) / resistansi, (1.0 / gama)); // Menghitung intensitas cahaya (lux)
Serial.print("Kecerahan = ");
Serial.println(kecerahan);
// Jika intensitas cahaya di bawah 200 lux, hidupkan lampu
if (kecerahan < 200) {
digitalWrite(lampPin, HIGH); // Hidupkan lampu
} else {
digitalWrite(lampPin, LOW); // Matikan lampu
}
delay(1000); // Tunggu 1 detik sebelum pembacaan berikutnya
}