Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como Neopixel

Micro:bit - Neopixel: Práctica 19- Control del encendido/apagado de luces mediante sonido

En esta nueva práctica vamos a programar un sistema en el que las luces se apagan o enciendan al escucharse un sonido como el chasquido de los dedos o dar palmas. Para ello, partiendo del sistema inicial apagado, almacenamos en una variable el número de veces que se escucha un sonido alto. Si el número de veces es impar, el sistema de luces se encenderá. si por el contrario es par, es sistema se apagará. Una vez comprobado que el código funciona, puedes probar a variar la sensibilidad del sistema frente al ruido, cambiar la luminosidad de los LEDs o hacer que cada vez que los LEDs se enciendan, lo hagan de un color diferente (al azar)...  Prácticas Microbit:Neopixel

Micro:bit - Neopixel: Práctica 18 - Nº de LEDs encendidos en función del sonido II - Mapeando el sonido

Vamos a ver, con esta nueva práctica de control de una tira de LEDs, como poder conseguir un efecto similar al de la práctica anterior, en la que el número de LEDs a iluminar sea proporcional al nivel de sonido. En esta práctica recurriremos al mapeado, o lo que es lo mismo, a la transformación de un rango de datos de entrada  (para nosotros será el nivel de sonido) a otro rango de datos (que será el número de LEDs a iluminar).  A diferencia de lo que ocurría en la práctica anterior, en este caso, podremos elegir los colores de LED a emplear.   Comenzamos la práctica, al igual que siempre, cargando la extensión Neopixel y fijando el PIN de entrada, el número de LEDs de nuestro dispositivo(en el ejemplo 120) y bajando la luminosidad de los LEDs. En el bucle para siempre definimos una variable, que llamaremos Ruido correspondiente al nivel de sonido ambiental, que tal como debemos recordar, varía entre 0 y 255. A continuación, mapearemos dicho ruido, transformando dicha var...

Micro:bit - Neopixel: Práctica 17 - Número de LEDs encendidos en función del sonido

En esta nueva práctica vamos a crear una animación en el que el número de LEDs a iluminar varían en función del sonido registrado por el micrófono ambiental. Para lograrlo, tras cargar la extensión Neopixel, el pin de entrada, el número de LEDs a iluminar y la luminosidad de los LEDs, emplearemos el comando de trazar diagrama de barras en la tira; la cual se encuentra, también dentro de los bloques Neopixels. En dicho comando, puedes tratar de modificar el parámetro hasta # del nivel de ruido para ajustar la sensibilidad frente al sonido. Por último, si lo deseas, puedes incluir una  pequeña pausa en el bloque para siempre de forma que se haya un pequeño retraso. En el vídeo que figura a continuación, como ejemplo, se ha empleado un panel de 8 x 32 LEDs.    

Micro:bit - Neopixel: Práctica 16 - Alarma lumínica de ruido II

En esta práctica vamos a crear una alarma lumínica de ruido que se comporte de forma similar a la práctica anterior, de forma que puedas apreciar las ventajas/desventajas de programar la placa de una u otra forma. Al semejanza que en la Practica 15, se trata de programar la microbit de tal forma que al detectarse un ruido/sonido alto la tira Neopixel se ilumine en un color (por ejemplo rojo). Sin embargo, esta vez pretendemos aumentar el tiempo durante el cual los LEDs se iluminan y, en caso de no detectarse dicho ruido, los LEDs deben permanecer encendidos de otro color (por ejemplo, violeta). La práctica, al igual que en casos anteriores, comenzará con la carga de la extensión Neopixel, tras lo cual fijaremos el número de LEDs de la tira y el pin al que conectamos la tira (P0, en el ejemplo) y bajaremos la luminosidad con la que lucirán los LEDs. A diferencia de la práctica anterior, vamos a emplear funciones lógicas usando ciertas condiciones, de forma que si el sonido detectado es...

Microbit - Neopixel: iluminando por Navidad

