Cómo Crear un Sensor de Luz con Arduino

En este tutorial, aprenderás a utilizar un sensor de luz (fotodiodo o LDR – Light Dependent Resistor) junto con una placa Arduino para encender un LED automáticamente cuando la intensidad de la luz en su entorno disminuye por debajo de un cierto umbral. Este proyecto es útil para la creación de sistemas de iluminación automática y ahorro de energía.

Materiales Necesarios

Antes de comenzar, asegúrate de tener los siguientes materiales a tu disposición (click en cada uno para ver el producto en Amazon):

  1. Placa Arduino (por ejemplo, Arduino Uno).
  2. Un sensor de luz (fotodiodo o sensor LDR).
  3. Un LED.
  4. Una resistencia de 10k ohmios (para crear un divisor de voltaje) y una resistencia de 220 ohmios (para limitar la corriente del LED).
  5. Cables de conexión (jumpers).
  6. Una protoboard para montar los componentes.
  7. Una computadora con el software Arduino IDE instalado.

O también puedes adquirir un Kit de inicio Arduino, que ya contiene todos estos componentes, de los mostrados a continuación:

Paso 1: Conexión del Hardware

Comencemos conectando los componentes para encender un LED automáticamente en respuesta a la disminución de la luz:

  1. Conecta un extremo del sensor de luz (fotodiodo o LDR) al pin analógico A0 de la placa Arduino.
  2. Conecta el otro extremo del sensor de luz a una esquina de la resistencia de 10k ohmios.
  3. Conecta el otro extremo de la resistencia de 10k ohmios al terminal de tierra (GND) de la placa Arduino.
  4. Conecta un cable desde el punto de conexión entre el sensor de luz y la resistencia de 10k ohmios al pin 13 de la placa Arduino (o cualquier otro pin digital de salida).
  5. Conecta el LED, asegurándote de que el ánodo (el lado largo) esté conectado al pin 13 a través de una resistencia de 220 ohmios para limitar la corriente, y el cátodo (el lado corto) esté conectado a tierra (GND).

Asegúrate de que todas las conexiones estén seguras y que no haya cortocircuitos.

Paso 2: Programación en Arduino IDE

Ahora, programaremos la placa Arduino para encender el LED automáticamente cuando la luz disminuye por debajo de un umbral específico. Sigue estos pasos:

  1. Abre el software Arduino IDE en tu computadora.
  2. Verifica que la placa Arduino esté conectada a través del puerto USB.
  3. Crea un nuevo proyecto (sketch) seleccionando «Archivo» > «Nuevo».
  4. Ingresa el siguiente código:
const int C_SensorPin = A0;     // Pin analógico donde está conectado el sensor de luz
const int C_LedPin = 13;        // Pin donde está conectado el LED

const int C_Umbral = 200;       // Valor a partir del cual se encenderá/apagará el led
                                // Ajusta este valor según tus necesidades

void setup() {
  pinMode(C_LedPin, OUTPUT);
}

void loop() {
  int sensorValue = analogRead(C_SensorPin);  // Lee el valor del sensor de luz
  if (sensorValue < C_Umbral) {  
    digitalWrite(C_LedPin, HIGH);   // Enciende el LED
  } else {
    digitalWrite(C_LedPin, LOW);    // Apaga el LED
  }
}

Este código configura el pin analógico A0 para leer los valores del sensor de luz y el pin 13 para controlar el LED. Si el valor del sensor de luz es menor que 200 (ajusta este valor según tus necesidades), el LED se encenderá; de lo contrario, el LED se apagará.

  1. Guarda el proyecto seleccionando «Archivo» > «Guardar» y asignándole un nombre.
  2. Compila el código seleccionando «Verificar» (el ícono de checkmark) en la parte superior izquierda del Arduino IDE.
  3. Carga el código en la placa Arduino seleccionando «Subir» (el ícono de flecha) en la parte superior izquierda. La placa Arduino ahora ejecutará el programa y encenderá el LED automáticamente cuando la luz ambiente disminuya por debajo del umbral establecido.

Paso 3: Verificación del Sistema de Iluminación Automática

Una vez que el código se haya cargado con éxito en la placa Arduino, observarás que el LED se enciende automáticamente cuando la luz disminuye por debajo del umbral que has establecido. Cubrir el sensor de luz con tu mano o exponerlo a la oscuridad debería activar el LED.

¡Has creado con éxito un sistema de iluminación automática utilizando un sensor de luz y Arduino! Este proyecto es solo un ejemplo de las muchas aplicaciones prácticas que puedes lograr con sensores y Arduino en tus proyectos de electrónica y automatización. Puedes personalizar y expandir este proyecto para controlar sistemas de iluminación, persianas automáticas, o cualquier otro dispositivo que desees activar en función de la luz ambiente.

Ver simulación en Wokwi

En el siguiente enlace (click aquí), se puede ver el proyecto en el simulador, dónde se puede experimentar con la parte electrónica y el código, para depurar y comprobar que esté todo correcto antes de montar el circuito, y hacer tus propios ajustes y modificaciones. En el simulador no está disponible el fotoresistor solo, por lo que se ha utilizado un módulo fotoresistor. El principal cambio es que necesita alimentación 5V para que funcione, y también tiene salida digital, que para este proyecto, la dejamos desconectada. Para probar el funcionamiento, al pulsar el botón de simular, podemos seleccionar el módulo fotoresistor, y cambiar el valor de la luminosidad de la barra de desplazamiento que aparece en la parte superior. ¡Haz la prueba!