Tira de LED Arduino RGB con APA102

En este proyecto de tira de LED Arduino RGB, le mostramos cómo conectar la tira de LED APA102 a un Arduino Uno.

Dentro de este tutorial, aprenderá cómo cablear la tira de LED APA102 para que use el Arduino Uno como su controlador y recupere energía de un adaptador externo.

Usamos un adaptador de corriente externo en nuestra guía, ya que consumir demasiada corriente del Arduino puede dañar la placa.

Además de mostrarle cómo conectar el APA102 y el Arduino juntos, también le mostraremos cómo puede utilizar la biblioteca FastLED para controlar la tira de LED.

Hay muchas formas de ampliar este proyecto de Arduino. Por ejemplo, puede cambiar los colores de la tira para representar la temperatura actual. Use algo como el sensor de temperatura DS18B20 con el Arduino.

También puede configurar la tira de LED APA102 con una Raspberry Pi. Es perfecto si prefiere usar la Pi para todos sus proyectos.

Equipo

Para completar este proyecto de tira de LED APA102, necesitará recoger algunos equipos.

Recomendado

Arduino Uno

Tira de LED APA102

Conector hembra adaptador de corriente CC

Adaptador de corriente alterna de 5 V, 10 A

Alambre de tablero

Configuración del circuito de tira de LED Arduino APA102

Conectar el circuito LED APA102 a su Arduino es un proceso relativamente simple.

Hemos incluido tanto instrucciones escritas como un diagrama para ayudarlo con el proceso de cableado de la tira de LED APA102 a un Arduino Uno.

  • Conecte el pin positivo (+) del adaptador de barril de CC a la conexión VCC en el APA102
  • Conecte el pin negativo (-) del adaptador de barril de CC al pin GND en el Arduino y a la conexión GND en la tira de LED APA102
  • Conecte la conexión CKI (CI) del APA102 al Pin 11 en el Arduino
  • Conecte la conexión SDI (DI) del APA102 al Pin 13 en el Arduino

El diagrama a continuación debería ayudarlo si se confunde sobre dónde debe cablearse cada conexión.

Preste especial atención al cable de tierra que debe conectarse desde la tira de led APA102 tanto al conector del barril como al Arduino.

En este circuito, nos aseguramos de utilizar una fuente de alimentación separada para alimentar la tira de LED APA102, razón por la cual usamos un adaptador de conector de barril de CC.

La razón para usar el adaptador de corriente CC es que el Arduino no es capaz de mantener la corriente necesaria para alimentar una tira de LED más larga. El gran consumo de energía podría dañar potencialmente el Arduino.

Importación de las bibliotecas de tiras de LED APA102

Para interactuar con nuestra tira de LED APA102 RGB de Arduino, usaremos la biblioteca “FastLED”.

La biblioteca FastLED está diseñada para facilitar la interacción con todo tipo de tiras de LED, incluido el APA102 que estamos utilizando en este tutorial.

1. Dentro del IDE de Arduino, necesitamos importar la biblioteca «FastLED» yendo a Sketch (1.) -> Incluir biblioteca (2.) -> Administrar bibliotecas (3.)

2. Dentro del Arduino Library Manager, busque «fastled» en el cuadro de texto (1.). A continuación, busque “FastLED de Daniel García” y haga clic en el botón “Instalar” (2.).

Una vez que se haya instalado la biblioteca «FastLED», puede continuar y hacer clic en el botón «Cerrar» (3.).

Calibración de la tira de LED RGB con Arduino

Ahora es el momento de escribir el código para controlar nuestra tira de LED Arduino RGB.

1. Dentro de la interfaz IDE de Arduino, comience a ingresar las siguientes líneas de código.

Le explicaremos qué hace cada sección del código para que comprenda cómo modificarlo para sus propias necesidades.

#include

Para empezar, necesitamos incluir el archivo de encabezado de la biblioteca «FastLED».

Esta biblioteca es la que utilizaremos para enviar datos a nuestra tira de LED APA102. Simplifica enormemente el proceso de interacción con las tiras de LED.

#define NUM_LEDS 6 #define DATA_PIN 11 #define CLOCK_PIN 13

Aquí definimos algunas constantes a las que haremos referencia a lo largo de nuestro código.

NUM_LEDS contiene el número de LED con los que tendrá que lidiar. Para este breve fragmento, solo necesitaremos seis, ya que solo buscamos calibrar la tira.

DATA_PIN es el número de pin a través del cual la biblioteca debe enviar sus datos para controlar la tira APA102.

CLOCK_PIN contiene el número de pin que la biblioteca necesitará usar para enviar la señal de reloj. Este pin es necesario para la tira APA102 ya que utiliza una interfaz SPI.

