//pembuat program: ........
int ldrPin1 = 18; // LDR pin 1 (por ejemplo: pin 34)
int ldrPin2 = 17; // LDR pin 2 (por ejemplo: pin 35)
int ldrVal1 = 0; // Valor del primer LDR
int ldrVal2 = 0; // Valor del segundo LDR
// Características de los LDR
const float GAMMA = 0.7;
const float RL10 = 50;
void setup() {
Serial.begin(9600); // Inicializar el monitor serial
}
void loop() {
// Leer el valor analógico del primer LDR
ldrVal1 = analogRead(ldrPin1);
// Leer el valor analógico del segundo LDR
ldrVal2 = analogRead(ldrPin2);
// Convertir los valores a voltajes
float voltage1 = ldrVal1 / 4095. * 3.3; // Para ESP32-S3, analogRead() devuelve un valor de 12 bits
float voltage2 = ldrVal2 / 4095. * 3.3;
// Calcular la resistencia de los LDRs
float resistance1 = 2000 * voltage1 / (1 - voltage1 / 3.3);
float resistance2 = 2000 * voltage2 / (1 - voltage2 / 3.3);
// Calcular la intensidad de luz en lux para cada LDR
float lux1 = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance1, (1 / GAMMA));
float lux2 = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance2, (1 / GAMMA));
// Mostrar los valores en el monitor serial
Serial.print("LDR1: ");
Serial.print(lux1);
Serial.print(" lux | LDR2: ");
Serial.print(lux2);
Serial.println(" lux");
delay(1000); // Esperar 1 segundo antes de la siguiente lectura
}