#define LDR_PIN 14
const float GAMMA = 0.7;
const float RL10 = 33;
void setup() {
Serial.begin(9600);
pinMode(LDR_PIN, INPUT);
}
void loop() {
int analogValue = analogRead(LDR_PIN);
//https://wokwi.com/projects/377699965857221633
float voltage = analogValue / 4095. * 3.3;
float resistance = 2000 * voltage / (1 - voltage / 3.3);
float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
if(analogValue >= 1016){
Serial.println("Vollmond");
Serial.println(lux);
}
else if(analogValue >= 985){
Serial.println("Tiefe Dämmerung");
Serial.println(lux);
}
else if(analogValue >= 853){
Serial.println("Dämmerung");
Serial.println(lux);
}
else if(analogValue >= 633){
Serial.println("Computer Monitor");
Serial.println(lux);
}
else if(analogValue >= 511){
Serial.println("Treppenhausbeleuchtung");
Serial.println(lux);
}
else if(analogValue >= 281){
Serial.println("Bürobeleuchtung");
Serial.println(lux);
}
else if(analogValue >= 170){
Serial.println("Bedeckter Tag");
Serial.println(lux);
}
else if(analogValue >= 39){
Serial.println("Voller Tageslicht");
Serial.println(lux);
}
else if(analogValue >= 8){
Serial.println("Direktes Sonnenlicht");
Serial.println(lux);
}
else {
Serial.println("Sehr Dunkel oder Kein Licht");
Serial.println(lux);
}
delay(500);
}