ESP32 – Mehrere LEDs blinken

Dieses Tutorial zeigt dir, wie man den ESP32 programmiert, damit mehrere LEDs gleichzeitig blinken, ohne die Delay-Funktion zu verwenden.

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×LED Kit
1×LED (red)
1×LED Module
1×220Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Kaufhinweis: Um den Verdrahtungsprozess zu vereinfachen, empfehlen wir die Verwendung des LED Module, das mit einem eingebauten Widerstand geliefert wird.

Über LED

Wir haben ein spezielles Tutorial über LEDs. Das Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zur Pinbelegung der Hardware, zum Funktionsprinzip, zur Verkabelung mit dem ESP32, zum ESP32-Code... Weitere Informationen dazu finden Sie unter dem folgenden Link:

Verdrahtungsdiagramm

ESP32-Verdrahtungsdiagramm für mehrere LEDs

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

ESP32-Code - Mehrere LEDs blinken

Um mehrere LEDs zum Blinken zu bringen, können wir die Funktion delay() nicht verwenden. Stattdessen müssen wir die Funktion millis() verwenden und die Zeitstempel verwalten.

Die Verwaltung von Zeitstempeln beim Blinken mehrerer LEDs kann für Anfänger eine Herausforderung darstellen. Glücklicherweise vereinfacht die ezLED-Bibliothek den Prozess des Blinkens mehrerer LEDs, indem sie Zeitstempel intern verwaltet. Dies eliminiert die Notwendigkeit, dass Benutzer die Zeitstempelverwaltung bei der Nutzung dieser Bibliothek übernehmen müssen. Zusätzlich können Sie die Lesbarkeit des Codes verbessern und ihn kompakter halten, indem Sie ein LED-Array verwenden.

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32/esp32-blink-multiple-led */ #include <ezLED.h> // ezLED library #define PIN_LED_1 16 // The ESP32 pin GPIO16 connected to LED 1 #define PIN_LED_2 17 // The ESP32 pin GPIO17 connected to LED 2 #define PIN_LED_3 18 // The ESP32 pin GPIO18 connected to LED 3 ezLED led1(PIN_LED_1); // create ezLED object that attach to pin PIN_LED_1 ezLED led2(PIN_LED_2); // create ezLED object that attach to pin PIN_LED_2 ezLED led3(PIN_LED_3); // create ezLED object that attach to pin PIN_LED_3 void setup() { Serial.begin(9600); led1.blink(500, 500); // 500ms ON, 500ms OFF, blink immediately led2.blink(200, 800); // 200ms ON, 800ms OFF, blink immediately led3.blink(200, 200); // 200ms ON, 200ms OFF, blink immediately } void loop() { led1.loop(); // MUST call the led1.loop() function in loop() led2.loop(); // MUST call the led2.loop() function in loop() led3.loop(); // MUST call the led3.loop() function in loop() // DO SOMETHING HERE }

Schnelle Schritte

  • Falls Sie ESP32 zum ersten Mal verwenden, lesen Sie, wie Sie die Umgebung für ESP32 in der Arduino IDE einrichten wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
  • Verbinden Sie die Verkabelung wie im obigen Bild.
  • Schließen Sie das ESP32-Board über ein Micro-USB-Kabel an Ihren PC an.
  • Öffnen Sie die Arduino IDE auf Ihrem PC.
  • Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
  • Klicken Sie auf das Libraries-Symbol in der linken Leiste der Arduino IDE.
  • Suchen Sie “ezLED”, und finden Sie dann die LED-Bibliothek von ArduinoGetStarted
  • Klicken Sie auf die Install-Schaltfläche, um die ezLED-Bibliothek zu installieren.
ESP32 LED-Bibliothek
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Kompilieren und laden Sie den Code auf das ESP32-Board hoch, indem Sie auf die Hochladen-Schaltfläche in der Arduino IDE klicken.
Wie man ESP32-Code in die Arduino-IDE hochlädt.
  • Überprüfen Sie den Status der LED.

ESP32-Code - Mehrere LEDs mithilfe eines Arrays blinken lassen

Wir können den obigen Code optimieren, indem wir ein LED-Array verwenden. Der folgende Code verwendet das Array, um LED-Objekte zu verwalten.

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32/esp32-blink-multiple-led */ #include <ezLED.h> // ezLED library #define NUM_LED 3 // three LEDs #define PIN_LED_1 16 // The ESP32 pin GPIO16 connected to LED 1 #define PIN_LED_2 17 // The ESP32 pin GPIO17 connected to LED 2 #define PIN_LED_3 18 // The ESP32 pin GPIO18 connected to LED 3 ezLED ledArray[NUM_LED] = { ezLED(PIN_LED_1), // create ezLED object that attach to pin PIN_LED_1 ezLED(PIN_LED_2), // create ezLED object that attach to pin PIN_LED_2 ezLED(PIN_LED_3) // create ezLED object that attach to pin PIN_LED_3 }; void setup() { Serial.begin(9600); ledArray[0].blink(500, 500); // 500ms ON, 500ms OFF, blink immediately ledArray[1].blink(200, 800); // 200ms ON, 800ms OFF, blink immediately ledArray[2].blink(200, 200); // 200ms ON, 200ms OFF, blink immediately } void loop() { for (int i = 0; i < NUM_LED; i++) ledArray[i].loop(); // MUST call the led.loop() function in loop() // DO SOMETHING HERE }

Für das flexible Blinken verweisen Sie bitte auf andere Funktionen der ezLED-Bibliothek

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!