INHALT
Die Arduino Adafruit NeoPixel-Bibliothek wird zur Steuerung einer adressierbaren LED-Leiste verwendet und ist recht beliebt. Daher lohnt es sich, einen genaueren Blick auf die vorhandenen Befehle und die Beschreibung der Bibliothek Adafruit_NeoPixel.h in Deutsch mit Beispielprogrammen zu werfen. Mit der Bibliothek können Sie Effekte für eine LED-Matrix auf dem WS2812B oder eine Weihnachtsgirlande auf dem Arduino erstellen.
Bestandteile:
- Arduino Uno / Arduino Nano / Arduino Mega
- adressierbare LEDs ws2812b
- 5-Volt-Stromversorgung
- Widerstand
- Dupont-Kabel
- Bibliothek Adafruit_NeoPixel.h
Das Archiv mit der Bibliothek Adafruit_NeoPixel.h und FastLED.h enthält einige Beispielprogramme, mit denen Sie verstehen können, wie man die Befehle der Bibliothek Adafruit_NeoPixel.h verwendet, um das adressierbare LED-Band ws2812b vom Arduino Uno Mikrocontroller in einem Sketch zu steuern. Wir werden uns ein einfaches Beispielprogramm mit einem Lauflicht auf dem adressierbaren LED-Streifen ansehen.
Beschreibung der Bibliothek Adafruit_NeoPixel.h
Im Programm müssen wir nach dem Einfügen der Bibliothek Adafruit_NeoPixel.h das Objekt erstellen, das wir steuern werden – strip. Wenn Sie zwei oder mehr adressierbare LED-Streifen anschließen, müssen Sie verschiedene Namen angeben. In Klammern müssen Sie die Anzahl der Pixel, den Pin für das Logiksignal und die Einstellungen angeben, die für verschiedene Arten von adressierbaren LED-Streifen unterschiedlich sind.
Programm mit der Adafruit_NeoPixel.h Bibliothek
#include "Adafruit_NeoPixel.h" int pix = 100; Adafruit_NeoPixel strip (pix, 4, NEO_GRB + NEO_KHZ800); // NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers) // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products) // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) // NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products) void setup() { strip.begin(); strip.show(); strip.setBrightness(50); // maximum 255 } void loop() { for(int i = 0; i <= pix; i++) { strip.setPixelColor(i, 0, 0, 250); strip.show(); delay(50); } for(int b = 50; b < 250; b++) { for(int i = 0; i <= pix; i++) { strip.setPixelColor(i, 250, 250, b * i / 250); } strip.show(); delay(50); } }
- Wenn Sie die LED ausschalten möchten, geben Sie strip.Color(0, 0, 0); an;
- Die Nummerierung der LEDs im Streifen beginnt bei Null, wenn eine zweite LED einbezogen werden soll, dann muss strip.setPixelColor(1, 0, 0, 250); auf „1“ eingestellt werden.
Arduino Adafruit_NeoPixel.h Bibliothek Befehle
Adafruit_NeoPixel strip (Argument 1, Argument 2, Argument 3) – Initialisiert das Objekt address strip mit den folgenden Parametern:
Argument 1: Anzahl der LEDs (Pixel)
Argument 2: Die Nummer des Ports, an dem der Dateneingang angeschlossen ist
Argument 3: Besteht aus zwei Informationen, die den verwendeten LED-Typ definieren, d.h. ob es sich um RGB- oder RGBW-LEDs handelt. Eine falsche Wahl dieses Arguments kann zu zufälligen Funktionen, falscher Farbe, falscher Stelle, etc. führen.
strip.begin() – ermöglicht es Ihnen, ein Objekt vorzubereiten (muss im Setup platziert werden)
strip.setBrightness(value) – setzt die Helligkeit (maximal 255)
strip.setPixelColor(num, strip.Color(R,G,B)) – num = LED-Nummer 0 bis 11 (bei 12 LEDs) und strip.Color(R,G,B) definieren die anzuzeigende Farbe oder R = 0 bis 255 (Rotkanal), G =0 bis 255 (Grünkanal) und B ( 0 bis 255) Blaukanal.
strip.show() – zeigt die vorgenommenen Änderungen an
Fehler «Adafruit_NeoPixel.h no such file or directory»
Das erste, worauf jeder Arduino-Programmieranfänger stößt, ist ein Kompilierungsfehler beim Laden des Programms. Der Arduino-Fehler „Adafruit_NeoPixel.h no such file or directory“ bedeutet, dass die Bibliothek nicht auf dem Computer installiert ist. Das Problem kann gelöst werden, indem man einfach die Adafruit_NeoPixel-Bibliothek installiert. Diese Regel gilt auch, wenn dieser Fehler bei anderen Bibliotheken Arduino auftritt.
Schlussfolgerung. Die Nummerierung der LEDs in den ws2812- und ws2811-Adressstreifen beginnt bei Null. Wenn die erste LED auf dem LED-Streifen aktiviert werden soll, muss sie auf „0“ gesetzt werden. strip.setPixelColor(0, strip.Color(250, 0, 0, 0)); Wenn Sie noch Fragen zur Beschreibung der beliebten Arduino Adafruit_NeoPixel.h-Bibliothek haben, hinterlassen Sie sie in den Kommentaren zu diesem Beitrag.
Schreibe einen Kommentar