INHALT
Die Arduino FastLED Bibliothek wird verwendet, um verschiedene Effekte auf den ws2812 und ws2811 LED adressierbaren Streifen zu erzeugen. Diese Bibliothek wurde bei der Entwicklung der Arduino-Lightbar verwendet und viele interessante Effekte können damit realisiert werden. Um die Funktionen der Bibliothek zu verstehen, sollten wir uns die Datei FastLED.h mit Beispielprogrammen und Befehlsbeschreibungen ansehen.
Bestandteile:
- Arduino Uno / Arduino Nano / Arduino Mega
- adressierbare LEDs ws2812b
- 5-Volt-Stromversorgung
- Widerstand
- Dupont-Kabel
- Bibliothek FastLED.h
Im Folgenden finden Sie eine detaillierte Beschreibung der Befehle der beliebten Arduino-Bibliothek FastLED.h mit Beispielprogrammen. Das erste, was im Sketch zu tun ist, ist die Bibliothek in das Programm mit dem #include-Befehl einzuschließen und die #define-Konstanten für die einfache Programmierung von ws2812b-LEDs zu setzen. Sie sollten die Anzahl der Pixel in der LED-Leiste und den Arduino-Pin für den Anschluss angeben.
Beschreibung der Bibliothek FastLED.h Arduino
Zwei populäre Bibliotheken werden verwendet, um den LED-Streifen zu steuern: FastLED, AdafruitNeoPixel. Alle Bibliotheken können von unserer Website heruntergeladen werden. Die FastLED- und NeoPixel-Bibliotheken sind einfach zu verwenden, unterscheiden sich aber in Funktion und Speicherplatzbedarf. Nachdem Sie die Schaltung gebaut und die Bibliothek installiert haben, laden Sie den Code für die adressierbaren LEDs herunter.
Programm mit der FastLED.h Effekt „Regenbogen“
#include "FastLED.h" byte bright = 50; // LED-Helligkeit byte baza = 0; #define NUM_LEDS 100 // Anzahl der LEDs #define PIN 4 // anschlusspin ws2812b CRGB led[NUM_LEDS]; void setup() { FastLED.addLeds<WS2812,PIN,GRB>(led,NUM_LEDS).setCorrection(TypicalLEDStrip); FastLED.setBrightness(bright); } void loop() { for(int i = 0; i < NUM_LEDS; i++) { leds[i] = CHSV(baza+ i * 5, 255, 255); } baza++; FastLED.setBrightness(bright); FastLED.show(); delay(20); }
Programm mit der FastLED.h Effekt „Konfetti“
#include "FastLED.h" byte bright = 50; // LED-Helligkeit byte baza = 0; #define NUM_LEDS 100 // Anzahl der LEDs #define PIN 4 // anschlusspin ws2812b CRGB led[NUM_LEDS]; void setup() { FastLED.addLeds<WS2812,PIN,GRB>(led,NUM_LEDS).setCorrection(TypicalLEDStrip); FastLED.setBrightness(bright); } void loop() { fadeToBlackBy(leds, NUM_LEDS, 2); int pos = random16(NUM_LEDS); leds[pos] += CHSV(baza++ + random8(64), 200, 255); FastLED.setBrightness(bright); FastLED.show(); }
Programm mit der FastLED.h Effekt „Laufendes Licht“
#include "FastLED.h" byte bright = 50; // LED-Helligkeit byte baza = 0; #define NUM_LEDS 100 // Anzahl der LEDs #define PIN 4 // anschlusspin ws2812b CRGB led[NUM_LEDS]; void setup() { FastLED.addLeds<WS2812,PIN,GRB>(led,NUM_LEDS).setCorrection(TypicalLEDStrip); FastLED.setBrightness(bright); } void loop() { fadeToBlackBy(leds, NUM_LEDS, 2); int pos = beatsin16(13, 0, NUM_LEDS - 1); leds[pos] += CHSV(baza++, 255, 192); FastLED.setBrightness(bright); FastLED.show(); }
- In den Dateien dieser beliebten Bibliothek gibt es verschiedene Beispiele mit Effekten für adressierbare LEDs ws2812b.
Fehler «FastLED.h no such file or directory»
Das erste, worauf jeder Programmieranfänger stößt und es dauert lange, die Ursache zu finden, ist ein Compiler-Fehler für das Arduino Uno Board beim Laden des Programms. Der Fehler FastLED.h no such file or directory bedeutet, dass die Bibliothek FastLED.h nicht in der Arduino IDE installiert ist. Das Problem wird durch die Installation der Bibliothek gelöst. Diese Regel gilt auch, wenn der Fehler bei anderen Bibliotheken auftritt.
Schlussfolgerung. Zusätzlich zu den Grundparametern stellt die void setup-Prozedur auch die LED-Helligkeit mit FastLED.setBrightness() ein – der maximale Wert ist 255. Die Helligkeit kann überall im Programm geändert werden, auch in der void-Schleife. In der Hauptschleife beleuchten wir nacheinander die Pixel auf dem adressierbaren LED-Streifen ws2812b mit verschiedenen Farben, die mit der RGB-Palette definiert werden.
Schreibe einen Kommentar