Sensor de luz arduino mediante fotoresistencia LDR

Arduino y Electrónica

Arlex

Diseñador de tarjetas Pcb en las modalidades SMD, THT y combinaciones en una capa o dos capas, Diseñador de circuitos electrónicos análogos o digitales, Programador en sistemas computacionales y arquitectura electrónica, con diplomados en informática, electrónica digital, electrónica análoga, programador en lenguaje CC++ y programador HTML-SCC.

06/07/2019

En este post vamos a realizar un medidor de luz con nuestro Arduino uno, utilizaremos un Arduino con fotorresistencia LDR y mostraremos el resultado en un grupo de leds. El objetivo de este tutorial es aprender como conectar sensores que varían su resistencia dependiendo de una magnitud física. Un ejemplo de este tipo de sensores es el LDR o fototransistor, estudiaremos el funcionamiento de este componente y su conexión con la tarjeta Arduino UNO R3 mediante un divisor resistivo en el resto de este texto.

Conceptos manejados en este proyecto.

Para entender cómo funciona este circuito y el programa que corre en la tarjeta Arduino debemos conocer 3 conceptos clave:

  • Fotorresistencia LDR: Componente cuya resistencia varía sensiblemente con la cantidad de luz percibida. La relación entre la intensidad lumínica y el valor de la resistencia no es lineal. Se usa ampliamente para medir la iluminación en dispositivos electrónicos que requieren un precio agresivo. Su comportamiento es el siguiente:
    • Más luz = menor resistencia eléctrica
    • Menos luz = mayor resistencia eléctrica
  • Divisor de voltaje: Mediante un par de resistencias en serie, es posible repartir la tensión suministrada por la fuente entre las terminales de estas, en nuestro caso, el divisor se utiliza con el LDR para obtener un voltaje variable de acuerdo a la cantidad de luz percibida.
  • Conversión Analógico-Digital (ADC): Es el proceso mediante el cual se convierte una magnitud física como un voltaje, corriente, temperatura, etc. en un número binario (o señal digital) con el propósito de facilitar su manejo por circuitos digitales como un CPU. El Arduino realiza este proceso para conocer la cantidad de luz percibida por el LDR y poder procesarla numéricamente.

Materiales para el proyecto.

  • 1 Arduino UNO R3
  • 1 Fototransistor (LDR)
  • 1 Resistencia de 10 K 1/4 W
  • 3 Resistencias de 220 o 330 ohm 1/4 W
  • 3 Leds 5 mm
  • Cables para protoboart
  • Protoboart

Diagrama para utilizar Arduino con Fotorresistencia LDR

arduino con fotoresistencia LDR

Se arma el circuito como se muestra en el siguiente diagrama. Recuerda que los LED tienen polaridad y hay que respetarla. El pin más largo va conectado a la tarjeta Arduino, mientras que el pin más corto va con una resistencia tierra, la resistencia también puede colocarse sin problema entre el ánodo del led y el Arduino (del lado positivo del led):

Código (sketch) para Arduino uno.

// Pin donde se conectan los leds
int pinLed1 = 2;
int pinLed2 = 3;
int pinLed3 = 4; // Pin analogico de entrada para el LDR
int pinLDR = 0; // Variable donde se almacena el valor del LDR
int valorLDR = 0;
void setup()
{
// Configuramos como salidas los pines donde se conectan los led
pinMode(pinLed1, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinLed3, OUTPUT); //Configurar el puerto serial
Serial.begin(9600);
}
void loop()
{
// Apagar todos los leds siempre que se inicia el ciclo
digitalWrite(pinLed1, LOW);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, LOW); // se guarda el valor leido del ADC en una variable
// El valor leido por el ADC (voltaje) aumenta de manera directamente proporcional
// con respecto a la luz percibida por el LDR
valorLDR= analogRead(pinLDR); // Devolver el valor leido a nuestro monitor serial en el IDE de Arduino
Serial.println(valorLDR); // Encender los leds apropiados de acuerdo al valor de ADC
if(valorLDR > 256)
{
digitalWrite(pinLed1, HIGH);
}
if(valorLDR > 512)
{
digitalWrite(pinLed2, HIGH);
}
if(valorLDR > 768)
{
digitalWrite(pinLed3, HIGH);
} // Esperar unos milisegundos antes de actualizar
delay(200);
}

La explicación para el código es la siguiente: Primero se preparan los pines de salida donde están conectados los leds, el pin de entrada donde se conecta el divisor resistivo y el puerto serie para la comunicación. A continuación se ejecuta un ciclo infinito en el que se lee el valor del voltaje en el pin del LDR y se accionan los leds según correspondan.

 

Te gusta el articulo? compártelo en tus redes!!!

Quizás también te interese leer…

2 Comentarios

  1. Fabian Bustos

    Muy bueno muchas gracias por compartir

  2. Arlex

    ¡Fabián Bustos es con mucho gusto!!!!

    Saludos.

Enviar un comentario

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