Saltar a contenido

15. LED RGB WS2812

15. LED RGB WS2812

Resumen

El LED RGB WS2812 es un LED RGB de control externo que integra un circuito de control y un circuito emisor de luz. Utiliza un sistema de comunicación por código de retorno a cero de una sola línea y admite 256 niveles de gris para mostrar una gama completa de colores. El chip integrado en cada píxel estabiliza eficazmente la salida de color.Se utiliza ampliamente en iluminación, pantallas y decoración.

Esquema

Coding Box dispone de 12 WS2812 colocados en forma circular y conectados según el siguiente esquema:

Esquema

Según el esquema, el WS2812 se conecta y transmite datos a través de un solo cable mediante el método de comunicación denominado "código de retorno a cero en bus único" (single NZR). Los datos se introducen en serie a través del pin DIN y cada píxel recibe y procesa 24 bits de datos (canales de color rojo, verde y azul, con 8 bits cada uno).

Para obtener información detallada sobre el modo de transmisión, consulta: LED RGB direccionable, donde podrás encontrar las especificaciones del WS2812.

Bloques

De Visualización / NeoPixel:

  • Bloque Para indicar la configuración de los LEDs direccionables. Hay que indicar la frecuencia, el número de pixeles y el pin al que están conectados.
Sobre la frecuencia

Representa la velocidad del bitstream (o flujo de bits) con los datos enviados a través del pin de entrada con los datos de cada LED. Una frecuencia de 400kHz permite controlar por encima de mil LEDs con una tasa de refresco de 30 fps.

Un bitstream (o flujo de bits) es una sucesión o secuencia de bits (ceros y unos) transmitida de manera continua a través de un canal digital.

Las siglas RGB, GRB y NRGB en los NeoPixels (o LEDs direccionables) se refieren al orden en el que el chip controlador envía los colores (Rojo, Verde y Azul) a cada LED. El color final dependerá de si el programa de control coincide con el orden físico de los LEDs.

  • RGB (Red, Green, Blue): Es el formato estándar original.
  • GRB (Green, Red, Blue): Es el orden común en muchas tiras modernas de Neopixel (como las basadas en el chip WS2812b). Los datos de color se transmiten enviando el Verde primero, luego el Rojo y finalmente el Azul. Si conectas una tira GRB a un código configurado para RGB, los colores se mezclarán mal (por ejemplo, el rojo se encenderá en verde).
  • NRGB: A menudo se les llama así cuando incorporan un cuarto canal de color Blanco (White).

  • Bloque Apaga todos los LEDs.

  • Bloque Actualiza los datos enviados a los LEDs. Las operaciones no se reflejan hasta que se ejecute el bloque "Mostrar".
  • Bloque Permite fijar un pixel al color indicado.
  • Bloque Permite fijar un pixel al color indicado escogiendo de la paleta que se muestra.

Prueba del código

Puedes crear los bloques manualmente o abrir directamente el archivo de código que te puedes descargar del enlace: 15. LED RGB WS2812.

El programa es el siguiente:

15. LED RGB WS2812 15. LED RGB WS2812

Resultado de la prueba

Conecta Coding Box a STEAMakersBlocks mediante un cable USB, por en marcha "Connector" y haz clic en el botón "Subir" para cargar el código. Al inicializar la placa los seis primeros LED RGB se iluminan, respectivamente, en rojo, verde, azul, amarillo, cian y morado, mientras que los otros seis se iluminan en tonos de verde y de gris. Posteriormente todos los LEDs se iluminan de un color aleatorio durante cada segundo. El ciclo se repite indefinidamente.