
Micro:bit y Arduino: Alarma de Oscuridad Automática
Introducción
En muchas ocasiones necesitamos que un sistema sea capaz de detectar automáticamente cuándo una habitación se queda a oscuras. Por ejemplo:
- Un museo que debe proteger sus obras de arte.
- Un almacén que necesita vigilancia nocturna.
- Una vivienda que activa una alarma cuando detecta condiciones anómalas.
- Una farola inteligente que se enciende cuando llega la noche.
En esta práctica vamos a construir nuestro primer sistema de detección automática de luz utilizando Arduino y una fotoresistencia o sensor LDR.
Antes de activar alarmas o encender dispositivos, primero aprenderemos a leer los datos que proporciona el sensor y a mostrarlos por el puerto serie.

¿Qué es una LDR?
LDR significa:
Light Dependent Resistor
o lo que es lo mismo:
Resistencia Dependiente de la Luz.
Su funcionamiento es muy sencillo:
- Cuando recibe mucha luz, su resistencia disminuye.
- Cuando recibe poca luz, su resistencia aumenta.
Arduino no puede medir directamente la resistencia, por lo que utilizaremos un divisor de tensión para transformar esos cambios en valores eléctricos que sí pueda interpretar.
Material necesario
Para esta práctica necesitaremos:
- Arduino UNO
- Protoboard
- Sensor LDR
- Resistencia de 10 kΩ
- Cables de conexión
- Ordenador con Arduino IDE o Tinkercad
Montaje del circuito
La LDR se conecta formando un divisor de tensión.
Conecta:
- Una pata de la LDR a 5V.
- La otra pata de la LDR al pin A0.
- Una resistencia de 10 kΩ entre A0 y GND.
El pin A0 será el encargado de leer la cantidad de luz presente en el entorno.
(Inserta aquí la imagen del circuito.)
¿Qué es una entrada analógica?
Los pines analógicos permiten medir valores comprendidos entre:
0 y 1023
Esto significa que Arduino convierte el voltaje recibido en un número.
Por tanto:
- 0 representa el mínimo valor posible.
- 1023 representa el máximo valor posible.
Cuando la iluminación cambia, también cambian los valores que recibe Arduino.
Nuestro primer programa
El siguiente programa lee continuamente el valor del sensor y lo muestra por el Monitor Serie.
void setup()
{
Serial.begin(9600);
}
void loop()
{
int valor = analogRead(A0);
Serial.println(valor);
delay(200);
}
Explicación línea a línea
Configuración inicial
Serial.begin(9600);
Inicializa la comunicación serie.
Gracias a esta instrucción podremos enviar información desde Arduino al ordenador.
Lectura del sensor
int valor = analogRead(A0);
Arduino lee el valor presente en el pin A0 y lo guarda en la variable:
valor
Mostrar el valor
Serial.println(valor);
Envía el número al Monitor Serie.
Pequeña pausa
delay(200);
Espera 200 milisegundos antes de realizar una nueva lectura.
Esto evita que el Monitor Serie se llene demasiado rápido.
Abrir el Monitor Serie
Una vez cargado el programa:
- Pulsa el botón “Monitor Serie”.
- Configura la velocidad a:
9600 baudios
- Observa los valores.
Experimento
Observa los números que aparecen.
Ahora realiza las siguientes pruebas:
Situación 1
Ilumina directamente el sensor con una linterna.
Anota el valor obtenido.
Situación 2
Déjalo bajo la luz normal del aula.
Anota el valor obtenido.
Situación 3
Tapa completamente la LDR con la mano.
Anota el valor obtenido.
Tabla de resultados
| Situación | Valor |
|---|---|
| Linterna | |
| Aula iluminada | |
| Aula oscura | |
| Sensor tapado |
Preguntas de investigación
- ¿Qué ocurre con los valores cuando aumenta la luz?
- ¿Qué ocurre cuando disminuye la luz?
- ¿Todos los sensores proporcionan exactamente los mismos valores?
- ¿Crees que podríamos utilizar esta información para encender automáticamente una alarma?
Desafío
Investiga cuál podría ser el valor límite que indique que una habitación está demasiado oscura.
Anótalo porque lo utilizaremos en la siguiente práctica para construir una alarma automática de oscuridad con LED y zumbador.
Conclusión
En esta práctica hemos aprendido:
✅ Qué es una LDR.
✅ Cómo funciona una entrada analógica.
✅ Cómo leer información procedente de un sensor.
✅ Cómo utilizar el Monitor Serie para visualizar datos.
✅ Cómo interpretar medidas obtenidas del entorno.
Este es el primer paso para construir sistemas inteligentes capaces de reaccionar automáticamente ante cambios en el mundo real.