Terminada la primera evaluación, el alumnado de las materias de Tecnología y Digitalización, Educación Digital y Digitalización han estado controlando la iluminación de tiras de LEDs mediante la programación  de placas micro:bit . Para dicha programación han empleado Makecode for Microbit ,  realizando algunas de las prácticas ya publicadas (o por publicarse) en este blog. Os dejamos algunas fotos tomadas durante estas sesiones y un vídeo resumen.       VER GALERÍA DE IMÁGENES

Micro:bit - Neopixel: Práctica 14 - Arcoíris avanzando

En esta entrada os explico como realizar una de las prácticas más vistosas, y a la vez más sencilla de programar, de control de una tira de LEDS WS2812 con la placa microbit. Se trata de, una vez configurado el dispositivo a iluminar cargando la extensión neopixel, iluminar la tira/anillo de LEDs con el color del arcoíris fijando una luminosidad baja. A continuación, rotar los LEDs en una o varias unidades, de forma que los colores vayan intercambiándose a lo largo de la tira o anillo.

Micro:bit - Neopixel: Práctica 13 - Ajustar velocidad de la animación

Basándonos en la misma animación creada en la práctica anterior , en la que 4 LEDs consecutivos se iluminaban con distintos colores e iban avanzando a lo largo de la tira, vamos a crear un nuevo programa en el que podamos controlar la velocidad de avance de éstos mediante el empleo de los pulsadores. Tras, cargar la extensión neopixel en makecode for microbit, comenzamos creando la secuencia de avance de los LEDs a semejanza de la práctica anterior.  Como ya sabrás de sobra, la velocidad vendrá determinada por el tiempo de pausa fijado en el bloque para siempre. Para poder variar dicho parámetro, creamos una variable cuyo valor reduciremos o aumentaremos una cantidad dada, según pulsemos el botón A o el botón B. .Tras fijar el valor inicial de dicha variable  (en el bloque al iniciar) haremos que al presionar el logotipo  de la micro:bit también se restablezca el valor de ésta. 

Micro:bit - Neopixel: Práctica 12 - Pausa de animación mediante pulsador

En esta práctica de control de una tira LED con un placa micro:bit, se trata de crear una animación la cual ha de pausarse al pulsar uno de los botones de la placa.  En MakeCode for microbit, comenzamos, como siempre, cargando la extensión para los LEDs Neopixel y fijando el número de LEDs de la tira o anillo que se vaya a emplear.  Inicialmente programamos la placa de forma que se iluminen 4 LEDs consecutivos, cada uno de un color.  A continuación, dentro del bucle para siempre, incluimos un condicional en el que siempre que el botón A no esté presionando (es decir, sea falso) se producirá una animación con los LEDs iluminados avanzando a lo largo de la tira/anillo de LEDs. Finalmente, dentro del mismo bloque, programamos que cuando sólo cuando se esté presionando el botón A, aparezca  un pictograma con forma de X en los LEDs de la microbit.

Micro:bit - Neopixel: Práctica 11 - Secuencias de avance y retroceso a distintas velocidades

En la práctica anterior, empleamos funciones para fijar el color, el sentido y desde donde se iban encendiendo/apagando los LEDs. En esta nueva práctica emplearemos una nueva función para variar  cada cuantos LEDs se ilumina uno de ellos, el color y cada cuanto tiempo lo hacen. Además aplicaremos alguna función matemática para fijar el número de repeticiones. Comenzamos un nuevo proyecto con makecode for microbit  añadiendo la extensión Neopixel y fijando la longitud de la tira/barra/anillo de LEDs.  A continuación, creamos una función,  a partir de los bloques avanzados, con tres variables: Color:  color empleado para iluminar los LEDs. Salto:  cada cuantos LEDs, uno de ellos se va a iluminar. Pausa:  tiempo en milisegundos entre la iluminación de un LED y el siguiente. A continuación, indicamos qué es lo que queremos que realicen los LEDs en dicha función. En este ejemplo, se ha empleado bloques similares al de una práctica anterior, para que los LED...

Micro:bit - Neopixel: Práctica 10 - Localización paso de peatones II

