Arduino - Mehrere LEDs blinken

Dieses Tutorial zeigt dir, wie man einen Arduino programmiert, damit mehrere LEDs gleichzeitig blinken, ohne die Delay-Funktion zu verwenden. Das Tutorial liefert den Code auf zwei Arten:

Wir verwenden drei LEDs als Beispiele. Man kann es leicht anpassen, damit es für zwei LEDs, vier LEDs oder sogar mehr geeignet ist.

Erforderliche Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×LED Kit
1×LED (red)
1×LED Module
1×220Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino 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 detailliertes LED-Tutorial, das Hardware-Pinbelegung, Funktionsprinzip, Arduino-Verkabelung und Code-Anweisungen umfasst. Hier erfahren Sie mehr:

Verdrahtungsdiagramm

Arduino-Schaltplan für mehrere LEDs

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

Arduino-Code - Mehrere LEDs blinken

Um mehrere LEDs gleichzeitig blinken zu lassen, können wir uns nicht auf die delay()-Funktion verlassen. Das liegt daran, dass die Verwendung von delay() die Ausführung anderer Codeabschnitte blockiert und es uns unmöglich macht, mehrere LEDs gleichzeitig blinken zu lassen. Stattdessen verwenden wir die millis()-Funktion, um Zeitstempel effektiv zu verwalten.

Für Anfänger kann das Verwalten von Zeitstempeln beim Blinken mehrerer LEDs eine Herausforderung darstellen. Glücklicherweise vereinfacht die ezLED-Bibliothek diesen Prozess, indem sie die Zeitstempelverwaltung intern übernimmt. Dadurch entfällt den Nutzern die Last der Zeitstempelverwaltung bei der Nutzung der Bibliothek. Zusätzlich kann der Einsatz eines LED-Arrays die Lesbarkeit und Kompaktheit des Codes verbessern.

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino 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/arduino-blink-multiple-led */ #include <ezLED.h> // ezLED library by ArduinoGetStarted.com #define PIN_LED_1 7 // The Arduino pin connected to LED 1 #define PIN_LED_2 8 // The Arduino pin connected to LED 2 #define PIN_LED_3 9 // The Arduino 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(800, 200); // 800ms 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

  • Schließen Sie die Verkabelung wie im obigen Bild an.
  • Verbinden Sie das Arduino-Board über ein USB-Kabel mit Ihrem PC.
  • Öffnen Sie die Arduino IDE auf Ihrem PC.
  • Wählen Sie das richtige Arduino-Board (z. B. Arduino Uno) 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.
Arduino LED-Bibliothek
  • Kopiere den obigen Code und füge ihn in die Arduino IDE ein.
  • Kompiliere und lade den Code auf das Arduino-Board hoch, indem du in der Arduino IDE auf die Hochladen-Schaltfläche klickst.
Wie man Arduino-Code in der Arduino IDE hochlädt
  • LED-Status prüfen

Arduino-Code - Mehrere LEDs blinken mithilfe eines Arrays

Wir können den obigen Code verbessern, indem wir ein Array von LEDs verwenden. Der folgende Code verwendet dieses Array, um LED-Objekte zu verwalten.

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino 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/arduino-blink-multiple-led */ #include <ezLED.h> // ezLED library by ArduinoGetStarted.com #define NUM_LED 3 // three LEDs #define PIN_LED_1 7 // The Arduino pin connected to LED 1 #define PIN_LED_2 8 // The Arduino pin connected to LED 2 #define PIN_LED_3 9 // The Arduino 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(800, 200); // 800ms 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 }

Durch die Verwendung der ezLED-Bibliothek können wir mehrere LEDs flexibel blinken, wie folgt:

  • Mehrere LEDs mit unterschiedlicher Frequenz blinken
  • Mehrere LEDs mit unterschiedlichen Startzeiten blinken
  • Jede LED blinkt innerhalb eines Zeitraums
  • Jede LED blinkt eine bestimmte Anzahl von Zyklen

Siehe den Beispielcode in der 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!