ESP8266 - LED

Dieses Tutorial zeigt Ihnen, wie Sie den ESP8266 verwenden, um eine LED zu steuern. Im Detail werden wir lernen:

Erforderliche Hardware

1×ESP8266 NodeMCU
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×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

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 LEDs

Die LED-Pinbelegung

LED hat zwei Pins:

  • Der Kathode(-) Pin: sollte mit dem Minuspol der Stromversorgung verbunden werden
  • Der Anode(+) Pin: sollte über einen Widerstand mit dem Pluspol der Stromversorgung verbunden werden
LED-Pinbelegung

Wie es funktioniert

Die folgende Tabelle zeigt den LED-Status in Abhängigkeit davon, wie die Versorgung an den LED-Pin angeschlossen ist.

LED cathode(-) pin LED anode(+) pin Condition LED state
GND VCC via a resistor ON
GND PWM via a resistor ON, variable brightness
GND GND any OFF
VCC VCC any OFF
VCC GND any burned! cautious!
Wie eine LED funktioniert

Wie in der obigen Tabelle gezeigt wird, variiert die Helligkeit der LED entsprechend dem PWM-Wert, indem man ein PWM-Signal an die Anode (+) der LED anlegt. Dies wurde im Detail im ESP8266 fade LED Tutorial erläutert.

※ Notiz:

  • Für die meisten LEDs ist ein Vorwiderstand erforderlich, um die LED vor zu hohem Strom zu schützen. Es gibt zwei Möglichkeiten, den Widerstand zu platzieren: Zwischen der Anode (+) und VCC oder zwischen der Kathode (-) und GND. Der Wert des Widerstands hängt von den Spezifikationen der LED ab.
  • Einige LED-Typen haben einen integrierten Widerstand. In diesem Fall ist der Widerstand nicht erforderlich.

ESP8266 - LED

Wenn der Pin eines ESP8266 als digitaler Ausgang konfiguriert ist, kann er so programmiert werden, dass er entweder GND- oder VCC-Spannung hat.

Verbinde den Pin des ESP8266 mit dem Anoden-Pin (+) der LED über einen Widerstand. Dadurch können wir den Zustand der LED durch Programmierung steuern.

Verdrahtungsdiagramm

ESP8266 NodeMCU LED-Schaltplan

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

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

Wie man programmiert

  • Setze den Pin eines ESP8266 in den digitalen Ausgangsmodus, indem du die Funktion pinMode() verwendest. Zum Beispiel Pin GPIO9:
pinMode(D5, OUTPUT);
  • Programmiere den Pin auf GND mit der digitalWrite()-Funktion, um die LED auszuschalten:
digitalWrite(D5, LOW);
  • Setze den Pin mithilfe der Funktion digitalWrite() auf VCC, um die LED einzuschalten.
digitalWrite(D5, HIGH);

ESP8266-Code zur Steuerung der LED

#define LED_PIN D5 // The ESP8266 pin D5 connected to resistor void setup() { pinMode(LED_PIN, OUTPUT); } void loop() { digitalWrite(LED_PIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_PIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }

Schnelle Schritte

Um mit ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:

  • Schau dir die Anleitung zur Einrichtung der ESP8266-Umgebung in der Arduino IDE an, falls dies dein erster Einsatz von ESP8266 ist.
  • Verbinde die Komponenten wie im Diagramm gezeigt.
  • Verbinde das ESP8266-Board mit deinem Computer über ein USB-Kabel.
  • Öffne die Arduino-IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E Modul), und den jeweiligen COM-Port.
  • Klicke in der Arduino-IDE auf die Hochladen-Schaltfläche, um den Code zu kompilieren und auf das ESP8266-Board hochzuladen.
Wie man Code auf den ESP8266 NodeMCU mit der Arduino-IDE hochlädt
  • Beobachte das Ergebnis: Die interne LED wechselt jede Sekunde in einem regelmäßigen Muster zwischen EIN und AUS.

Code-Erklärung

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

※ Notiz:

Der oben gezeigte Code verwendet delay(). Diese Funktion verhindert, dass der ESP8266 während der Verzögerung andere Aufgaben ausführt. Wenn Ihr Projekt die Erledigung bestimmter Aufgaben erfordert, sollten Sie das Blockieren des ESP8266 vermeiden, indem Sie die nicht-blockierende Methode für Arduino verwenden.

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.

Zusätzliches Wissen

  • Zu einem Zeitpunkt kann ein Pin nur eine einzige Aufgabe ausführen. Wenn er bereits einer anderen Aufgabe zugewiesen wurde (z. B. digitaler Eingang, analoger Eingang, PWM, UART usw.), sollte er NICHT als digitaler Ausgang verwendet werden, um eine LED zu steuern. Wenn wir beispielsweise die Funktion Serial.println() verwenden, sollten die Pins GPIO1 (TX) und GPIO3 (RX) nicht für andere Zwecke verwendet werden, da sie dem Serial-Port reserviert sind.
  • Dieses Tutorial demonstriert, wie man den Ausgangspin eines ESP8266 verwendet, um eine LED zu steuern. Wir können diesen Code verwenden, um jedes Gerät ein- bzw. auszuschalten, sogar große Maschinen.
  • Für Geräte oder Maschinen, die eine Versorgungsspannung von mehr als 5 Volt und/oder einen hohen Stromverbrauch erfordern, muss zwischen dem Ausgangspin und dem Gerät bzw. der Maschine ein Relais verwendet werden. Weitere Informationen finden Sie unter ESP8266 - Relay.

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!