Jugando amb NeoPíxeles

Jugando amb NeoPíxeles

by Citilab Edutec

Boards
Boards:

Citilab ED1

Component/s
Components:

NeoPixels
Esta actividad forma parte del Curso del Citilab. ¡Échale un vistazo!

Jugando con NeoPíxeles

Placas Para todas las placas con conexiones digitales.

Conexión de la tira NeoPíxel

  • Los NeoPíxeles son LEDs RGB (de colores) que incorporan un controlador en cada uno de ellos. Se presentan en diferentes formatos, como tiras, anillos o paneles, y permiten ser controlados de forma individual o conjunta, logrando diversos efectos visuales.

  • Trabajaremos con una tira de 10 LEDs NeoPíxel con un conector preparado para la conexión de tres pines de la ED1.

Tira de NeoPíxeles

  • Igual que en el caso del LED estándar que hemos usado en las prácticas anteriores, la conectaremos a un pin digital siguiendo el mismo código de color de los cables.

  • Se pueden concatenar tiras de LEDs, siempre que el consumo no sea excesivo. Sin alimentación externa, con la ED1 se pueden conectar hasta 100 LEDs a las salidas de 3,3V (unos 4 mA por LED) o 50 a las de 5V (unos 10 mA por LED).

Inicialización

  • Para usar cualquier tira de NeoPíxeles (sea integrada o externa), necesitaremos la librería NeoPíxeles.

Librería NeoPíxeles

  • Antes de empezar a programar con ella, debemos indicar el pin al que está conectada utilizando el bloque inicializa tira de _ NeoPíxeles en el pin _.

  • Para comprobar que funciona, podemos usar el bloque pon todos los NeoPíxeles de color _. Todos los LEDs se iluminarán.

Bloques básicos librería NeoPíxeles

Programando los LEDs

  • Además de los anteriores, tenemos diferentes bloques disponibles para operar con los LEDs:

  • pon NeoPíxel _ de color _ para encender un LED especificando el color.

  • rota NeoPíxeles en _ para rotar las posiciones de los colores de todos los LEDs.

  • color r _ v _ a _ (0-255) para obtener un color especificando los valores RGB (Rojo-Verde-Azul).

  • color al azar para obtener un color aleatorio.

Más bloques librería NeoPíxeles

Ejemplo semáforo Ejemplo semáforo resultado

Efectos de iluminación

  • Con la ayuda de repeticiones y bucles podemos crear diferentes efectos de iluminación.

  • Usando el bloque para cada i _ en _ de la categoría Control, podemos “recorrer” la tira de LEDs utilizando la variable i para señalar el LED que debe iluminarse en cada momento.

NeoPíxeles ejemplo 1

  • Para apagar un LED, basta con asignarle el color negro.

  • Es importante usar el bloque espera _ milisegundos para poder visualizarlo correctamente.

Reto 1: prueba invertir el orden en el que se apagan los LEDs en el ejemplo anterior

Reto 1

Solución al reto 1

Solución reto 1

Control del LED a encender

  • Podemos probar a manipular qué LED queremos iluminar con un potenciómetro. Para ello habrá que mapear el valor que obtenemos de este para obtener el número del LED a encender.

  • En nuestro caso, debemos usar un factor de 10, ya que es el número de LEDs que tiene nuestra tira de NeoPíxeles.

Barra de LEDs 1

  • Es recomendable crear una variable para guardar el número del LED, para entender mejor el programa.

Apagar los LEDs

  • Veremos que los LEDs, una vez encendidos, no se apagan a menos que volvamos a ejecutar el programa.

  • Si queremos que los LEDs se apaguen progresivamente del mismo modo que se encienden, será necesario apagar los LEDs que estén “por encima” del que controlamos con el potenciómetro.

  • Es decir, deberemos recorrer la tira de LEDs con un bloque para cada i _ en _ y comprobar con un bloque si _ si no si hay que encenderlos o apagarlos.

Barra de LEDs 2

Jugando con paneles

  • Además de las tiras de LEDs, también hay anillos y paneles de LEDs de varias dimensiones.

Paneles

  • Para conectarlos a la placa, podemos usar un adaptador. Hay que tener cuidado con el consumo, ya que los paneles tienen muchos NeoPíxeles (los de 16x16 y 8x32 tienen 256). Es mejor usar las salidas de 3,3V que las de 5V, no abusar de colores muy claros y no encender demasiados a la vez.

Adaptador

  • En el caso de los paneles, son necesarios bloques adicionales, para trabajar con una estructura de coordenadas y utilizar opciones específicas para este tipo de elementos.

  • Para trabajar con paneles, hay que cargar la librería Gráficos y pantallas→NeoPanel.

Librería NeoPanel

  • El bloque fundamental es el de inicialización, ya que define dónde se conecta el panel, sus dimensiones y su orientación.

Inicializar NeoPanel

  • Por ejemplo, para un panel de 32x8, si establecemos el ancho en 32, los cálculos se harán para que el panel funcione en horizontal. Si, en cambio, el ancho es 8, funcionará en vertical.
Inicialización 32x8 Inicialización 8x32
Orientación horizontal Orientación vertical
  • Ahora ya podemos trabajar con un sistema de coordenadas X, Y, y tenemos a nuestra disposición bloques para dibujar puntos, líneas, rectángulos, texto e incluso imágenes.
Ejemplo: Hacer 4 secciones dentro del panel 32x8 que vayan cambiando de color aleatoriamente.

Ejemplo 1

Ejemplo 1 real

Reto 2

Reto 2: haz un efecto espectacular con un panel de NeoPíxeles

Solo para usuarios avanzados

  • MicroBlocks tiene limitada la intensidad máxima de cada LED para evitar problemas de sobrecalentamiento por consumo excesivo. Con precaución y alimentaciones externas se pueden usar más LEDs y el bloque avanzado set Neopixel max brigthness de la librería Otros→Sistema→miscPrimitives.

set Neopixel max brightness

Esta actividad forma parte del Curso del Citilab. ¡Échale un vistazo!

⬅️ Actividad anterior Actividad siguiente ➡️

CC-BY-SA

© by Citilab Edutec 2019-2025.
This work is licensed under a CC-BY-SA 4.0 license.