Nota

¡Hola! Bienvenido a la Comunidad de Entusiastas de SunFounder para Raspberry Pi, Arduino y ESP32 en Facebook. Sumérgete en el mundo de Raspberry Pi, Arduino y ESP32 junto a otros entusiastas.

¿Por qué unirse?

  • Soporte de expertos: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.

  • Aprende y comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.

  • Preestrenos exclusivos: Obtén acceso anticipado a anuncios de nuevos productos y adelantos.

  • Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.

  • Promociones y sorteos festivos: Participa en sorteos y promociones de temporada.

👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo.

2.10 Luces Fluyentes

El kit incluye una tira de LED RGB WS2812, que puede mostrar una variedad de colores y cada LED se puede controlar de manera independiente.

Aquí intentamos utilizar el interruptor de inclinación para controlar la dirección de flujo de los LEDs en la tira de LED RGB WS2812.

Componentes Necesarios

Para este proyecto, necesitamos los siguientes componentes.

Es muy conveniente adquirir un kit completo; aquí tienes el enlace:

Nombre

COMPONENTES EN ESTE KIT

ENLACE

Kit Kepler

450+

Kepler Ultimate Kit

También puedes comprarlos por separado en los enlaces a continuación.

SN

COMPONENTE

CANTIDAD

ENLACE

1

Conociendo el Pico W

1

COMPRAR

2

Cable Micro USB

1

3

Protoboard

1

COMPRAR

4

Cables de Puente (Jumpers)

Varios

COMPRAR

5

Resistor

1(10KΩ)

COMPRAR

6

Interruptor de Inclinación

1

7

Tira de LEDs RGB WS2812 de 8 LEDs

1

COMPRAR

Conexión

WS2812_Flow_friz

Código

Nota

  • Puedes referirte a la imagen a continuación para escribir el código arrastrando y soltando.

  • Importa 2.10_flowing_led.png desde la ruta kepler-kit-main\piper. Para obtener tutoriales detallados, consulta Importar el Código.

neopixel

Después de conectar el Pico W, haz clic en el botón Start y el código comenzará a ejecutarse.

Cuando el interruptor de inclinación está en posición vertical, hace que los LEDs de la tira WS2812 RGB se enciendan uno por uno en verde, y cuando el interruptor de inclinación está en posición horizontal, los LEDs se encienden uno por uno en la dirección opuesta en verde.

Programación

Paso 1: Usa el bloque [setup neopixel pin() pixels()] en el menú Actions para inicializar la tira de LED RGB WS2812. 0 significa que el pin conectado es GP0 y 8 indica que hay 8 LEDs RGB en la tira WS2812 RGB.

neo1

Paso 2: En el menú Variables, haz clic en el botón Create variable para crear una variable llamada i que representará los LEDs en la tira WS2812 RGB.

neo2

Paso 3: Establece el valor inicial de la variable i en 1 (el LED más cercano a los cables), luego en el bloque [repeat forever] usa [() mod ()] para fijar el valor de i de 0 a 7, por ejemplo: 1 mod 8 = 1… 8 mod 8 =0, 9 mod 8 =1, etc.

  • [() mod ()]: Este es el bloque de operador de módulo, en el menú Loops, selecciona [() = ()] y elige mod.

neo3

Paso 4: Configura todos los neopixels a negro para apagar todos los LEDs, luego usa [updates neopixels] para actualizar este efecto en la tira de LED RGB WS2812.

neo4

  • [set all neopixels to ()]: Usado para establecer un color en todos los LEDs, hay 13*9 colores; el color en la esquina superior derecha es negro para apagar los LEDs.

  • [updates neopixels]: Actualiza el efecto en la tira de LED RGB WS2812.

Paso 5: Si el pin14 lee alto, enciende los LEDs de la tira WS2812 RGB uno por uno en verde; de lo contrario, enciéndelos en la dirección opuesta también en verde.

neo5

  • [change () by ()]: Usado para aumentar (positivo) o disminuir (negativo) el valor de una variable en un paso específico.