Arduino Nano ESP32 – Mehrere LEDs blinken

Dieses Tutorial zeigt Ihnen, wie Sie den Arduino Nano ESP32 programmieren, um mehrere LEDs gleichzeitig blinken zu lassen, ohne sich auf die Delay-Funktion zu verlassen. Jede LED kann mit einer anderen Frequenz blinken als die anderen. Wir verwenden drei LEDs als Beispiel, aber Sie können den Code leicht anpassen, um weitere LEDs blinken zu lassen.

Erforderliche Hardware

1×Arduino Nano ESP32
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 Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

Oder Sie können die folgenden Kits kaufen:

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 zur LED. Das Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zur Hardware-Pinbelegung, zum Funktionsprinzip, zur Verdrahtung mit dem ESP32, zum Arduino Nano ESP32-Code... Erfahren Sie mehr darüber unter dem folgenden Link:

Verdrahtungsdiagramm

Arduino Nano ESP32 Mehrere LEDs Verdrahtungsdiagramm

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

Arduino Nano ESP32-Code - Mehrere LEDs blinken

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

Die Verwaltung von Zeitstempeln beim Blinken mehrerer LEDs kann für Anfänger herausfordernd sein. Glücklicherweise vereinfacht die ezLED library den Prozess des Blinkens mehrerer LEDs, indem sie Zeitstempel intern verwaltet. Dies erspart den Benutzern die Notwendigkeit, die Zeitstempelverwaltung bei der Nutzung dieser Bibliothek selbst zu übernehmen. Außerdem können Sie die Lesbarkeit und Kürze des Codes verbessern, indem Sie ein Array von LEDs verwenden.

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-blink-multiple-led */ #include <ezLED.h> // ezLED library #define PIN_LED_1 D4 // The Arduino Nano ESP32 pin connected to LED 1 #define PIN_LED_2 D5 // The Arduino Nano ESP32 pin connected to LED 2 #define PIN_LED_3 D6 // The Arduino Nano ESP32 pin 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

Um mit dem Arduino Nano ESP32 zu beginnen, befolgen Sie diese Schritte:

  • Wenn Sie neu bei Arduino Nano ESP32 sind, lesen Sie das Tutorial dazu, wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
  • Verbinden Sie die Bauteile gemäß dem bereitgestellten Diagramm.
  • Verbinden Sie das Arduino Nano ESP32-Board mit Ihrem Computer über ein USB-Kabel.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das Arduino Nano ESP32-Board und seinen entsprechenden COM-Port.
  • 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.
Arduino Nano 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 Arduino Nano ESP32-Board hoch, indem Sie in der Arduino IDE auf die Schaltfläche Hochladen klicken.
Wie man Arduino Nano ESP32-Code in der Arduino IDE hochlädt
  • Überprüfen Sie den Status der LED.

Arduino Nano ESP32 Code - Mehrere LEDs mithilfe eines Arrays blinken

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

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-blink-multiple-led */ #include <ezLED.h> // ezLED library #define NUM_LED 3 // three LEDs #define PIN_LED_1 D4 // The Arduino Nano ESP32 pin connected to LED 1 #define PIN_LED_2 D5 // The Arduino Nano ESP32 pin connected to LED 2 #define PIN_LED_3 D6 // The Arduino Nano ESP32 pin 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!