#define AO_LDR 36
#define DARK_THRESHOLD 1500
const float RESISTOR_VALUE = 10000.0;
float voltage = 0.0;
float resistance = 0.0;
float current = 0.0;
float frequency = 0.0;
void setup() {
Serial.begin(115200);
}
void loop() {
unsigned long currentMillis = millis();
int Kecerahan = analogRead(AO_LDR);
voltage = Kecerahan * (3.3 / 4095.0);
resistance = (3.3 * RESISTOR_VALUE) / (voltage * (3.3 - voltage) / 10000.0);
current = voltage / RESISTOR_VALUE;
frequency = 1 / (2 * (3.3 - voltage));
Serial.print("Kecerahan: ");
Serial.print(Kecerahan);
Serial.println(" lux");
Serial.print("Tegangan: ");
Serial.print(voltage);
Serial.print(" V, Hambatan: ");
Serial.print(resistance);
Serial.print(" ohm, Arus: ");
Serial.print(current * 1000);
Serial.print(" mA, Frekuensi: ");
Serial.print(frequency);
Serial.print(" Hz ");
if (Kecerahan <= DARK_THRESHOLD) {
Serial.println("TERANG");
} else {
Serial.println("GELAP");
}
delay(1000);
}