Arduino Nano ESP32 - LED - Fade-Effekt

Dieses Tutorial gibt Anleitungen dazu, wie man es verwendet:

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

LED-Pinbelegung

Die LED enthält zwei Pins:

  • Kathodenpin(-): Verbinde diesen Pin mit GND (0 V)
  • Anodenpin(+): wird verwendet, um den Zustand der LED zu steuern
LED-Pinbelegung

Wie LEDs funktionieren

Nachdem die Kathode(-) an GND angeschlossen wurde:

  • Wenn wir GND an die Anode(+) anschließen, ist die LED AUS.
  • Wenn wir VCC an die Anode(+) anschließen, ist die LED AN.
  • Wenn wir ein PWM-Signal an den Anode(+)-Pin anlegen, ist die Helligkeit der LED proportional zum PWM-Tastverhältnis. Das PWM-Tastverhältnis variiert von 0 bis 255. Je größer das PWM-Tastverhältnis ist, desto heller ist die LED.
    • Wenn der PWM-Wert 0 ist, entspricht dies GND ⇒ LED ist AUS.
    • Wenn der PWM-Wert 255 ist, entspricht dies VCC ⇒ LED ist bei der höchsten Helligkeit AN.
    Wie LEDs funktionieren

    ※ Notiz:

    In der Regel benötigt man einen Widerstand, um eine LED vor dem Durchbrennen zu schützen. Der Widerstandswert hängt von der Spezifikation der LED ab.

    Arduino Nano ESP32 - LED dimmen

    Die digitalen Ausgangspins des ESP32 können so programmiert werden, dass sie PWM-Signale erzeugen. Indem man den Anodenpin (+) der LED an einen Pin des Arduino Nano ESP32 anschließt, die Kathode (-) der LED an GND, und anschließend den Arduino Nano ESP32 so programmiert, dass sich das Tastverhältnis des PWM-Signals ändert, können wir die LED dimmen.

Verdrahtungsdiagramm zwischen LED und Arduino Nano ESP32

Arduino Nano ESP32 LED-Schaltplan

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

Wie programmiert man

  • Konfigurieren Sie den Pin eines Arduino Nano ESP32 als digitalen Ausgangspin, indem Sie die Funktion pinMode() verwenden. Beispiel: Pin D5:
pinMode(D5, OUTPUT);
  • Stellen Sie die Helligkeit der LED ein, indem Sie ein PWM-Signal mit dem entsprechenden Tastverhältnis erzeugen und die [analogWrite()]-Funktion verwenden:
analogWrite(D5, brightness);

Wobei die Helligkeit ein Wert von 0 bis 255 ist.

Arduino Nano ESP32 Code - Einfaches Fade-Beispiel

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 wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
  • Verbinden Sie die Komponenten gemäß dem bereitgestellten Diagramm.
  • Schließen Sie das Arduino Nano ESP32-Board mit einem USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das Arduino Nano ESP32-Board und den entsprechenden COM-Port aus.
  • Kopieren Sie den untenstehenden Code und fügen Sie ihn in die Arduino IDE ein.
/* * 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-led-fade */ #define LED_PIN D5 // The Arduino Nano ESP32 pin D5 connected to LED int brightness = 0; // how bright the LED is int fade_amount = 5; // how many points to fade the LED by // The setup function runs once on reset or power-up void setup() { // configure the Arduino Nano ESP32 pin as an output: pinMode(LED_PIN, OUTPUT); } // The loop function repeats indefinitely. void loop() { // set the brightness analogWrite(LED_PIN, brightness); // change the brightness for next time through the loop: brightness = brightness + fade_amount; // reverse the direction of the fading at the ends of the fade: if (brightness <= 0 || brightness >= 255) { fade_amount = -fade_amount; } // wait for 30 milliseconds to see the dimming effect delay(30); }
  • Kompiliere und lade den Code auf das Arduino Nano ESP32-Board, indem du auf die Hochladen-Schaltfläche in der Arduino IDE klickst.
Code in der Arduino IDE hochladen
  • Sehen Sie die Helligkeit der LED

Zeilenweise Code-Erklärung

Der oben gezeigte Arduino Nano ESP32-Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code.

※ Notiz:

Das obige Beispiel verwendet die delay()-Funktion, um ein- und auszublenden. Die delay()-Funktion lässt die LED ungleichmäßig verblassen und blockiert anderen Code. In den nächsten Teilen werden wir lernen, wie man die LED sanft ein- und ausblendet, ohne anderen Code zu blockieren, indem wir die millis()-Funktion verwenden.

Wie man eine LED über einen Zeitraum ohne Verwendung von delay() einblendet

/* * 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-led-fade */ #define LED_PIN D5 // The Arduino Nano ESP32 pin D5 connected to LED #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long start_time; // The setup routine runs once when you press reset void setup() { pinMode(LED_PIN, OUTPUT); // configure the Arduino Nano ESP32 pin as an output start_time = millis(); } // fade-in in loop, and restart after finishing void loop() { unsigned long progress = millis() - start_time; if (progress <= FADE_PEDIOD) { long brightness = map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { start_time = millis(); // restart fade again } }

Wie man eine LED in einem Zeitraum ausblendet, ohne delay() zu 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-led-fade */ #define LED_PIN D5 // The Arduino Nano ESP32 pin D5 connected to LED #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long start_time; // The setup routine runs once when you press reset void setup() { pinMode(LED_PIN, OUTPUT); // configure the Arduino Nano ESP32 pin as an output start_time = millis(); } // fade-out in loop, and restart after finishing void loop() { unsigned long progress = millis() - start_time; if (progress <= FADE_PEDIOD) { long brightness = 255 - map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { start_time = millis(); // restart fade again } }

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!