#include <math.h> // Biblioteca matemática para funciones logarítmicas
const int ldrPin = A0; // Pin analógico donde se conecta el divisor
const float R = 10000.0; // Resistencia fija del divisor (10kΩ)
void setup() {
Serial.begin(9600);
Serial.println("Medición de iluminación en lux");
}
void loop() {
// Leer valor del ADC (0 a 1023)
int raw = analogRead(ldrPin);
// Convertir lectura en voltaje (Vout = raw * Vref / 1023)
float Vout = raw * (5.0 / 1023);
// Evitar división por cero
if (Vout == 0) Vout = 0.001;
// Cálculo de la resistencia del LDR (ley del divisor de tensión)
float R_ldr = (5.0 * R / Vout) - R;
float lux = 800.69 * pow(10, ( -1.14 * log10(R_ldr) + 5.0 )); // Fórmula ejemplo deshecha
// Mostrar resultados en el monitor serie
Serial.print("Voltaje: ");
Serial.print(Vout);
Serial.print(" V | Resistencia LDR: ");
Serial.print(R_ldr);
Serial.print(" ohm | Iluminancia: ");
Serial.print(lux);
Serial.println(" lux");
delay(1000); // Espera 1 segundo antes de la próxima lectura
}