¡Hola a todos los entusiastas de Arduino! En esta entrada, les voy a mostrar cómo crear un sencillo pero efectivo proyecto utilizando un sensor de luz (LDR) y una pantalla LCD I2C.
Vamos a construir un sistema que detecta la cantidad de luz en mi habitación y muestra un mensaje en la pantalla LCD según la intensidad lumínica. ¡Empecemos!
Índice de contenidos
Materiales necesarios
Antes de comenzar, asegúrate de tener los siguientes materiales a mano:
- Arduino (puede ser cualquier modelo compatible)
- Sensor de luz (LDR)
- Pantalla LCD I2C 16×2
- Cables de conexión
- Resistencia de 10k ohmios
- Breadboard (protoboard)
Conexionado
Ahora, vamos a conectar los componentes siguiendo este esquema:
- Conecta el pin central del LDR a una esquina de la breadboard.
- Conecta una pata del LDR a 5V del Arduino.
- Conecta la otra pata del LDR a GND del Arduino a través de la resistencia de 10k ohmios.
- Conecta el pin 2 del Arduino al centro de la breadboard.
- Conecta la alimentación (VCC y GND) de la pantalla LCD I2C a 5V y GND del Arduino.
- Conecta los pines SDA y SCL de la pantalla LCD I2C a los pines A4 y A5 del Arduino, respectivamente.

Código
A continuación, tienes el código necesario para este proyecto:
#include <LiquidCrystal_I2C.h> // Incluye la librería para la comunicación con la pantalla LCD I2C
#define LDR_PIN 2 // Define el pin al que está conectado el LDR
LiquidCrystal_I2C lcd(0x27, 20, 4); // Crea un objeto de pantalla LCD con la dirección I2C y el tamaño
void setup() {
pinMode(LDR_PIN, INPUT); // Configura el pin del LDR como entrada
lcd.init(); // Inicializa la pantalla LCD
lcd.backlight(); // Enciende la retroiluminación de la pantalla LCD
}
void loop() {
lcd.setCursor(2, 0); // Establece la posición del cursor en la fila 0, columna 2
lcd.print("Habitacion: "); // Imprime el texto en la pantalla LCD
if (digitalRead(LDR_PIN) == LOW) { // Si el LDR detecta poca luz (LDR_PIN en estado bajo)
lcd.setCursor(1, 1); // Establece la posición del cursor en la fila 1, columna 1
lcd.print("Luz encendida"); // Imprime "Luz encendida" en la pantalla LCD
} else { // Si el LDR detecta suficiente luz (LDR_PIN en estado alto)
lcd.setCursor(1, 1); // Establece la posición del cursor en la fila 1, columna 1
lcd.print("Luz apagada"); // Imprime "Luz apagada" en la pantalla LCD
}
delay(100); // Espera un breve periodo de tiempo
}
Funcionamiento
Este proyecto es bastante sencillo de entender. El sensor LDR detecta la cantidad de luz en la habitación y, según eso, la pantalla LCD mostrará si la luz está encendida o apagada. Si el sensor detecta poca luz, la pantalla mostrará «Luz encendida», y si detecta suficiente luz, mostrará «Luz apagada».
Espero que este proyecto te haya resultado interesante y útil. Es una excelente manera de experimentar con Arduino y sensores básicos. ¡Diviértete construyendo y mejorando tus habilidades de programación y electrónica!
¡Hasta la próxima, amigos de la electrónica y la programación! Si tienes preguntas o comentarios, no dudes en dejarlos abajo. ¡Estoy aquí para ayudar!