Fotoresistencia (LDR) y Arduino

En temas pasados se vió el uso de las entradas analógicas en la tarjeta Arduino, que a diferencia de las entradas digitales, nos permiten medir valores contínuos, como podría ser leer la posición de una perilla o la intensidad de luz en una habitación.

Una fotoresistencia o resistor dependiente de la luz (LDR por sus siglas en inglés) se puede ver como una resistencia variable, que puede cambiar su valor resistivo (Ohms) dependiendo la luz que se le aplique. Típicamente los valores oscilan entre 0 Ω y hasta 10 MΩ, dependiendo el modelo de la fotoresistencia, entregan un valor cercano a los 0 Ω cuando se expone a una luz intensa y llega a su valor resistivo máximo en la obscuridad.

Al utilizar una de estas fotoresistencias y conectarla junto a otra resistencia formando un divisor de voltaje, se puede generar un voltaje cambiante análogo a la intensidad de luz detectada. El resultado sería un sensor de luz.

Un divisor de voltaje es un arreglo de dos resistencias en serie que al estar conectada una de ellas a tierra y la otra a un determinado voltaje por ejemplo 5 V, el voltaje que se mida en la unión de las dos resistencias estará dividido en una proporción dada por la fórmula arriba descrita.

Si una de estas dos resistencias es una fotoresistencia, el voltaje resultante cambiará al igual que cambie el valor resistivo de esta, lo que se puede aprovechar para leer con una entrada analógica de la tarjeta Arduino.

Un valor apropiado para probar sería una resistencia de 10 kΩ, que conectado todo en la protoboard quedaría de la siguiente forma:

Dado que el convertidor A/D del Arduino UNO es de 10 bits, los valores medidos estarán en el rando de 0 a 1023, un programa simple para mostrar en el monitor serial el valor medido sería:

int valor = 0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  valor = analogRead(A0);
  Serial.print("Valor analógico: ");
  Serial.println(valor);
  delay(100);
}

Ejercicios:

9B: Identificar los valores máximo y mínimo que se obtienen al exponer la fotoresistencia a la luz y obscuridad, se puede utilizar una linterna.

9C: Determinar la luz ambiente que se tenga en la habitación, y si se cuenta con un foco o lampara en la habitación, enviar al monitor serial un mensaje indicando si está «Encendido» o «Apagado» el foco.

9D: Encender un LED cuando la luz de la habitación esté apagada.

 

Si alguien logró resolver alguno de estos ejercicios, puede publicar su código en los comentarios aquí abajo, de modo que entre todos se puedan ayudar.

(1798)

Acerca de jfvilla

Juan Francisco Villa Medina es ingeniero en Sistemas Computacionales (graduado con mención honorífica), en 2013 obtuvo el grado de Maestro en Sistemas Computacionales (graduado con mención honorífica), en 2021 obtuvo el grado de Doctor en Ciencias por el Instituto Politécnico Nacional (IPN), es Profesor-Investigador en la Universidad Autónoma de Baja California Sur (UABCS). Trabaja también en el Centro de Investigaciones Biológicas del Noroeste (CIBNOR), donde es desarrollador de software y circuitos electrónicos enfocado en vehículos autónomos. Cuenta con diversas publicaciones científicas y ha sido asesor de estudiantes en diversos eventos de tecnología a nivel nacional. También es co-fundador de 7robot, una empresa de tecnología enfocada a la robótica y automatización.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *