Fotorresistencia LDR: Crear un interruptor crepuscular
¿Cómo sabe un dispositivo que es de noche? Gracias a la fotorresistencia (LDR). Este componente pasivo ve variar su resistencia según la luz recibida, lo que permite crear sistemas automáticos inteligentes.
⚡ Respuesta Rápida
Una fotorresistencia (LDR) es un sensor cuya resistencia disminuye fuertemente con la intensidad luminosa. Permite crear fácilmente dispositivos sensibles a la luz, como un interruptor crepuscular, integrándolo en un montaje divisor de tensión conectado a una entrada analógica.
Pinza Amperimétrica Fluke 323 (True RMS, 400A CA)
🛠️ La herramienta indispensable para este proyecto.
El Montaje

Tabla de Cableado
| Pin del Componente | Pin de Arduino | Color |
|---|---|---|
| VCC | 5V | Rojo |
| GND | GND | Negro |
| Señal (AO) | Pin A0 | Azul |
El Código Arduino
const int ldrPin = A0;
void setup() {
Serial.begin(9600);
}
void loop() {
int lightLevel = analogRead(ldrPin);
Serial.print("Luminosidad: ");
Serial.println(lightLevel);
delay(500);
}
Demostración en Vivo

La magia del efecto fotoeléctrico
Siempre me ha parecido fascinante poder «captar» el entorno de nuestro circuito. La fotorresistencia (LDR o Light Dependent Resistor) suele ser el primer componente analógico que se descubre. A diferencia de un botón que es simplemente ON u OFF (digital), la LDR nos ofrece toda una gama de valores sutiles, desde el negro total hasta el pleno sol.
En el interior de este componente de aspecto sinuoso se encuentra sulfuro de cadmio. Cuando los fotones (partículas de luz) golpean este material, liberan electrones, lo que disminuye instantáneamente la resistencia del componente. ¡Es la belleza de la física cuántica accesible por unos pocos céntimos de euro en una protoboard!
El secreto del montaje: El puente divisor de tensión
Quizás haya notado en nuestro montaje que la LDR no está sola: siempre va acompañada de una resistencia clásica (generalmente de 10kΩ). ¿Por qué? Porque Arduino no sabe leer una resistencia, solo sabe leer una tensión (entre 0V y 5V).
Al colocar la LDR y la resistencia fija en serie (lo que se llama un puente divisor de tensión), transformamos la variación de resistencia en una variación de tensión. Es esta tensión la que entra en el pin A0 y que la función analogRead() convierte en un número entre 0 y 1023. Es uno de los conceptos más cruciales que hay que dominar en electrónica analógica.
Casos prácticos de uso y trucos de taller
A lo largo de mis experimentos, he visto decenas de formas de utilizar una LDR:
- La alarma de cajón: Esconda el montaje en un cajón. En cuanto alguien lo abre, entra la luz, el valor cae y Arduino activa un zumbador.
- El seguidor solar: Colocando dos LDR separadas por un pequeño tabique, se puede programar un servomotor para que se oriente siempre hacia la fuente de luz más fuerte, ideal para optimizar paneles solares.
- Truco de calibración: La luz ambiental cambia constantemente. En lugar de establecer un valor fijo en el código (ej:
if (lightLevel < 500)), programe una fase de calibración de 5 segundos al arrancar Arduino (en elsetup) para que registre los valores máximos y mínimos de la habitación. ¡Así su montaje será robusto en cualquier lugar!
La electrónica es, ante todo, adaptación. No dude en ajustar los valores en su código para encontrar el umbral de activación perfecto para su entorno.
Para profundizar en la gestión de la potencia, no olvide consultar nuestro artículo sobre la Ley de Ohm.
