Base di FastLED

In questo Instructables vedremo come scrivere il programma FastLED e come utilizzare la libreria FastLed. Vedremo anche come possiamo programmare per progettare i nostri modelli di colore. Questa libreria supporta diversi tipi di strisce LED fornite con i diversi controller LED come WS2811, WS2812, Neopixel, ecc.

Cominciamo

Passaggio 1: Prima di iniziare:

1. Arduino Uno

2. Striscia LED con controller come ws2811 o altro

3. Alimentatore secondo la classificazione di Led Strip.

Passaggio 2: Includi libreria:

Scarica la libreria FastLED da qui:

//github.com/FastLED/FastLED

Includi questa libreria nel tuo arduino ide.

Passaggio 3: impostazione della striscia LED:

Collegare la striscia LED all'alimentazione. Il pin di dati della striscia LED viene inserito nel pin digitale selezionato nel codice. Assicurarsi che il terreno dello strop LED e l'arduino debbano essere collegati insieme.

Puoi utilizzare la striscia led neopixel o puoi acquistare una striscia led economica dal mercato e ciò che devi fare è rimuovere la prima sezione led della striscia led che ha un controller principale. Dalla prossima serie di LED puoi usare come striscia neopixel. Ma nella striscia principale cinese un ic controlla tre led in serie, il che significa che ogni pixel è uguale al pixel a 3 led. Se si scrivono dati sul primo ic, i tre led collegati a quel ic si accenderanno. Quindi sto usando questo tipo di striscia led economica che ha 7 ic in serie che controllano 21 led come un gruppo di 3 led.

Connessioni:

Arduino: pin digitale 6 ---> pin Din della striscia LED

gnd ---> Gnd della striscia LED

Alimentazione: terminale positivo ---> + vcc della striscia LED

gnd ---> gnd della striscia LED

Passaggio 4: file di intestazione e costanti:

Questo credito Tutorial va a //github.com/FastLED/FastLED/wiki/Basic-usag ...

Si prega di visitare questo link per informazioni più dettagliate.

Quindi cominciamo ...

#includere // file di intestazione

#define NUM_LEDS 60 // numero di led presenti nella tua striscia
#define DATA_PIN 6 // pin digitale del tuo arduino

LED CRGB [NUM_LEDS];


Passaggio 5: Impostazione del vuoto ()

A seconda del tipo di striscia led, selezionare la funzione di impostazione del vuoto appropriata

void setup () {

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

}

o

void setup () {
FastLED.addLeds (led, NUM_LEDS);

}

o

void setup () {
FastLED.addLeds (led, NUM_LEDS);

}

o

void setup () {
FastLED.addLeds (led, NUM_LEDS);

}

o

void setup () {
FastLED.addLeds (led, NUM_LEDS);

}

Passaggio 6: accendi un LED:

// nella mia striscia un pixel equivale a 3 led, quindi quando accendo 1 led come nel codice 3 i led erano luminosi

// questo perché sulla mia striscia led 3 led sono collegati in serie e controllati da ws28111 su 12v

// leds [led no.] è un array

void loop () {

led [0] = CRGB :: Verde; // bagliore 1 ° led verde

FastLED.show (); // applica la funzione sulla striscia led

ritardo (30);

}


Ammiccalo ....

void loop ()
{leds [0] = CRGB :: Blu;

FastLED.show ();

ritardo (200);

led [0] = CRGB :: Nero;

FastLED.show ();

ritardo (200);

}

Passaggio 7: LED Chaser:

// insegui in avanti

void loop ()

{

per (int punto = 0; punto <NUM_LEDS; punto ++)

{leds [punto] = CRGB :: Rosso;

FastLED.show ();

leds [punto] = CRGB :: Nero;

ritardo (300);

}

}

// insegue all'indietro

void loop ()
{for (int dot = NUM_LEDS; punto> = 0; punto--)

{leds [punto] = CRGB :: Rosso;

FastLED.show ();

leds [punto] = CRGB :: Nero;

ritardo (300);

}

}

// insegui entrambi

void loop ()
{for (int dot = (NUM_LEDS-1); punto> = 0; punto--)

{

leds [punto] = CRGB :: Verde;

FastLED.show ();

leds [punto] = CRGB :: Nero;

ritardo (300);

}

per (int punto = 0; punto <NUM_LEDS; punto ++)

{leds [punto] = CRGB :: Rosso;

FastLED.show ();

leds [punto] = CRGB :: Nero;

ritardo (300);

}

}

Passaggio 8: bagliore seriale:

void loop ()

{

per (int dot = (NUM_LEDS-1); punto> = 0; punto--)

{leds [punto] = CRGB :: HotPink;

FastLED.show ();

ritardo (300);

}

per (int punto = 0; punto <NUM_LEDS; punto ++)

{

leds [punto] = CRGB :: Blu;

FastLED.show ();

ritardo (300);

}

}

Articoli Correlati