ESP32 mit RGB Stripe

In diesem Beitrag möchte ich dir zeigen, wie du eine RGB LED-Stripe am ESP32 anschließt und programmierst.

ESP32 mit RGB Stripe
ESP32 mit RGB Stripe

Den Mikrocontroller ESP32 habe ich dir bereits in einigen Beiträgen vorgestellt und bereits ein paar Schaltungen und kleine Projekte gezeigt.

Benötigte Ressourcen für den Nachbau

Wenn du das nachfolgende, kleine Projekt nachbauen möchtest, dann benötigst du:

Programmieren

Wie du die Schaltung aufbaust und programmierst, habe ich dir in nachfolgendem YouTube Video ausführlich erläutert.

ESP32 programmieren - Anschluss & programmieren eines NeoPixel Moduls

Benötigte Bibliothek Adafruit_NeoPixel

Zum Programmieren benötigen wir eine zusätzliche Bibliothek, in meinem Fall nutze ich die Adafruit_NeoPixel Bibliothek, welche du über den internen Bibliotheksverwalter der Arduino IDE installieren kannst.

Zunächst öffnen wir diesen über das Icon auf der linken Seite (1) und suchen dann nach „Adafruit NeoPixel“ (2), in den Suchergebnissen wählen wir die Schaltfläche „INSTALL“ (3) am Eintrag „Adafruit NeoPixel by Adafruit“. Wenn diese Bibliothek erfolgreich installiert wurde, dann erscheint der Text „INSTALLED“ (4) und wir können mit der Programmierung fortfahren.

Adafruit_NeoPixel Bibliothek im Bibliotheksverwalter der Arduino IDE
Adafruit_NeoPixel Bibliothek im Bibliotheksverwalter der Arduino IDE

Lauflicht über 8 NeoPixel LEDs

Programmieren wir zunächst ein einfaches kleines Lauflicht über die LEDs (siehe Video).

//Bibliothek zum steuern der NeoPixel am Mikrocontroller
#include <Adafruit_NeoPixel.h>

//Anzahl der angeschlossenen NeoPixel
const int NUM_PIXEL = 8;

//Pin an welchem dieses Modul angeschlossen wurde
const int PIN = 12;

//Initialisieren eines Adafruit_NeoPixel Objektes
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM_PIXEL, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  //beginn der Kommunikation mit dem NeoPixel Modul
  pixels.begin();
}

void loop() {
  //Schleife von 0 bis NUM_PIXEL-1
  for (int i = 0; i < NUM_PIXEL; i++) {
    //setzen der Farbe weiß an der aktuellen Position
    pixels.setPixelColor(i, pixels.Color(243, 58, 8));
    //schreiben der Daten
    pixels.show();
    //eine kleine Pause von 25ms.
    delay(25);
  }

  for (int i = NUM_PIXEL - 1; i >= 0; i--) {
    pixels.setPixelColor(i, pixels.Color(65, 243, 8));
    pixels.show();
    delay(25);
  }
}

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert