Sensor de luz Arduino usando un fotorresistor

En este tutorial del sensor de luz Arduino, repasaré los conceptos básicos de la configuración de un fotorresistor, para que pueda detectar cambios en la luz fácilmente.

Este pequeño dispositivo puede ser extremadamente útil en muchos proyectos donde medir la cantidad de luz es importante.

Este tutorial es increíblemente simple pero con suerte explicará y mostrará cómo puede usar una fotorresistencia en su próximo proyecto. No necesitará mucho equipo, ya que la mayoría son piezas muy básicas que probablemente ya tendría si comprara un kit de inicio de electrónica.

Esto es muy similar al tutorial del sensor Raspberry Pi LDR, pero nuestro circuito y código es mucho más fácil. Esto se debe a que Arduino tiene pines analógicos que hacen que sea muy fácil leer el valor de algo como un sensor analógico.

Equipo

El equipo que necesitará para este tutorial del sensor de luz Arduino es bastante básico como mencioné anteriormente.

Los LED que estoy usando son solo para algunos comentarios visuales, por lo que no son esenciales si está dispuesto a leer las variables de salida en la línea de comando.

Arduino Uno

Resistencia de foto

Resistencia de 220 ohmios

Tablero de circuitos

Alambre de tablero

Opcional

3 resistencias de 100 ohmios

LED rojo

LED verde

LED amarillo

Video

Si quieres que siga este tutorial paso a paso, asegúrate de ver mi video a continuación.

El video es una excelente manera de aprender, ya que puede ver cómo avanza el tutorial y cómo funcionan las cosas.

Puede consultar el tutorial escrito completo justo debajo del video.

¿Adblock bloquea el video? Apóyenos suscribiéndose a nuestro servicio sin publicidad.

El circuito del sensor de luz Arduino

El circuito que necesitamos construir es bastante básico y no debería tener demasiados problemas para configurarlo. Mencionaré brevemente cada una de las partes que contiene y cómo ponerlo todo junto.

El sensor de luz o también conocido como fotorresistencia es la pieza de equipo que usaremos para saber qué tan claro u oscuro está. Cuando está oscuro, la resistencia tendrá una resistencia muy alta de hasta 10 megaohmios. Cuando es ligero, solo tendrá unos pocos cientos de ohmios de resistencia.

A menudo, puede averiguar aproximadamente la resistencia mirando la hoja de datos del dispositivo. Es probable que se refiera a lux la unidad de iluminancia y le proporcione información sobre la resistencia aproximada a una determinada cantidad de lux.

Los LED de nuestro circuito representarán la cantidad actual de resistencia a través del fotorresistor.

  • El verde será cuando tenga poca resistencia (Mucha luz).
  • El amarillo será cuando haya una resistencia media en el LDR (sombreado).
  • Finalmente, el rojo representará cuando tenga una alta resistencia (muy oscuro).

1. Primero conecte el cable de 5V desde el Arduino al riel positivo en la placa de pruebas.

2. Luego, enganche la clavija de tierra al riel de tierra.

3. Ahora, coloque el fotorresistor en la placa de pruebas.

  • Enganche un cable de un extremo al riel positivo.
  • En el otro extremo, tenga un cable que regrese a A0 (analógico).
  • Finalmente, en el otro lado del cable agregue una resistencia de 220 ohmios que va al riel de tierra.

4. Coloque los 3 LED en la placa de pruebas. (Verde, amarillo, rojo)

  • En cada uno de los LED, agregue una resistencia de 100 ohmios y haga que vaya al riel de tierra.
  • Ahora coloque un cable de regreso al Arduino para cada uno de los LED. Rojo al pin 4, amarillo al pin 3 y finalmente verde al pin 2.

5. Ahora estamos listos para activarlo e implementar el código. Si ha tenido algún problema, consulte el diagrama a continuación.

El código

Al igual que el circuito, el código de este tutorial de fotoresistores Arduino es muy fácil de seguir. Nuevamente, esto solo cubre los conceptos básicos de esta genial parte de la electrónica si desea ver algunas posibles implementaciones, luego consulte algunas ideas que tengo al final de esta guía.

Si desea descargar el código, puede encontrarlo para descargarlo en nuestro repositorio Git de sensores de luz.

Antes de comenzar a hacer algo, primero debemos configurar todas nuestras variables. Para este programa, necesitaremos 4 variables para almacenar nuestros números de pin y 1 variable para almacenar el valor del pin analógico. Estos son todos de tipo entero.

int greenLedPin = 2; int yellowLedPin = 3; int redLedPin = 4;  int lightSensorPin = A0; int analogValue = 0; 

Configure todos los pines para que los LED actúen como salidas. No necesita preocuparse por configurar el pin analógico.

void setup() {   pinMode(greenLedPin, OUTPUT);   pinMode(yellowLedPin,OUTPUT);   pinMode(redLedPin,OUTPUT); }

El ciclo es bastante simple y no debería ser demasiado difícil entender lo que está sucediendo. Primero obtenemos el valor del pin analógico, este es el fotorresistor.

Una vez que tenemos el valor, comparamos y encendemos el LED correspondiente. Por ejemplo, el LED rojo estará encendido cuando esté oscuro, amarillo para sombra y finalmente verde para luz. Después de esto, retrasamos 200ms y ponemos todos los LED a bajo y verificamos nuevamente.

void loop(){   analogValue = analogRead(lightSensorPin);   if(analogValue < 50){                 digitalWrite(redLedPin, HIGH);   }   else if(analogValue >= 50 && analogValue <= 100){     digitalWrite(yellowLedPin, HIGH);   }   else{     digitalWrite(greenLedPin, HIGH);   }   delay(200);   digitalWrite(greenLedPin, LOW);   digitalWrite(yellowLedPin, LOW);   digitalWrite(redLedPin, LOW); }

Una vez que haya terminado, simplemente cárguelo en el Arduino y su circuito debería cobrar vida. Es posible que deba modificar los valores dentro de las declaraciones if, ya que esto puede variar según las condiciones de iluminación.

Solución de problemas

Ahora, si encuentra que las cosas no funcionan exactamente como le gustaría, entonces será un buen momento para ingresar algunas líneas de depuración. Si no sabe cómo configurar la depuración, asegúrese de consultar mi tutorial en el monitor serial Arduino.

Mi consejo sería configurar una línea de depuración que le diga el valor de la entrada LDR. Esto puede variar, por lo que es posible que deba cambiar los valores en el código a algo que funcione mejor en sus condiciones (exterior, interior, etc.).

Un problema común es que la luz que emite el LED rojo hace que el sensor de luz piense que hay luz. Mi mejor consejo para esto sería alejar el sensor de luz del LED rojo tanto como sea posible.

Posibles implementaciones

Hay tantos proyectos de Arduino en los que puede implementar una fotorresistencia. Rápidamente mencionaré algunos en los que pensé mientras escribía este tutorial.

  • Puede usar el fotorresistor en una alarma activada por luz que le advierte si una habitación se oscurece o se ilumina. Alternativamente, puede utilizar la misma configuración que un reloj despertador junto a la cama, que aumenta el volumen a medida que aumenta la luminosidad.
  • Puede utilizar un LDR para activar las luces cuando empieza a oscurecer. Por ejemplo, esto funcionaría bien si tiene luces exteriores que iluminan algunas escaleras o similar, pero solo quiere que estén encendidas cuando llegue a cierto nivel de oscuridad.
  • También puede conectarlo a una escotilla de pollo para que se abra automáticamente por la mañana cuando comience a brillar.

Estas son solo algunas ideas de lo que podría hacer. Buscaré hacer algunos proyectos geniales para principiantes de Arduino y posiblemente proyectos más avanzados que utilicen muchos de los sensores de los que he estado hablando recientemente.

Si desea mantenerse actualizado sobre todos los proyectos, tutoriales y mucho más, asegúrese de suscribirse a nuestra lista de correo o seguirnos en cualquiera de las principales redes sociales.

Espero que hayas podido seguir este tutorial del sensor de luz Arduino sin ningún problema. Si tiene algún problema, tiene comentarios o cualquier otra cosa, no dude en dejar un comentario en nuestro foro.