A semejanza de la práctica anterior, vamos a simular el comportamiento de los indicadores luminosos de la existencia de un paso de peatones como los que se encuentran en ciertas vías públicas de Pontevedra o Marín. El resultado final será el mismo, pero podrás comprobar la utilidad del empleo de funciones para simplificar el código. Comenzamos la práctica, como siempre, cargando la extensión de los LED Neopixel y configurando la tira/anillo o barra según el número de LEDs disponibles o que queramos iluminar. Para simplificar el código, al igual que hicimos en la práctica 3 , recurrimos a la creación de una función, en este caso de tres variables (tipo numéricas):  LED inicial: para indicar el LED que debe iluminarse (o pagarse) inicialmente. Sentido: que según su valor (1 o -1) será la responsable de aumentar o disminuir el número del LED a iluminar (o apagar). Color: para fijar el color con el que se iluminará (en el ejemplo el azul) o se apagará (negro) el LED. A continuación,...

Micro:bit - Neopixel: Práctica 09 - Localización paso de peatones I

En esta nueva práctica, de control de una tira de LEDs WS2812 con la placa micro:bit, simularemos las señales que indican la situación de los pasos de peatones en Pontevedra. En dicha señalización, los LEDs se van iluminando de arriba a abajo primero; apagándose, a continuación, de abajo arriba. Después se vuelven a iluminar desde abajo y,  finalmente, se apagan en sentido contrario.

Micro:bit- Neopixels: Práctica 08- Arcoíris y luminosidad

Os presento una nueva práctica de programación de la placa micro:bit con Makecode for micro:bit para el control de una tira o anillo de LEDs Neopixel. En este caso se trata de encender todas las luces de la tira o anillo con los colores del arcoíris e ir moviendo los colores hacia el final de la tira. Al mismo tiempo vamos a ajustar la luminosidad de los LEDs para que los colores se vean de forma más atractiva.

Micro:bit - Neopixel: Práctica 07 - LEDs avanzando progresivamente

En esta práctica vamos a crear una nueva animación de una tira o anillo de LEDs, similar a la de la práctica anterior. En este caso se trata de ir encendiendo los LEDs de forma progresiva (sin ir apagando los anteriores); primero, desde un extremo y luego desde el otro.  Para conseguirlo, debes introducir el siguiente código, donde : Como habrás podido comprobar, a través de la simulación o cargando el programa a la microbit, al terminar la animación los LEDs permanecen encendidos. Para que no lo hagan deberás introducir el bloque eliminar strip. Comprueba la diferencia entre el código anterior y el mostrado a continuación, donde lo único que ha variado es la posición del comando que enciende el LED 0 de color verde (se sitúa antes del bucle de repetición, tal y como indica la flecha). ¿Notas alguna diferencia?¿Cuál? Volviendo al ejemplo donde los LEDs se encienden progresivamente (segunda de las imágenes de esta práctica) intentar crear una secuencia en la que después de apagarse ...

Micro:bit - Neopixel: Práctica 06: LED avanzando y retrocediendo

Os comparto 3 nuevas experiencias de programación de la placa micro:bit para el control de un tira  de LEDs (SW2812). Se trata de programar la placa de tal forma que, inicialmente, se ilumine uno o más LEDs  de un determinado color. A continuación, se quiere crear una secuencia en la que el (o los LEDs) iluminados se desplacen en  un sentido o en el otro a lo largo de la tira/barra de LEDs.  Como en prácticas anteriores, comenzamos cargando la extensión Neopixel, fijando la longitud de la tira de LEDs e indicando qué LED debe iluminarse y de qué color (el que tú quieras). Recordar que el primero de los LEDs de la tira será el nº 0.  A continuación programaremos un cambio en el LED a iluminar cada cierto tiempo, incluyendo los bloques que figuran a continuación.  Prueba a cambiar cada cuantos LEDs se rota (introduciendo el valor de 2, 3 o 4, en lugar del 1) e incluso el tiempo de pausa entre el encendido de dos LEDs consecutivos. Si quieres, incluso puedes i...

Micro:bit - Neopixel: Práctica 05- Cambio gradual colores RGB

