Arduino fotoresistencias o LDR


Aprende a usar una fotoresistencia, que es, su funcionamiento y como conectarla a tu arduino para obtener su valor en voltaje.

oscar Escrito por oscar 04 May 2016 15681 2

Vídeo

A continuación, encontrar{a el vídeo en donde se explica el funcionamiento del circuito.

Acerca del proyecto

Una de las aplicaciones de las fotoresistencias o ldr es poder detectar la intensidad de luz en el ambiente, en otras aplicaciones la usan como sensor de luz para detectar objetos, pero todas las aplicaciones que se usen van a requerir que un controlador como un pic o arduino cuenten con conversión analógica, ya que la señal que vamos a obtener es un voltaje que es proporcional a la luz que va a recibir. En este por explicaremos que es este elementos, como se usa y un ejemplo con arduino.

Conocimiento previo

Para realizar este proyecto se requiere conocimiento previo de los siguientes temas, si aun no has trabajado con lo que se menciona en la siguiente tabla, allí están los links a los post para que puedas dar un repaso adicional o puedas recordar el conocimiento necesario para poder realizar este proyecto.

Proyecto Descripción
analogRead() Arduino contienen un convertidor de analógico a digital multicanal de 10 bits. Esto significa que mapeará voltajes de entrada entre 0 y el voltaje de operación (5V o 3.3V) en valores enteros entre 0 y 1023.

Que es una fotoselda o LDR

Una fotoselda en un componente electrónico cuya resistencia disminuye al aumentar la intensidad lumínica.

Su funcionamiento se basa en el efecto fotoeléctrico, donde el semiconductor sulfuro de cadmio de alta resistencia, cuando un fotón es absorbido por la elasticidad del semiconductor generando una banda de energía en donde genera los electrones libre poca resistencia; los valores típicos son entre 1M en la oscuridad y 100 con luz brillante.

Materiales

Esta es una lista de los materiales a utilizar, no te preocupes son pocos.

Material Cantidad Descripción
Arduino 1 Arduino de cualquer tipo
Fotoresistencia 1 Fotoresistencias para obtener el valor de la luz.
Resistencia de 50KΩ 1 Resistencia

Circuito

El circuito y el ensamble son muy fáciles de realizar para ello dejare la siguiente imagen.

Fotoresistencia breadboard
Fotoresistencia breadboard
Fotoresistencia circuito
Fotoresistencia circuito

Observemos la imagen, en donde tenemos a la resistencia y a la fotocelda en serie, esto con el fin de generar en el punto medio el voltaje de salida el cual leeremos en el pin A0 de nuestro arduino.

Que sucede en este circuito? y como funciona la fotocelda?, al momento de aumentar la intensidad de la luz, disminuye la resistencia generada, en nuestro circuito al momento de disminuir la resistencia aumenta el voltaje, es decir si hay poca luz el voltaje será mínimo, pero si la luz aumenta el voltaje lo hace.

Código

El código lo e dejado en github.

El código es lo mas simple de este mundo, ya que lo único que estamos haciendo es leer el puerto análogo 0, y el valor lo estamos imprimiendo en el terminal serial.

//Paso 1
const int sensorPin = 0;

void setup() {
  //Paso 2
  Serial.begin(9600);
}

void loop() {
  //Paso 3
  int valueAnalog = analogRead(sensorPin);
  //Paso 4
  Serial.println(valueAnalog);
}
  1. Inicializamos una variable con el numero del pin analogico, que en este caso es el A0.
  2. Inicializamos la comunicación serial para poder ver los valores obtenidos después de la conversión analógica.
  3. Con analogRead() obtenemos los valores de conversión de pin A0, estos pueden ser entre 0 y 1024.
  4. Mostramos por la terminal serial los valores de la variable valueAnalog.

Comentario

Debe aceptar antes de enviar
ayoruz.bueno
ayoruz.bueno

31 October 2019 20:45

Los valores del pin A0 son entre 0 y 1023
oscar
oscar

08 November 2019 20:53

El valor de conversión de análogo a digital que maneja el arduino es a 10bits ya que 2 elevado a la 10 es 1024, esto nos da un rango de 0 a 1023 valores de conversión correspondientes de 0 a 5V, mas información la puedes encontrar en http://codigoelectronica.com/blog/arduino-analogread#retorna donde se explica los valores que retorna el conversor ADC.