Imaginá tener un sistema que prende o apaga la luz automáticamente según la luminosidad del entorno. Con este proyecto, vas a crear un control de luz automático que utiliza un sensor de luz (LDR) y un LED para demostrar cómo puede funcionar este sistema en tu hogar.
Materiales necesarios:
- Ardunio UNO (u otro compatible)
- LED (de cualquier color)
- Resistencia de 220 ohmios (para el led)
- LDR (resistor de luz)
- Resistencia de 10k ohmios (Para el LDR)
- Protoboard y cables de conexión

Paso 1: Conexión de Hardware
LDR
- Un terminal del LDR al pin A0 (analógico) del Arduino.
- El otro terminal del LDR a VCC (5V).
- Colocá una resistencia de 10k ohmios entre el pin A0 y GND (tierra).
LED
- Conectá el ánodo (la pata más larga) del LED a un pin digital, por ejemplo, el pin 9.
- Conectá el cátodo (la pata más corta) del LED a una resistencia de 220 ohmios y luego a GND.
Paso 2: Código Arduino
Para este proyecto no vas a necesitar instalar librerías adicionales de Arduino, ya que el código utiliza funciones básicas del sistema.
const int LDR_PIN = A0; // Pin donde está conectado el LDR
const int LED_PIN = 9; // Pin donde está conectado el LED
int sensorValue = 0; // Variable para almacenar el valor del sensor
void setup() {
pinMode(LED_PIN, OUTPUT); // Configura el pin del LED como salida
Serial.begin(9600); // Inicia la comunicación serial
}
void loop() {
sensorValue = analogRead(LDR_PIN); // Lee el valor del LDR
Serial.println(sensorValue); // Muestra el valor en el monitor serial
// Ajusta el umbral según tu entorno
if (sensorValue < 500) { // Si la luz es baja
digitalWrite(LED_PIN, HIGH); // Enciende el LED
} else {
digitalWrite(LED_PIN, LOW); // Apaga el LED
}
delay(100); // Espera un poco antes de la próxima lectura
}
Paso 3: Explicación del código
- Constantes y Variables: Se definen los pines para el LDR y el LED, y se crea una variable para almacenar el valor del sensor.
- Función Setup: Se configura el pin del LED como salida y se inicia la comunicación serial para monitorear los valores.
- Función Loop: Se lee el valor del LDR. Si el valor es menor que 500 (puedes ajustar este umbral según el ambiente), se enciende el LED. De lo contrario, se apaga.
Paso 4: Subir el Código al Arduino
Conectá tu Arduino a la computadora, selecciona el puerto correspondiente en el IDE de Arduino y carga el código. Con el código cargado, el LED debería encenderse en condiciones de poca luz y apagarse en condiciones de luz adecuada. Podés ajustar el valor de 500 en el código para cambiar la sensibilidad del sistema.
Ajustes:
- Podés cambiar la sensibilidad del encendido/apagado del LED según tus preferencias y/o necesidades.
- Podés añadir nuevos LEDs y controlar su encendido según diferentes niveles de luz.
- Incluir una Pantalla de cristal líquido para visualizar datos sin necesidad de usar el monitor serial
Un Plus: Control de luz automático con Pantalla de Cristal Líquido
Objetivo: No depender del monitor serial del IDE de arduino y poder visualizar la información en LCD Display (pantalla de cristal líquido)
Materiales adicionales:
- Pantalla LCD 16×2 (con o sin módulo I2C)
Paso 1: Conexiones del Hardware
Pantalla LCD (con módulo I2C):
- VCC: Conectar al pin de 5V del Arduino.
- GND: Conectar al pin de GND del Arduino.
- SDA: Conectar al pin A4 del Arduino.
- SCL: Conectar al pin A5 del Arduino.
Paso 2: Instalación de Librerías
Asegúrate de tener instaladas las siguientes librerías en tu Arduino IDE:
- LiquidCrystal.h: Para manejar la pantalla LCD.
Paso 3: Incorporar el código con modificaciones
#include <LiquidCrystal.h> // Librería para la pantalla LCD
const int LDR_PIN = A0; // Pin donde está conectado el LDR
const int LED_PIN = 9; // Pin donde está conectado el LED
int sensorValue = 0; // Variable para almacenar el valor del sensor
// Configuración de la pantalla LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Configura según tus conexiones
void setup() {
pinMode(LED_PIN, OUTPUT); // Configura el pin del LED como salida
lcd.begin(16, 2); // Inicia la pantalla LCD con 16 columnas y 2 filas
Serial.begin(9600); // Inicia la comunicación serial
}
void loop() {
sensorValue = analogRead(LDR_PIN); // Lee el valor del LDR
Serial.println(sensorValue); // Muestra el valor en el monitor serial
// Ajusta el umbral según tu entorno
if (sensorValue < 500) { // Si la luz es baja
digitalWrite(LED_PIN, HIGH); // Enciende el LED
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Luz: Baja”);
} else {
digitalWrite(LED_PIN, LOW); // Apaga el LED
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Luz: Alta”);
}
// Mostrar el valor del LDR en la pantalla LCD
lcd.setCursor(0, 1);
lcd.print(“Valor: “);
lcd.print(sensorValue);
delay(100); // Espera un poco antes de la próxima lectura
}
Paso 4: Explicación del Código
- Incluir Librerías: Se incluye la librería necesaria para manejar la pantalla LCD.
- Constantes y Variables: Se definen los pines para el LDR y el LED, así como una variable para almacenar el valor del sensor.
- Función setup(): Se configura el pin del LED como salida, se inicia la pantalla LCD y se inicia la comunicación serial.
- Función loop():
- Se lee el valor del LDR.
- Si el valor es menor que 500, se enciende el LED y se muestra “Luz: Baja” en la LCD. Si es mayor, se apaga el LED y se muestra “Luz: Alta”.
- Se imprime el valor del LDR en la segunda línea de la pantalla LCD.
Paso 5: Subir el Código al Arduino
Conectá tu Arduino a la computadora, selecciona el puerto correspondiente en el IDE de Arduino y carga el código.
Paso 6: Pruebas y Ajustes
Con el código cargado, el LED debería encenderse en condiciones de poca luz y apagarse en condiciones de luz adecuada. La pantalla LCD va a mostrar el estado de la luz y el valor del LDR. Podés ajustar el valor de 500 en el código para cambiar la sensibilidad del sistema.
¿Qué Vas a Poder Hacer?
- Controlar la iluminación automáticamente según la luminosidad.
- Visualizar el estado de la luz y el valor del LDR en una pantalla LCD.
Ejemplos de Aplicación:
- Hogar: Automatizar las luces en función de la luz natural.
- Jardines: Controlar la iluminación en invernaderos o áreas de cultivo.

Encontrá en nuestra web todo lo que buscás para tus proyectos, desde componentes hasta kits completos. ¡Conseguí lo necesario para transformar tus ideas en realidad!
No te pierdas nuestras próximas notas, donde vamos a presentar otros proyectos Arduino innovadores. ¡Seguí nuestras publicaciones y descubrí nuevas ideas cada semana!
Hasta la próxima.