ESP32 Tutorial 12/55 - WS2812 RGB Streifen 4 Projekt mit dem ESP32 IoT Lernkit von SunFounder

ESP32 Tutorial 12/55 - WS2812 RGB Streifen 4 Projekt mit dem ESP32 IoT Lernkit von SunFounder

In diesem Tutorial werden wir erkunden, wie man einen WS2812 LED-Streifen mit dem ESP32-Mikrocontroller steuert. Dieses Projekt ermöglicht es Ihnen, eine Vielzahl von Farben zu erstellen und jede LED einzeln zu steuern, was eine unterhaltsame und visuell ansprechende Möglichkeit bietet, etwas über Programmierung und Elektronik zu lernen. Am Ende dieses Tutorials haben Sie ein voll funktionsfähiges Setup, das Farben und Muster dynamisch ändern kann.

SunFounder-ESP32-Lektion-12-LED-Streifen.mp4_snapshot_00.02.422

Mit dem ESP32-Mikrocontroller von SunFounder, der über integrierte WLAN- und Bluetooth-Funktionen verfügt, können wir die WS2812 RGB-LED-Leiste einfach anschließen und steuern. Die Flexibilität dieser LED-Leiste ermöglicht kreative Anwendungen, sei es für dekorative Beleuchtung oder Bildungsprojekte. Für ein besseres Verständnis der dabei erforderlichen Schritte können Sie das Video unter (im Video bei 00:00) anschauen.

Hardware Erklärungen

Die Hauptkomponenten für dieses Projekt sind der ESP32-Mikrocontroller und der WS2812-LED-Streifen. Der ESP32 ist ein leistungsstarker Mikrocontroller, der Aufgaben ähnlich denen eines Arduinos ausführen kann, jedoch mit erweiterten Konnektivitätsoptionen. Er verfügt über eine umfangreiche Ausstattung, die es ihm ermöglicht, eine Verbindung zur Cloud herzustellen, was Fernsteuerung und Datenprotokollierung ermöglicht.

Der WS2812 LED-Streifen besteht aus einzeln ansprechbaren RGB-LEDs, was bedeutet, dass jede LED gesteuert werden kann, um verschiedene Farben anzuzeigen. Der Streifen arbeitet mit einem Ein-Draht-Protokoll, das es ermöglicht, mehrere LEDs miteinander zu verbinden, ohne die Signalqualität zu verlieren. Jede LED enthält einen integrierten Treiber, der das Eingangssignal verarbeitet und für die nächste LED in der Kette verstärkt.

Datenblattdetails

Hersteller Worldsemi
Teilenummer WS2812
Logik/IO-Spannung 3,5-5,3 V
Versorgungsspannung 5 V
Ausgangsstrom (pro Kanal) 20 mA maximal
Spitzenstrom (pro Kanal) 60 mA max
PWM-Frequenzrichtlinien 400 Hz
Eingangslogikschwellen 0,3 x VDDzu 0,7 x VDD
Spannungsabfall / RDS(on)/ Sättigung 0,5 V max
Thermische Grenzen -25 bis 80 °C
Paket 5050
Hinweise / Varianten Kann zu längeren Streifen verbunden werden.

  • Sorgen Sie für eine ordnungsgemäße Stromversorgung (5 V), um LED-Schäden zu vermeiden.
  • Verwenden Sie einen Kondensator (100 µF) über den Stromversorgungsterminals, um Spannungsspitzen zu glätten.
  • Halten Sie die Datenkabel kurz, um Signalverschlechterungen zu reduzieren.
  • Seien Sie vorsichtig mit der LED-Temperatur; sorgen Sie für eine ordnungsgemäße Wärmeableitung.
  • Beachten Sie die richtige Polarität beim Anschließen von Stromversorgung und Masse.
  • Verwenden Sie einen Pull-up-Widerstand an der Datenleitung, wenn Sie lange Streifen verwenden.

Verdrahtungsanweisungen

ESP32-12-WS2812-wiring

Um den WS2812 LED-Streifen an den ESP32 anzuschließen, beginnen Sie mit dem Anschluss des Netzteils. Der +5V-Draht vom LED-Streifen sollte mit dem 5V-Pin am ESP32 verbunden werden, und der Erdung (GND)-Draht sollte mit einem der GND-Pins am ESP32 verbunden werden.

