Jugando con NeoPíxeles
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.
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.
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.
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.
![]() |
![]() |
---|
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.
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
Solución al 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.
- 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 bloquesi _ si no
si hay que encenderlos o apagarlos.
Jugando con paneles
- Además de las tiras de LEDs, también hay anillos y paneles de LEDs de varias dimensiones.
- 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.
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.
- El bloque fundamental es el de inicialización, ya que define dónde se conecta el panel, sus dimensiones y su orientación.
- 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.
![]() |
![]() |
---|---|
![]() |
![]() |
- 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.
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.
⬅️ Actividad anterior | Actividad siguiente ➡️ |
---|
© by Citilab Edutec 2019-2025.
This work is licensed under a CC-BY-SA 4.0 license.