#define LIGHT_SENSOR_PIN 32
#define LED 26
const float gama = 0.7;
const float rl10 = 50;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(LED, OUTPUT);
}
void loop() {
int ldrValue = analogRead(LIGHT_SENSOR_PIN);
ldrValue = map(ldrValue, 4095, 0, 1024, 0); //mengubah nilai pembacaan sensor LDR dari nilai ADC arduino menjadi nilai ADC ESP32
float voltage = ldrValue / 1024.*5;
float resistance = 2000 * voltage / (1-voltage/5);
float brightness = pow(rl10*1e3*pow(10,gama)/resistance,(1/gama));
/*
Serial.print("Analog Value = ");
Serial.print(brightness);
Serial.println("");
*/
if (brightness > 0 && brightness <= 50){
digitalWrite(LED, HIGH);
Serial.println("Keadaan Gelap");
Serial.print("Analog Value = ");
Serial.print(brightness);
}else if (brightness > 50 && brightness <= 500){
digitalWrite(LED, HIGH);
Serial.println("Keadaan Redup");
Serial.print("Analog Value = ");
Serial.print(brightness);
}else if (brightness > 500 && brightness <= 2000){
digitalWrite(LED, LOW);
Serial.println("Keadaan Terang");
Serial.print("Analog Value = ");
Serial.print(brightness);
}else if (brightness > 2000){
digitalWrite(LED, LOW);
Serial.println("Keadaan sangat terang");
Serial.print("Analog Value = ");
Serial.print(brightness);
}
delay(500);
}