Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!
3.3 WS2812 RGB-Strip
WS2812 ist eine intelligente LED-Lichtquelle, bei der die Steuerschaltung und der RGB-Chip in einem 5050-Komponentenpaket integriert sind. Sie enthält einen intelligenten digitalen Port-Datenlatch und eine Signalformungsverstärkungs-Schaltung. Darüber hinaus verfügt sie über einen präzisen internen Oszillator und einen programmierbaren konstanten Stromsteuerungsteil, der effektiv die hohe Konsistenz der Lichtfarbe jedes Pixels sicherstellt.
Das Datenübertragungsprotokoll verwendet den einzelnen NZR-Kommunikationsmodus. Nach dem Einschalten des Pixels erhält der DIN-Port Daten vom Controller, das erste Pixel sammelt die anfänglichen 24-Bit-Daten und sendet sie an den internen Datenlatch. Die restlichen Daten werden von der internen Signalformungsverstärkungs-Schaltung umgeformt und über den DO-Port an das nächste kaskadierte Pixel gesendet. Nach der Übertragung für jedes Pixel reduziert sich das Signal um 24 Bit. Das Pixel verwendet die Auto-Reshaping-Transmit-Technologie, sodass die Anzahl der kaskadierten Pixel nicht durch die Signalübertragung begrenzt ist, sondern nur von der Geschwindigkeit der Signalübertragung abhängt.
Benötigte Komponenten
Für dieses Projekt benötigen wir folgende Komponenten.
Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:
Bezeichnung |
ARTIKEL IN DIESEM KIT |
KAUF-LINK |
---|---|---|
Kepler-Kit |
450+ |
Sie können die Komponenten auch einzeln über die folgenden Links kaufen.
SN |
KOMPONENTENBESCHREIBUNG |
ANZAHL |
KAUF-LINK |
---|---|---|---|
1 |
1 |
||
2 |
Micro-USB-Kabel |
1 |
|
3 |
1 |
||
4 |
Mehrere |
||
5 |
1 |
Schaltplan
Verdrahtung
Warnung
Achten Sie besonders auf den Strombedarf.
Obwohl der LED-Strip mit einer beliebigen Anzahl von LEDs im Pico W verwendet werden kann, ist die Leistung seines VBUS-Pins begrenzt. Hier werden wir acht LEDs verwenden, die sicher sind. Wenn Sie jedoch mehr LEDs verwenden möchten, benötigen Sie eine separate Stromversorgung.
Code
Bemerkung
Sie können die Datei
3.3_rgb_led_strip.ino
im Verzeichniskepler-kit-main/arduino/3.3_rgb_led_strip
öffnen.Oder kopieren Sie diesen Code in die Arduino IDE.
Vergessen Sie nicht, das Board (Raspberry Pi Pico) und den richtigen Port auszuwählen, bevor Sie auf die Schaltfläche Hochladen klicken.
Die Bibliothek
Adafruit_NeoPixel
wird hier verwendet. Sie können sie über den Bibliotheksmanager installieren.
Wählen Sie einige Ihrer Lieblingsfarben aus und zeigen Sie sie auf dem RGB-LED-Strip an!
Wie funktioniert es?
Ein Objekt vom Typ Adafruit_NeoPixel wird deklariert, welches an PIXEL_PIN
angeschlossen ist und auf dem Streifen befinden sich PIXEL_COUNT
RGB-LEDs.
#define PIXEL_PIN 0
#define PIXEL_COUNT 8
// Declare our NeoPixel strip object:
Adafruit_NeoPixel strip(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
// Argument 1 = Number of pixels in NeoPixel strip
// Argument 2 = Arduino pin number (most are valid)
// Argument 3 = Pixel type flags, add together as needed:
// 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)
Streifenobjekt initialisieren und alle Pixel auf ‚aus‘ setzen.
- Funktionen
strip.begin()
: NeoPixel-Streifenobjekt initialisieren (ERFORDERLICH).strip.setPixelColor(index, color)
: Pixel-Farbe (im RAM) setzen, diecolor
muss ein einzelner ‚gepackter‘ 32-Bit-Wert sein.strip.Color(red, green, blue)
: Farbe als einzelner ‚gepackter‘ 32-Bit-Wert.strip.show()
: Streifen mit neuem Inhalt aktualisieren.
Mehr erfahren
Wir können zufällige Farben generieren und ein farbenfrohes, fließendes Licht erzeugen.
Bemerkung
Sie können die Datei
3.3_rgb_led_strip_flowing.ino
im Pfadkepler-kit-main/arduino/3.3_rgb_led_strip_flowing
öffnen.Oder diesen Code in die Arduino IDE kopieren.
Vergessen Sie nicht, die Platine (Raspberry Pi Pico) und den korrekten Port auszuwählen, bevor Sie auf die Hochladen-Schaltfläche klicken.
Oder lassen Sie diesen WS2812 LED-Streifen in einem Regenbogenzyklus um das Farbrad (Bereich 65535) rotieren.
Bemerkung
Sie können die Datei
3.3_rgb_led_strip_rainbow.ino
im Pfadkepler-kit-main/arduino/3.3_rgb_led_strip_rainbow
öffnen.Oder diesen Code in die Arduino IDE kopieren.
Vergessen Sie nicht, die Platine (Raspberry Pi Pico) und den korrekten Port auszuwählen, bevor Sie auf die Hochladen-Schaltfläche klicken.
strip.getPixelColor(index)
: Die Farbe eines zuvor eingestellten Pixels abfragen.strip.ColorHSV(pixelHue)
: Farbton, Sättigung und Wert in eine ‚gepackte‘ 32-Bit-RGB-Farbe umwandeln, die ansetPixelColor()
oder andere RGB-kompatible Funktionen übergeben werden kann.strip.gamma32()
: Ermöglicht eine „echtere“ Farbwiedergabe, bevor sie jedem Pixel zugewiesen wird.