¿Qué es un sensor de luz?
![]() |
El sensor de luz, también llamado fotorresistencia o sensor fotoeléctrico, es un sensor que, tal y como su nombre indica, detecta luz. Una fotorresistencia responde a los cambios en la intensidad de la luz y modifica su resistencia cuando ésta varía. Cuanto mayor sea la intensidad de la luz, más baja será la resistencia al paso de la corriente. |
Este componente tiene numerosas aplicaciones en aparatos que están presentes en nuestra vida cotidiana como, por ejemplo:
- Puertas de garaje.
- Alarmas antirrobo.
- Ordenadores,teléfonos y televisiones (para controlar el brillo de la pantalla).
- Lectores de código de barras.
El sensor de luz del ZUM Kit devuelve valores comprendidos entre 0 (cuando la oscuridad es total) y 800 (a plena luz del sol en un día despejado), si tienes un sensor de luz de Mi primer kit de Robótica, este valor oscilara entre 0 y 500, aproximadamente. Se trata de un componente analógico, ya que devuelve un rango de valores, en contraste con los sensores digitales, que solo pueden devolver dos valores, como un pulsador (“pulsado” o “no pulsado”). Por ello, deberá conectarse en la ristra de pines analógicos, numerados como A0, A1, A2, etc.
Este sensor es un dispositivo de entrada, porque sirve para ingresar datos en el programa a diferencia de un LED o un zumbador, que son dispositivos de salida.
Como puedes ver, el sensor de luz es un componente muy interesante. ¿Quieres aprender a programarlo? ¡Empezamos! Necesitarás:
|
![]() |
![]() |
A continuación haremos distintos ejemplos para aprender a usar este componente ¡Al grano!
Ejemplo 1
Encender un LED cuando el sensor de luz detecte poca cantidad de luz
A partir de ahora vamos a utilizar más de un componente en cada ejercicio, conectados simultáneamente en la placa.
Antes de conectar el sensor de luz recordamos que, al tratarse de un componente analógico, debe conectarse en uno de los pines analógicos, por ejemplo, el A0. El siguiente esquema nos servirá de guía:
Ahora, programamos con bitbloq la placa controladora para que cuando haya poca luz se encienda el LED.
Empezamos, lo primero tenemos que leer la cantidad de luz, para ello, asignamos la lectura del sensor de luz a una variable. Las variables son “lugares” donde guardamos datos. Como es la primera vez que usamos la variable tenemos que declararla, esto es como darle el nombre que usaremos el resto del programa.
Ahora tenemos que comprobar que hay poca luz. Hemos dicho que este sensor de luz da un valor entre 0 y 800, si tienes un sensor de luz de Mi primer kit de Robótica, este valor oscilara entre 0 y 500, por lo que podemos considerar que ya está oscuro cuando la variable cantidad_de_luz es menor de 200.
En ese caso, debemos encender el LED, que está conectado en el PIN digital 3.
Pero esto no es todo, prueba a programar la placa y verás que no funciona exactamente como te esperarías, ¿qué falta? El LED no se apaga cuando vuelve a haber luz. Intenta acabar tú el programa y mira debajo la solución.
Hay que decirle que en caso de que la luz sea mayor de 200 el LED se apague, eso se hace así:
Como ves en la imagen anterior, el bloque si,entonces puede tener más opciones como de lo contrario que se ejecutará cuando no se cumpla la condición (en este caso, cuando la cantidad de luz sea igual o mayor que 200). Para añadir la opción de lo contrario pulsa sobre la estrella del bloque y agrégala:
¿Habías acertado? Seguro que sí, y si aún te queda alguna duda pregúntanos. Puedes cargar el programa completo en bitbloq buscando el proyecto de bq Lámpara nocturna.
¿Te atreves a modificar el programa para que la lámpara nocturna se encienda cuando está oscuro y se apague después de 1 minuto? Luego ya no debe volver a encenderse hasta que no sea de día otra vez. ¡Inténtalo! Tienes la solución en el proyecto Lámpara noctura avanzada en bitbloq.