Arduino Nano - LED - Dimmen

Dieses Tutorial zeigt dir, wie du den Arduino Nano programmierst, um eine LED zu dimmen. Wir werden drei Beispiele durchgehen und die Unterschiede zwischen ihnen vergleichen:

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×LED Kit
1×LED (red)
1×LED Module
1×220Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

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

Die LED-Pinbelegung

Die LED hat zwei Pins:

  • Kathodenpin (-): muss mit GND (0 V) verbunden werden
  • Anodenpin (+): wird zur Steuerung des LED-Zustands verwendet
LED-Pinbelegung

Wie es funktioniert

Sobald die Kathode(-) an GND angeschlossen ist:

  • Wenn GND mit der Anode (+) verbunden ist, ist die LED aus.
  • Wenn VCC mit der Anode (+) verbunden ist, ist die LED an.
  • Wenn ein PWM-Signal an die Anode (+) angelegt wird, wird die Helligkeit der LED entsprechend dem PWM-Wert angepasst, der von 0 bis 255 reicht. Ein größerer PWM-Wert führt zu einer helleren LED, während ein kleinerer PWM-Wert zu einer dunkleren LED führt.
    • Wenn der PWM-Wert 0 beträgt, entspricht dies GND, daher ist die LED aus.
    • Wenn der PWM-Wert 255 beträgt, entspricht dies VCC, daher ist die LED vollständig eingeschaltet.
    Wie LEDs funktionieren

    ※ Notiz:

    Bei den meisten LEDs muss zwischen der Anode (+) und VCC ein Widerstand platziert werden. Der Widerstandswert hängt von den Spezifikationen der LEDs ab.

    Arduino Nano - LED dimmen

    Einige Pins auf einem Arduino Nano können so programmiert werden, dass sie ein PWM-Signal erzeugen. Um eine LED zu dimmen, verbinden wir den Anodenpin (+) der LED mit einem Pin des Arduino Nano, die Kathode (-) mit GND, und programmieren den Pin des Arduino Nano so, dass er PWM erzeugt.

Verdrahtungsdiagramm

Arduino Nano LED-Schaltplan

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

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

Wie man programmiert

  • Richte einen digitalen Ausgang an einem Arduino-Pin ein, indem du die pinMode() Funktion verwendest.
  • Zum Beispiel könnte dies für Pin 5 erfolgen:
pinMode(5, OUTPUT);
  • Passe die Helligkeit der LED an, indem du ein PWM-Signal mit der Funktion analogWrite() erzeugst:
analogWrite(5, brightness);

Die Helligkeit kann von 0 bis 255 reichen.

Arduino Nano Code - LED dimmen

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-led-fade */ #define LED_PIN 5 // The Arduino PWM pin the LED is attached to int brightness = 0; // how bright the LED is int fade_step = 5; // how many points to fade the LED by // The setup function runs once on reset or power-up void setup() { // declare pin 9 to be an output: pinMode(LED_PIN, OUTPUT); } // The loop function repeats indefinitely. void loop() { // set the brightness of pin 9: analogWrite(LED_PIN, brightness); // change the brightness for next time through the loop: brightness = brightness + fade_step; // reverse the direction of the fading at the ends of the fade: if (brightness <= 0 || brightness >= 255) { fade_step = -fade_step; } // wait for 30 milliseconds to see the dimming effect delay(30); }

Schnelle Schritte

  • Schließen Sie den Arduino Nano über ein USB-Kabel an den Computer an.
  • Öffnen Sie die Arduino IDE, wählen Sie das richtige Board und den richtigen Port aus.
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Upload-Schaltfläche, um den Code zu kompilieren und auf das Arduino Nano-Board hochzuladen.
Arduino IDE Code hochladen
  • Überprüfen Sie die Leuchtkraft der LED.

Code-Erklärung

Schau dir die Zeile-für-Zeile-Erklärung an, die in den Kommentaren des Quellcodes enthalten ist!

※ Notiz:

Das obige Beispiel verwendet die Funktion delay(), um einen Fade-in- und Fade-out-Effekt zu erzeugen. Allerdings ist diese Methode nicht sehr flüssig und verhindert, dass anderer Code läuft. In den kommenden Abschnitten werden wir lernen, wie man einen reibungslosen Fade-in- und Fade-out-Effekt ohne Blockierung durch anderen Code erreicht, indem man die Funktion millis() verwendet.

Wie man eine LED über einen Zeitraum hinweg sanft einblendet, ohne delay() zu verwenden

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-led-fade */ #define LED_PIN 5 // der Arduino PWM-Pin, an dem die LED angeschlossen ist #define FADE_PEDIOD 3000 // Fade-Zeit beträgt 3 Sekunden unsigned long start_time; // Die Setup-Funktion wird einmal beim Zurücksetzen oder Einschalten ausgeführt void setup() { pinMode(LED_PIN, OUTPUT); // Pin 5 als Ausgang deklarieren start_time = millis(); } // Fade-In in der Schleife, und nach Abschluss erneut starten 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(); // Fade erneut starten } }

Wie man eine LED über einen Zeitraum ausblendet, ohne delay() zu verwenden

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-led-fade */ #define LED_PIN 5 // Der Arduino PWM-Pin, an dem die LED angeschlossen ist #define FADE_PEDIOD 3000 // Die Fade-Zeit beträgt 3 Sekunden unsigned long start_time; // Die Setup-Funktion wird beim Zurücksetzen oder Einschalten einmal ausgeführt void setup() { pinMode(LED_PIN, OUTPUT); // Pin 5 als Ausgang festlegen start_time = millis(); } // Ausblenden in der Schleife, und Neustart nach Abschluss 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(); // Fade erneut starten } }

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.

Fordere dich selbst heraus

Passe die Helligkeit der LED mit einem Potentiometer an. Hinweis: Werfen Sie einen Blick auf Arduino Nano - Potentiometer für weitere Informationen.

Zusätzliches Wissen

  • Die Funktion analogWrite() im Arduino Nano erzeugt ein PWM-Signal, das dazu führt, dass eine LED allmählich gedimmt wird. Wenn jedoch jemand das fortgeschrittene Wissen besitzt, eine benutzerdefinierte Funktion zu erstellen, die ein PWM-Signal mit niedriger Frequenz erzeugt, wird die LED stattdessen blinken statt zu verblassen.
  • Zusammenfassung: PWM-Signale, die vom Arduino Nano erzeugt werden, können für eine Vielzahl von Zwecken verwendet werden, wie z. B. zur Steuerung von Servo-Motoren, Gleichstrommotoren, zur Erzeugung von Ton mit einem Piezo-Lautsprecher, LEDs dimmen und LEDs blinken.

Funktionsreferenzen

※ 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!