10-Sensores integrados: Sensor de Luz

10-Sensores integrados: El Sensor de Luz - Los Ojos de tu Micro:bit 

El sensor de luz es como si le diera a tu Micro:bit un par de ojos. Le permite detectar la cantidad de luz que hay en su alrededor y usar esa información en tu programa.

¿Cómo funciona? 

El sensor de luz usa la matriz de LEDs para detectar la luz. ¡Es increíble! La matriz puede emitir luz, pero también puede recibirla. El sensor detecta la cantidad de luz que le llega y la convierte en un número, que va de 0 a 255.

○ Un valor de 0 significa que no hay luz, ¡es totalmente oscuro!
○ Un valor de 255 significa que hay mucha luz, ¡es muy brillante!

¿Para qué sirve? 

Con el sensor de luz, puedes crear un programa que encienda una luz o muestre un mensaje cuando se haga de noche, o que reaccione si le pones la mano encima.

1. Practicando - Controlando el Brillo de la Pantalla

Vamos a crear un programa que haga que el brillo de los LEDs cambie según la cantidad de luz que detecte.

1. Abre un nuevo proyecto en MakeCode. y coloca como nombre: P44A-NOMBRE_ESTUDIANTE-LUZ ó P44A-NOMBRE_ESTUDIANTE-LUZ, según el grado al que correspondas o pertenezcas.

2. Crea un bucle while True: Repetirá infinitamente el código que queremos ejecutar,

 

3. Ahora dentro del ciclo while, enciende todos los leds del panel frontal mediante la función:

    basic.show_leds("""
            # # # # #
            # # # # #
            # # # # #
            # # # # #
            # # # # #
            """)

Ahora crea la variable brillo y guarda el valor del nivel de luz actual, capturado por el panel de leds principal, mediante la función Input.light_level(), el código de esta línea quedaría de la siguiente forma: 

    brillo = input.light_level()

 Por último utiliza la función set_brightness(255) "Ajustar Brillo" de la subcategoria ...más de la categoría LED, y dentro reemplaza el valor 255, por la variable brillo, que contiene el nivel actual de luz, que será el mismo que reflejará la pantalla. El código de esta linea quedaría de la siguiente forma:

led.set_brightness(brillo)


El código completo hasta el momento debería ser idéntico al siguiente:



2. Explicación del código empleado en la practica - Controlando el Brillo de la Pantalla

 ● while True: Esta línea de código permite que se ejecute el código en su interior infinitamente o me forma indefinida.

● basic.show_leds(""" .... """): Permiter iluminar de manera perfecta el panel de principal de 25 leds. cada simbolo # enciende el led, para apagarlo se reemplaza el simbolo por un punto. 

● brillo = input.light_level(): Esta línea lee el nivel de luz y lo guarda en la variable brillo.

● led.set_brightness(brillo): Esta función usa el valor de la variable brillo para cambiar la intensidad de la luz de la pantalla. su valor puede variar en un rango entre 0 y 255.

 ¡Ahora, tu Micro:bit ajustará automáticamente el brillo de su corazón cuando lo acerques a la luz o a la oscuridad!

3. Tu Momento de Explorar - Demuestra lo aprendido!

Programa alguna de las siguientes ideas:

● Linterna de Emoticonos: Crea un programa que muestre una carita feliz si el nivel de luz es alto (por ejemplo, más de 128) y una carita triste si el nivel de luz es bajo. 

● Linterna Automática: Usa el sensor de luz para crear un programa que encienda las luces de la pantalla de tu Micro:bit solo cuando esté oscuro.

● Sensor de Proximidad: Puedes usar el sensor de luz para crear un "sensor de proximidad". Cuando alguien acerca la mano, la pantalla podría mostrar un ícono de alerta, ya que la luz que llega a los LEDs disminuirá.

● Gráfica de leds: programar un medidor de luz simple que dependiendo del nivel de luz actual al presionar el botón A, muestre en pantalla si es mayor de 128 mostrara las cuatro últimas filas de leds encendidos, de lo contrario, solo mostrará la última fila de leds encendidos. 

¡Diviértete explorando cómo estos nuevos sensores te ayudan a que tus proyectos sientan y reaccionen al mundo real!


  

Comentarios

Entradas populares de este blog

8 - Sensores integrados: El Acelerómetro (Sensor de Movimiento)

12-Depuración Básica de Código

13-Rep