Basis van FastLED

In deze Instructables zullen we zien hoe we een FastLED-programma kunnen schrijven en hoe we de FastLed-bibliotheek kunnen gebruiken. We zullen ook zien hoe we kunnen coderen om onze eigen kleurpatronen te ontwerpen. Deze bibliotheek ondersteunt verschillende soorten ledstrips die bij de verschillende ledcontrollers worden geleverd, zoals WS2811, WS2812, Neopixel, enz.

Laten we beginnen

Stap 1: Voordat u begint:

1. Arduino Uno

2. LED-strip met controller zoals WS2811 of andere

3. Voeding volgens de classificatie van Led Strip.

Stap 2: Bibliotheek opnemen:

Download de FastLED-bibliotheek vanaf hier:

//github.com/FastLED/FastLED

Voeg deze bibliotheek toe aan uw Arduino-idee.

Stap 3: LED-strip instellen:

Sluit de LED Strip aan op je voeding. De gegevenspin van de LED-strip gaat in de digitale pin die u in de code hebt geselecteerd. Zorg ervoor dat de grond van de LED strop en de arduino met elkaar verbonden zijn.

U kunt een ledstrip van neopixel gebruiken of u kunt goedkope ledstrips op de markt kopen en wat u daarvoor moet doen, verwijdert u het eerste ledgedeelte van de ledstrip met de mastercontroller. Vanaf volgende serie leds kunt u gebruiken als neopixel strip. Maar in de Chinese ledstrip bedient één ic drie leds in serie, wat betekent dat elke pixel gelijk is aan de 3 led-pixel. Als u gegevens op de eerste ic schrijft, gaan de drie leds die op die ic zijn aangesloten branden. Dus ik gebruik dit type goedkope ledstrip met 7 ic in serie die 21 leds aansturen als een stel van 3 leds.

Aansluitingen:

Arduino: digitale pin 6 ---> Din-pin van LED-strip

gnd ---> Gnd van ledstrip

Voeding: positieve terminal ---> + vcc van LED-strip

gnd ---> gnd van LED Strip

Stap 4: Kopbestanden en constanten:

Dit studietegoed gaat naar //github.com/FastLED/FastLED/wiki/Basic-usag ...

Bezoek deze link voor meer en gedetailleerde informatie.

Dus laten we beginnen ...

#include // header-bestand

#define NUM_LEDS 60 // aantal leds aanwezig in uw strip
#define DATA_PIN 6 // digitale pin van je Arduino

CRGB-leds [NUM_LEDS];


Stap 5: Installatie annuleren ()

Selecteer, afhankelijk van het type ledstrip, de juiste functie voor het instellen van lege ruimtes

ongeldige setup () {

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

}

of

ongeldige setup () {
FastLED.addLeds (leds, NUM_LEDS);

}

of

ongeldige setup () {
FastLED.addLeds (leds, NUM_LEDS);

}

of

ongeldige setup () {
FastLED.addLeds (leds, NUM_LEDS);

}

of

ongeldige setup () {
FastLED.addLeds (leds, NUM_LEDS);

}

Stap 6: Laat een LED branden:

// in mijn strip is één pixel gelijk aan 3 leds, dus als ik licht 1 led zoals in code 3 leds brandden

// dit komt omdat op mijn ledstrip 3 leds in serie zijn geschakeld en bestuurd door ws28111 op 12v

// leds [led no.] is een array

leegte lus () {

leds [0] = CRGB :: groen; // gloed 1e led als groen

FastLED.show (); // pas de functie toe op ledstrip

vertraging (30);

}


Knipper het ....

leegte lus ()
{leds [0] = CRGB :: Blauw;

FastLED.show ();

vertraging (200);

leds [0] = CRGB :: zwart;

FastLED.show ();

vertraging (200);

}

Stap 7: LED Chaser:

// achtervolgen

leegte lus ()

{

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

{leds [dot] = CRGB :: Red;

FastLED.show ();

leds [punt] = CRGB :: zwart;

vertraging (300);

}

}

// achterwaarts jagen

leegte lus ()
{voor (int dot = NUM_LEDS; dot> = 0; dot--)

{leds [dot] = CRGB :: Red;

FastLED.show ();

leds [punt] = CRGB :: zwart;

vertraging (300);

}

}

// achtervolg beide

leegte lus ()
{voor (int dot = (NUM_LEDS-1); dot> = 0; dot--)

{

leds [punt] = CRGB :: groen;

FastLED.show ();

leds [punt] = CRGB :: zwart;

vertraging (300);

}

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

{leds [dot] = CRGB :: Red;

FastLED.show ();

leds [punt] = CRGB :: zwart;

vertraging (300);

}

}

Stap 8: Serial Glow:

leegte lus ()

{

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

{leds [dot] = CRGB :: HotPink;

FastLED.show ();

vertraging (300);

}

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

{

leds [punt] = CRGB :: blauw;

FastLED.show ();

vertraging (300);

}

}

Verwante Artikelen