Con un resultado parecido al de la práctica anterior, os dejo una nueva práctica en la que trabajaremos en la composición del color, en este caso empleando el modelo RGB, donde los colores se componen mediante la mezcla de los de los colores rojo, verde y/o azul.   Al igual que en otras prácticas con tiras de LED tipo Neopixel, la práctica comienza creando un nuevo proyecto, cargando la extensión Neopixel y fijando el nº de pixel de la barra o tira de LEDs correspondiente. Los LEDs han de iluminarse cuando presionemos el botón A, para lo cual creamos tres variables, cada una correspondiente a uno de los colores (R: rojo, G: verde y B: azul). Inicialmente estas variables tomarán el valor de 0.  A continuación, empleamos un bucle para cambiar en una unidad el valor de dos de las variables  y establecemos el color de los LEDs según los nuevos valores que adoptan la variable.  En un primer momento, mantendremos el valor correspondiente al verde en cero. Para no alargar ...

Micro:bit - Neopixel: Práctica 04- Cambio gradual colores HSL

En esta nueva práctica se trata de crear una secuencia en la que los LEDs  de la tira o anillo Neopixel cambien de color de forma gradual. Del mismo modo, esta práctica nos servirá para entender como se componen los colores en el modelo HSL; donde las siglas se corresponden con Hue (matiz), Saturation (saturación o "cantidad de color") y Lightness (luminosidad o claridad). Para lograr el cambio de color de los LEDs vamos a ir cambiando el matiz desde 0 a 360 manteniendo la saturación y la luminosidad constante. Cabe recordar que el valor del matiz es el del ángulo del círculo cromático representado por los colores primarios (rojo, verde y azul) en el que el rojo se corresponde con el valor de 0, el verde con 120 y el azul a 240, tal y como muestra la siguiente imagen. En esta práctica, emplearemos una variable (index) que, correspondiéndose con el valor del matiz a emplear, cambiará su valor de 0 a 360 cada cierto tiempo. Para no alargar mucho la secuencia es aconsejable us...

Micro:bit-Neopixel: Práctica 03: Semáforo III

En esta nueva práctica se trata de modificar el código de la práctica anterior de manera que al pulsarse el botón A, comience una cuenta atrás mostrando el tiempo que queda para que el semáforo cambie de color.   Finalmente, y si nos sobra tiempo también le añadimos señales sonoras para cuando el semáforo se encuentre en verde y en naranja. En la siguiente imagen puedes ver el código de partida. Para crear la cuenta regresiva, de una forma un poco tosca, generamos una función, a la cual llamamos cuenta atrás. Para ver cómo se realiza puedes ver el vídeo que acompaña esta entrada. Dentro de la función introducimos una variable (tiempo) y fijamos, inicialmente, su valor al de la duración de la cuenta atrás (en el ejemplo 6 s).  Incluimos, también un bucle en el que dada 1000 ms se descuenta 1s a la variable de tiempo. Para que la Micro:bit muestre el tiempo que falta para el cambio del color del LED, incluimos el comando mostrar cadena, borrando dicho panel al terminar el bucle...

Micro:bit - Neopixel: Práctica 02- Semáforo II

En una entrada anterior vimos como comenzar a controlar las tiras/anillos o barras de LEDs con la placa microbit. En esa primera práctica programamos las luces de forma que cambiasen de color de rojo a naranja y de éste a verde.  En esta segunda práctica se trata de modificar el código de forma que el comportamiento del las luces se asemeje algo más al de un semáforo de peatones, donde al pulsar un botón, haya un tiempo de espera antes de pasar de rojo a verde. El semáforo ha de permanecer un tiempo en verde, transcurrido el cual parpadeará en naranja varias veces antes de volverse a iluminar en rojo. La primera vez que cargues el código en la microbit. ¿Están iluminados los LEDs Neopixel al comienzo? Pensar qué puede estar pasando. ¿Cómo podrías evitarlo? Introducir los cambios necesarios para que: Salvo que esté en verde o parpadeando en naranja, los LEDs han de permanecer en rojo. Exista un tiempo de espera de 2 segundos entre que se pulsa el botón A y los LEDs Neopixel se pong...