Verbinden Sie als Nächstes den Datenleitungskabel des LED-Streifens mit Pin 14 des ESP32. Stellen Sie sicher, dass die Verbindungen sicher sind, um eine ordnungsgemäße Datenübertragung zu gewährleisten. Wenn Sie mehrere Streifen oder längere Distanzen verwenden, sollten Sie in Betracht ziehen, einen Pegelwandler zu verwenden, um die Signalqualität zu gewährleisten. Diese Konfiguration ermöglicht es Ihnen, den LED-Streifen direkt vom ESP32 aus zu steuern.

Codebeispiele und Durchlaufanleitungen

Der Code verwendet die Adafruit NeoPixel-Bibliothek zur Steuerung des WS2812-LED-Streifens. Er beginnt mit der Initialisierung des LED-Streifens und setzt die Anfangsfarbe auf schwarz. Die wichtigsten Kennungen im Code umfassenLED_PIN, der den Pin definiert, der mit der Datenleitung des LED-Streifens verbunden ist, undNUM_LEDS, die die Anzahl der LEDs im Streifen angibt.

#include  // Include the Adafruit NeoPixel library

#define LED_PIN 14 // NeoPixel LED strip
#define NUM_LEDS 8 // Number of LEDs

Im Setup-Funktion wird der Streifen initialisiert mitstrip.begin(), und die anfängliche Farbe ist auf schwarz eingestellt mitstrip.show()Dies bereitet den Streifen auf Farbänderungen vor, wenn das Programm läuft.

void setup() {
  strip.begin(); // Initialize the NeoPixel strip
  strip.show(); // Set initial color to black
}

Die Hauptschleife des Programms besteht aus zwei for-Schleifen. Die erste Schleife schaltet jede LED nacheinander ein, indem sie ihre Farbe einstellt und den Streifen aktualisiert. Die zweite Schleife schaltet jede LED auf die gleiche Weise aus. Dies erzeugt eine einfache, aber effektive Lichtanimation.

void loop() {
  // Turn on LEDs one by one
  for (int i = 0; i < NUM_LEDS; i++) {
    strip.setPixelColor(i, 100, 45, 0); // Set the color of the i-th LED to red
    strip.show(); // Update the LED strip with the new colors
    delay(100); // Wait for 100 milliseconds
  }
  
  // Turn off LEDs one by one
  for (int i = 0; i < NUM_LEDS; i++) {
    strip.setPixelColor(i, 0, 0, 0); // Set the color of the i-th LED to black (turn it off)
    strip.show(); // Update the LED strip with the new colors
    delay(100); // Wait for 100 milliseconds
  }
}

Sehen Sie sich den vollständigen Code unter dem Artikel an, um weitere Details zur Implementierung verschiedener Farbeffekte und Animationen zu erfahren.

Demonstration / Was zu erwarten ist

Sobald Sie die Verdrahtung abgeschlossen und den Code hochgeladen haben, sollten die LEDs am Streifen nacheinander in einer bestimmten Farbe aufleuchten, gefolgt von dem Abschalten in derselben Reihenfolge. Dies erzeugt einen „laufenden Licht“-Effekt. Wenn die LEDs nicht wie erwartet aufleuchten, überprüfen Sie doppelt Ihre Verdrahtungsverbindungen und stellen Sie sicher, dass die Stromversorgung ausreichend ist. Überprüfen Sie auch, ob der richtige Pin im Code definiert ist (im Video um 12:30).

Videountertitel

  • 00:00 Start
  • 1:40 Einführung in die WS2812-LED
  • 7:25 Projektdokumentationsseite
  • 9:16 RGB-Farbe erklärt
  • 13:16 Verdrahtung erklärt
  • 13:48 Arduino-Code-1 erklärt
  • 19:03 Auswahl des ESP32-Boards und des Ports in der Arduino IDE
  • 20:45 Code-1 Demo
  • 22:00 Steuerung einzelner LED
  • 24:16 Gehlicht LED
  • 25:41 Hin und her Licht

Bilder

ESP32-12-WS2812-wiring
ESP32-12-WS2812-wiring
ESP32-12-WS2812-schematic
ESP32-12-WS2812-schematic
SunFounder-ESP32-Lesson-12-LED-Strip.mp4_snapshot_00.02.422
SunFounder-ESP32-Lesson-12-LED-Strip.mp4_snapshot_00.02.422
811-ESP32 Tutorial 12/55- Arduino code for WS2812 RGB LED stripe using ESP32
Sprache: C++
Kopiert!

Dinge, die Sie vielleicht brauchen

Ressourcen & Referenzen

Noch keine Ressourcen vorhanden.

Dateien📁

Keine Dateien verfügbar.