11. Comunicación con neopixels

Comunicación con neopixels

La tarjeta de desarrollo cuenta con capacidades de E/S versátiles en esta ocasión control de tiras de LED RGB programables individualmente conocidas como Neopixels. Hemos adaptado el código original de Stefan Wagner con el objetivo de lograr una comunicación eficiente y fluida en el chip ch552.

Los Neopixels utilizan el protocolo WS2812, que implica enviar una serie de bits que representan los valores de color para cada LED en la cadena. Se debe generar la secuencia de bits de acuerdo con las especificaciones del protocolo.

Aquí hay una guía general sobre cómo podrías conectar el chip CH552 a las tiras de Neopixels:

neopixel

Compilar proyecto


Uso por Entorno

Puedes acceder al código de ejemplo utilizando la siguiente ruta:

  File -> Examples -> Unit_SketchLab_Advance -> WS2812.ino

Uso por Descarga del Código

Para probar el ejemplo, es necesario seguir los siguientes pasos:

  • Descarga el archivo:

  • Dentro de la carpeta WS2812 existe un archivo que lleva por nombre WS2812.ino abre el archivo con Arduino IDE.

Configura el entorno con las siguientes especificaciones:

   - Reloj: 16 MHz.
   - Método de carga: USB.
   - Ajuste de carga a: "USER CODE w/ 266B USB ram".
PWM

Compilar y correr un programa


Carga un programa ingresando al modo de BOOT (cargador de arranque). Desconecte el cable USB, presione el botón BOOT en la tarjeta de desarrollo y luego vuelve a conectar a la PC.

Imagen de ch552

Presione cargar código y espere hasta que muestre el mensaje Reset ok.

buttons_leds

Conexiones físicas: Conecta la salida de datos del Neopixel a un pin de salida del chip CH552 para este ejemplo usaremos el PIN P33.

Fuente de Alimentación: Asegúrate de tener una fuente de alimentación adecuada para los Neopixels. Pueden requerir más corriente de la que el chip CH552 puede proporcionar directamente, regularmente un led WS2812 a su máximo brillo puede llegar a consumir hasta 60 mA.

Resultado


GIF

Puedes cambiar la configuración de velocidad y número Neopixels, así como nivel de iluminación.


#define delay 100

#define NeoPixel 16 // Number Neopixel conect

#define level 64 // Ilumination level 0 to 255

Para completar la carga del código, presiona el botón de boot mientras se conecta vía USB.

Siguiente

⌨️ con ❤️ por UNIT-Electronics 😊