Leds CRGB[NUM_LEDS];

A continuación, definimos una matriz llamada «LED» que utiliza el CRGB de FastLED como su tipo de datos.

Esta matriz será monitoreada por la biblioteca FastLED para que sepa qué LED deben encenderse y el color que deben tener.

configuración vacía () {retraso (2000); LEDS.addLeds <APA102, DATA_PIN, CLOCK_PIN, RGB> (leds, NUM_LEDS); }

Esta función «setup ()» se ejecuta al iniciar el dispositivo Arduino.

Comenzamos usando la función «delay ()». Usamos esta función para darle la oportunidad de reprogramar el Arduino si algo sale mal.

A continuación, utilizamos la función «addLeds <> ()» de las bibliotecas FastLED. Usamos esta función para configurar la biblioteca para que funcione con nuestra tira de LED APA102.

A esta función, le pasamos el número de modelo (APA102) de la tira de LED, nuestras constantes DATA_PIN y CLOCK_PIN junto con nuestro orden de color, que por ahora es RGB.

También hacemos referencia a nuestra matriz de «LEDS» que creamos y nuestros NUM_LEDS. La biblioteca leerá automáticamente de nuestra matriz cuando la llamemos a su función «show ()».

bucle vacío () {leds[0] = CRGB (255,0,0); leds[1] = CRGB (0,255,0); leds[2] = CRGB (0,255,0); leds[3] = CRGB (0,0,255); leds[4] = CRGB (0,0,255); leds[5] = CRGB (0,0,255); FastLED.show (); retraso (1000); }

Esta función «loop ()» se ejecuta automáticamente de forma continua por el Arduino después de que la función «setup ()» ha terminado de dispararse.

Dentro de este ciclo, definimos un valor para cada punto en nuestra matriz «LEDS».

Se iluminarán los primeros 6 LED en nuestra tira y debería terminar mostrándose en el siguiente orden; 1 rojo, 2 verdes y 3 azules. Formateamos el color de cada LED utilizando la función de las bibliotecas “FastLED” “CRGB ()”.

Después de haber establecido cada valor, utilizamos la función «show ()» de las bibliotecas de FastLED para enviar la nueva matriz de colores a la tira de LED APA102.

Finalmente, para finalizar el ciclo, retrasamos el script durante 1 segundo.

2. La versión final del script debería tener el mismo aspecto que se muestra a continuación.

#include #define NUM_LEDS 6 #define DATA_PIN 11 #define CLOCK_PIN 13 leds CRGB[NUM_LEDS]; configuración vacía () {retraso (2000); LEDS.addLeds <APA102, DATA_PIN, CLOCK_PIN, RGB> (leds, NUM_LEDS); } bucle vacío () {leds[0] = CRGB (255,0,0); leds[1] = CRGB (0,255,0); leds[2] = CRGB (0,255,0); leds[3] = CRGB (0,0,255); leds[4] = CRGB (0,0,255); leds[5] = CRGB (0,0,255); FastLED.show (); retraso (1000); }

3. Ahora necesitamos enviar este código al Arduino. Puede hacer esto haciendo clic primero en el botón «Verificar» (1.) y luego en el botón «Cargar» (2.).

4. Después de enviar el código a su Arduino, la tira de LED RGB APA102 debería encenderse. Tome nota del orden de los colores que se muestran ahora en la tira de LED. Debe ser rojo, verde y azul.

Si el orden de los colores es correcto, puede pasar a la siguiente sección.

Cambiar el orden de los colores

Si el orden de los colores es incorrecto, anótelo. Por ejemplo, si se ha mostrado como azul, verde y rojo, entonces debe tomar nota de que el orden de los colores es BGR.

Dentro del código, debe modificar la línea «LEDS.addLeds».

Cambie la secuencia de colores “RGB” definida por la nueva que acaba de elaborar. En este ejemplo, necesitamos cambiar el valor a «BGR».

La línea modificada debería terminar pareciéndose a la siguiente.

LEDS.addLeds <APA102, DATA_PIN, CLOCK_PIN, BGR> (leds, NUM_LEDS);

5. Con el cambio realizado, verifique y vuelva a cargar el código en Arduino nuevamente.

Si todo funciona correctamente, los colores de su tira de LED ahora deberían mostrarse en el orden correcto.

Eso es todo lo que tengo en esta configuración de tira de LED Arduino, así que espero que ahora lo tenga todo funcionando. Tenemos muchos otros excelentes proyectos de Arduino que lo guiarán a través de la configuración de sensores y otros dispositivos. Perfecto si quieres ampliar un poco este tutorial.