Arduino - LED - Dimmen

In diesem Tutorial lernen wir:

※ Notiz:

Dieses Tutorial bietet fundiertes Wissen, das Ihnen hilft, das Funktionsprinzip zu verstehen. Um es zu erleichtern, können Sie Arduino - LED-Bibliothek verwenden.

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

Pinbelegung

LED umfasst zwei Pins:

  • Kathoden-Pin(-): muss mit GND (0V) verbunden werden
  • Anoden-Pin(+): wird verwendet, um den Zustand der LED zu steuern
LED-Pinbelegung

Wie es funktioniert

Nachdem die Kathode(-) an GND angeschlossen wurde:

  • Wenn GND mit der Anode (+) verbunden wird, ist die LED AUS.
  • Wenn VCC mit der Anode (+) verbunden wird, ist die LED AN.
  • Wenn ein PWM-Signal an die Anode (+) erzeugt wird, ändert sich die Helligkeit der LED entsprechend dem PWM-Wert. PWM-Wert variiert von 0 bis 255. Je größer der PWM-Wert ist, desto heller ist die LED. Je kleiner der PWM-Wert ist, desto dunkler ist die LED.
    • Wenn der PWM-Wert 0 ist, entspricht dies GND, daher ist die LED AUS
    • Wenn der PWM-Wert 255 ist, entspricht dies VCC, daher ist die LED vollständig AN
    Wie LED funktioniert

    ※ Notiz:

    Bei den meisten LEDs ist es erforderlich, einen Widerstand zwischen der Anode (+) und VCC zu verwenden. Der Widerstandswert hängt von den Spezifikationen der LED ab.

    Arduino - LED dimmen

    Einige der Arduino-Pins können so programmiert werden, dass sie ein PWM-Signal erzeugen. Wir können eine LED dimmen, indem wir den Anode(+)-Pin der LED mit einem Arduino-Pin verbinden, den Kathode(-)-Pin der LED mit GND verbinden und PWM am Arduino-Pin erzeugen.

Verdrahtungsdiagramm

Arduino-LED-Schaltplan

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

Wie man programmiert

  • Konfigurieren Sie den Pin eines Arduino in den digitalen Ausgangsmodus, indem Sie die Funktion pinMode() verwenden. Zum Beispiel Pin 9:
pinMode(9, OUTPUT);
  • Stelle die Helligkeit der LED ein, indem das entsprechende PWM-Signal erzeugt wird, unter Verwendung der Funktion analogWrite():
analogWrite(9, brightness);

Wobei die Helligkeit einen Wert von 0 bis 255 hat.

Arduino-Code - Fade-Beispiel aus der Arduino-IDE

Schnelle Schritte

  • Verbinde Arduino über ein USB-Kabel mit dem PC
  • Öffne die Arduino IDE und wähle das richtige Board und den richtigen Port
  • Kopiere den untenstehenden Code und füge ihn in die Arduino IDE ein
/* * 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-led-fade */ #define LED_PIN 9 // the Arduino PWM pin connected to the LED int brightness = 0; // how bright the LED is int fadeAmount = 5; // how many points to fade the LED by // the setup routine runs once when you press reset: void setup() { // declare pin 9 to be an output: pinMode(LED_PIN, OUTPUT); } // the loop routine runs over and over again forever: void loop() { // set the brightness of pin 9: analogWrite(LED_PIN, brightness); // change the brightness for next time through the loop: brightness = brightness + fadeAmount; // reverse the direction of the fading at the ends of the fade: if (brightness <= 0 || brightness >= 255) { fadeAmount = -fadeAmount; } // wait for 30 milliseconds to see the dimming effect delay(30); }
  • Klicke auf die Schaltfläche Hochladen in der Arduino-IDE, um Code auf den Arduino hochzuladen
Arduino IDE Code hochladen
  • Sehen Sie die Helligkeit der LED

Code-Erklärung

Die Erklärung finden Sie in der Kommentarzeile des oben genannten Arduino-Codes.

※ Notiz:

Das obige Beispiel verwendet die delay() Funktion, um Ein- und Ausblenden zu ermöglichen. Die delay()-Funktion lässt die LED nicht sanft ein- und ausblenden und blockiert anderen Code. In den nächsten Teilen werden wir lernen, wie man Ein- und Ausblenden sanft durchführt, ohne den restlichen Code zu blockieren, indem man die millis() Funktion verwendet.

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

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

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

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

Fordere dich selbst heraus

Ändern Sie die Helligkeit der LED mit einem Potentiometer. Hinweis: Siehe Arduino - Potentiometer.

Zusätzliches Wissen

  • PWM-Signal, das durch die analogWrite()-Funktion erzeugt wird, lässt eine LED verblassen. Das liegt daran, dass es sich um hochfrequentes PWM handelt. Wenn wir eine maßgeschneiderte Funktion erstellen (erforderliches fortgeschrittenes Wissen), die ein niederfrequentes PWM-Signal erzeugt, blinkt die LED stattdessen statt zu verblassen.
  • Zusammenfassung: PWM-Signal kann in Arduino verwendet werden, um Folgendes zu tun: Servomotor steuern, Gleichstrommotor steuern, Ton erzeugen mit einem Piezo-Lautsprecher, LED verblassen lassen, LED blinken lassen ...

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!