const int LDR = 4;
const int LED = 5;
float lux = 0;
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT);
}
void loop() {
int input_val = analogRead(LDR); // Membaca nilai analog dari sensor LDR
lux = analogToLux(input_val); // Mengonversi nilai bacaan analog ke lux
Serial.print("Light intensity (lux): ");
Serial.println(lux);
delay(1000);
if (lux > 800) {
digitalWrite(LED, HIGH);
delay(5000);
} else {
digitalWrite(LED, LOW);
delay(5000);
}
}
// Fungsi untuk mengonversi nilai bacaan analog menjadi lux
float analogToLux(int analogValue) {
// Misalnya, Anda memiliki persamaan untuk mengonversi nilai analog ke lux,
// Anda bisa menulisnya di sini.
// Contoh:
// float luxValue = analogValue * (maximum_light_intensity / maximum_analog_value);
// Di mana maximum_light_intensity adalah nilai maksimum dalam lux yang bisa diukur oleh sensor
// dan maximum_analog_value adalah nilai analog maksimum yang dapat dibaca oleh mikrokontroler.
// Anda perlu mengacu pada lembar data sensor untuk menemukan nilai-nilai yang sesuai.
// Penggunaan persamaan ini hanya sebagai contoh.
float luxValue = analogValue * (1000.0 / 1023.0); // Misalnya, faktor konversi sederhana
return luxValue;
}