INHALT
Der adressierbare LED-Ring (Arduino NeoPixel Ring ws2812b Modul) ermöglicht es Ihnen, verschiedene schöne Lichteffekte zu erzeugen. In diesem Artikel werden wir uns den Anschluss eines 16- oder 24-Pixel-LED-Rings ws2812b an den Arduino-Mikrocontroller ansehen und einige Beispielprogramme mit interessanten Effekten für den adressierbare NeoPixel-Ring unter Verwendung der Adafruit_NeoPixel.h-Bibliothek vorstellen.
Bestandteile:
- Arduino Uno / Arduino Nano / Arduino Mega
- Modul WS2812B NeoPixel Ring
- Dupont-Kabel
- Bibliothek hsv.h und Adafruit_NeoPixel.h
Ein wichtiges Merkmal des NeoPixel Ring ws2812b ist sein hoher Stromverbrauch. Obwohl er mit Arduino-Mikrocontrollern kompatibel ist, ist es vorzuziehen, eine separate Stromversorgung für den Adafruit NeoPixel Ring zu verwenden. Die RGB-LED ws2812b verbraucht bis zu 45 mA, jede Farbe bei maximaler Helligkeit verbraucht etwa 15 mA. Erwägen Sie die Verdrahtung und Steuerung des Moduls über das Arduino Uno-Board.
Adafruit NeoPixel Ring Arduino pinout, datasheet
Merkmale des NeoPixel Ring ws2812b (datasheet)
- Versorgungsspannung: 5 V
- Stromaufnahme jeder LED: < 45 mA
- Betriebstemperatur: -25°C – +80°C
Die NeoPixel Ring Module werden über einen Eingang (DIN) mit einem digitalen Pin auf dem Arduino Board verbunden. Wenn mehrere Module angeschlossen sind, wird der Ausgang (OUT) jedes Moduls mit dem Eingang (IN) des nächsten Moduls verbunden und der Eingang (IN) des ersten Moduls mit einem beliebigen Arduino-Port. Die LEDs sind fortlaufend nummeriert, beginnend mit derjenigen, die dem Arduino-Board am nächsten ist.
Wie man einen NeoPixel Ring an einen Arduino anschließt
Um den LED-Ring ws2812b vom Arduino aus zu steuern, können Sie jedes Programm verwenden, das für die Steuerung der adressierbaren WS281B-LED-Leiste verwendet wird, Sie müssen nur die erforderliche Anzahl von RGB LEDs im Ring angeben. Sie können zum Beispiel Standardbeispiele aus der Adafruit NeoPixel oder FastLed Bibliothek verwenden. Unten haben wir ein Beispielprogramm für den Adafruit NeoPixel Ring veröffentlicht.
Programm NeoPixel Ring Steuerung durch Arduino
#include "Adafruit_NeoPixel.h" #include "hsv.h" #define PIN 4 #define CNT 12 #define MAXHUE 256*6 int pos = 0; int hue = 1; Adafruit_NeoPixel strip = Adafruit_NeoPixel(CNT, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); } void loop() { for(int i = 0; i < CNT; i++) strip.setPixelColor((i + pos) % CNT, getPixelColorHsv(i, hue, 255, strip.gamma8(i * (255 / CNT)))); strip.show(); pos++; pos %= CNT; hue += 2; hue %= MAXHUE; delay(50); } }
- In diesem Beispiel dreht der Ring den Punkt, der seine Farbe ändert und allmählich alle Farbschattierungen durchläuft;
- Die folgenden Beispiele verwenden denselben Algorithmus. Die Variable pos wird alle 50 ms um 1 Einheit erhöht, was einen Bewegungseffekt erzeugt.
Schlussfolgerung. In diesem Beispiel dreht der Ring den Punkt, der seine Farbe ändert und nach und nach alle Farbschattierungen durchläuft. Die Variable pos erhöht sich alle 50 ms um 1 Einheit, wodurch ein Bewegungseffekt entsteht. Mit diesem Beispiel kann eine unbegrenzte Anzahl von Adafruit NeoPixel Ring ws2812b-Modulen in Reihe geschaltet und in realen Projekten auf der Basis eines Arduino Nano Boards verwendet werden.
Schreibe einen Kommentar