Básico de FastLED

En Instructables veremos cómo podemos escribir el programa FastLED, así como también cómo usar la biblioteca FastLed. También veremos cómo podemos codificar para diseñar nuestros propios patrones de color. Esta biblioteca admite diferentes tipos de la tira de LED que viene con los diferentes controladores de LED, como WS2811, WS2812, Neopixel, etc.

Vamos a empezar

Paso 1: Antes de comenzar:

1. Arduino Uno

2. Tira de LED que tiene un controlador como ws2811 u otro

3. Fuente de alimentación según la clasificación de Led Strip.

Paso 2: Incluir biblioteca:

Descargue la biblioteca FastLED desde aquí:

//github.com/FastLED/FastLED

Incluye esta biblioteca en tu ide arduino.

Paso 3: Configuración de la tira de LED:

Conecte la tira de LED a su fuente de alimentación. El pin de datos de la tira de LED entra en cualquier pin digital que haya seleccionado en el código. Asegúrese de que la tierra de la tira de LED y el arduino deben estar conectados entre sí.

Puede usar una tira de led de neopixel o puede comprar una tira de led barata en el mercado y lo que necesita hacer es eliminar la primera sección de led de la tira de led que tiene el controlador maestro. A partir de la próxima serie de LED, puede usar como la tira de neopixel. Pero en la tira de led china, un ic controla tres led en serie, lo que significa que cada píxel es igual al píxel de 3 led. Si escribe datos en el primer ic, los tres leds conectados con ese ic se iluminarán. Así que estoy usando este tipo de tira led barata que tiene 7 ic en serie que controla 21 led como un grupo de 3 leds.

Conexiones:

Arduino: pin digital 6 ---> pin Din de tira de LED

gnd ---> Gnd de tira de LED

Fuente de alimentación: terminal positivo ---> + vcc de tira de LED

gnd ---> gnd de tira de LED

Paso 4: archivos de encabezado y constantes:

Este crédito de Tutorial va a //github.com/FastLED/FastLED/wiki/Basic-usag ...

Visite este enlace para obtener más información detallada.

Vamos a empezar...

#incluir // archivo de cabecera

#define NUM_LEDS 60 // número de led presente en su tira
#define DATA_PIN 6 // pin digital de su arduino

Leds CRGB [NUM_LEDS];


Paso 5: Configuración vacía ()

Dependiendo del tipo de tira de LED, seleccione la función de configuración de vacío adecuada

configuración nula () {

FastLED.addLeds < NEOPIXEL, DATA_PIN > (leds, NUM_LEDS);

}

o

configuración nula () {
FastLED.addLeds (leds, NUM_LEDS);

}

o

configuración nula () {
FastLED.addLeds (leds, NUM_LEDS);

}

o

configuración nula () {
FastLED.addLeds (leds, NUM_LEDS);

}

o

configuración nula () {
FastLED.addLeds (leds, NUM_LEDS);

}

Paso 6: Ilumina un LED:

// en mi tira un píxel equivale a 3 led, así que cuando enciendo 1 led como en el código 3, los leds brillaban

// esto se debe a que en mi tira led 3 leds están conectados en serie y controlados por ws28111 en 12v

// leds [led no.] es una matriz

bucle vacío () {

leds [0] = CRGB :: Verde; // resplandor 1er led como verde

FastLED.show (); // aplica la función en tira led

retraso (30);

}


Parpadea ...

bucle vacío ()
{leds [0] = CRGB :: Azul;

FastLED.show ();

retraso (200);

leds [0] = CRGB :: Negro;

FastLED.show ();

retraso (200);

}

Paso 7: LED Chaser:

// perseguir

bucle vacío ()

{

para (int dot = 0; dot <NUM_LEDS; dot ++)

{leds [dot] = CRGB :: Rojo;

FastLED.show ();

leds [punto] = CRGB :: Negro;

retraso (300);

}

}

// perseguir hacia atrás

bucle vacío ()
{for (int dot = NUM_LEDS; dot> = 0; dot--)

{leds [dot] = CRGB :: Rojo;

FastLED.show ();

leds [punto] = CRGB :: Negro;

retraso (300);

}

}

// persigue a ambos

bucle vacío ()
{for (int dot = (NUM_LEDS-1); dot> = 0; dot--)

{

leds [punto] = CRGB :: Verde;

FastLED.show ();

leds [punto] = CRGB :: Negro;

retraso (300);

}

para (int dot = 0; dot <NUM_LEDS; dot ++)

{leds [dot] = CRGB :: Rojo;

FastLED.show ();

leds [punto] = CRGB :: Negro;

retraso (300);

}

}

Paso 8: resplandor en serie:

bucle vacío ()

{

para (int dot = (NUM_LEDS-1); dot> = 0; dot--)

{leds [dot] = CRGB :: HotPink;

FastLED.show ();

retraso (300);

}

para (int dot = 0; dot <NUM_LEDS; dot ++)

{

leds [punto] = CRGB :: Azul;

FastLED.show ();

retraso (300);

}

}

Artículos Relacionados