ESP8266-Pinbelegung

Der ESP8266 bietet den Vorteil, eine beträchtliche Anzahl von GPIO-Pins zur Verfügung zu haben. Es ist jedoch wichtig, genau auf die Pinbelegung zu achten. Nicht alle GPIO-Pins des ESP8266 sind sicher zu verwenden.

Es ist wichtig zu erwähnen, dass die unten bereitgestellte Pinout-Referenz sich auf die weit verbreitete 30-polige ESP8266 NodeMCU-Entwicklungsplatine bezieht.

ESP8266 NodeMCU NodeMCU Entwicklungsboard

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×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.

ESP8266-Peripheriegeräte und I/O

Der ESP8266 NodeMCU verfügt über insgesamt 17 GPIO-Pins, die über Pinheader auf beiden Seiten der Entwicklungsplatine verteilt sind. Diese Pins sind vielseitig einsetzbar und können verschiedenen Peripheriefunktionen zugeordnet werden, einschließlich:

  • 9 x Digitale Eingabe/Ausgabe-Pins:
  • 1 x ADC-Kanal: Bereitstellung eines einzelnen Kanals mit 10-Bit-Genauigkeit SAR-ADC.
  • 2 x UART-Schnittstellen: Ausgestattet mit zwei UART-Schnittstellen mit Unterstützung für Flusskontrolle.
  • 4 x PWM-Ausgänge: Vier PWM-Ausgänge zur Regelung von Parametern wie Motordrehzahl oder LED-Helligkeit.
  • 2 x SPI: Ausgestattet mit zwei SPI-Schnittstellen zum Anschluss verschiedenster Sensoren und Peripheriegeräte.
  • 1 x I2C: Integration einer I2C-Schnittstelle zur Anbindung verschiedener Sensoren und Peripheriegeräte.
  • 1 x I2S: Eine I2S-Schnittstelle zur Einbindung von Ton in Ihr Projekt.

ESP8266 Pinbelegung

Der ESP8266 NodeMCU verfügt insgesamt über 30 Pins, die eine benutzerfreundliche Funktionalität ermöglichen. Werfen Sie einen Blick auf das untenstehende Pinout-Diagramm, um das Layout zu erkunden.

ESP8266 NodeMCU NodeMCU Pinbelegung

Nun tauchen wir in die einzelnen Pins des ESP8266 ein und decken ihre spezifischen Funktionen auf.

Digitale Ein- und Ausgabepins

Unter den 30 Pins des ESP8266 NodeMCU-Boards können Sie 9 Pins für die digitale Ein- und Ausgabe verwenden. Von diesen 9 Pins sind 5 sicher zu verwenden; die übrigen 4 Pins können ebenfalls als digitale Eingabe- oder Ausgabe verwendet werden, jedoch mit Vorsicht.

Innerhalb der 30 Pins des ESP8266 NodeMCU-Boards können 9 Pins für digitale Ein- und Ausgabefunktionen verwendet werden. Im Detail:

  • 5 Pins sind sicher als digitale Ein-/Aus-Pins verwendbar
  • 4 Pins können ebenfalls als digitale Ein-/Aus-Pins verwendet werden, aber eine sorgfältige Handhabung ist erforderlich
  • Alle neun Pins können intern (auf dem Chip) Pull-up- oder Pull-down-Widerstände konfiguriert werden oder auf hohen Impedanzzustand gesetzt werden

Die untenstehende Tabelle zeigt, welche Pins sicher zu verwenden sind und welche Pins mit Vorsicht verwendet werden sollten.

GPIO Pin Label Safe to use? Reason
GPIO16 D0
!
HIGH at boot, used to wake up from deep sleep
GPIO5 D1
GPIO4 D2
GPIO0 D3
!
connected to FLASH button, boot fails if pulled LOW. On-board 10k external pull-up resistor
GPIO2 D4
!
HIGH at boot, boot fails if pulled LOW. On-board 10k external pull-up resistor
GPIO14 D5
GPIO12 D6
GPIO13 D7
GPIO15 D8
!
Required for boot, boot fails if pulled HIGH. On-board 10k external pull-down resistor
GPIO3 RX
RX pin, used for flashing and debugging
GPIO1 TX
TX pin, used for flashing and debugging
GPIO6 CLK
Connected to Flash memory
GPIO7 SDO
Connected to Flash memory
GPIO11 CMD
Connected to Flash memory
GPIO8 SD1
Connected to Flash memory
GPIO9 SD2
Connected to Flash memory
GPIO10 SD3
Connected to Flash memory
ADC0 A0
Can be used as the analog input pin only.

Zeilenumbruch

Legend
These are your top-priority pins, absolutely safe for use. No concerns here.
!
Pay close attention because their behavior, particularly during boot, can be unpredictable. Also pay attention to their on-board external pull-up/pull-down resistors. Use them only when absolutely necessary.
These pins should NOT be used as digital input/output pins.

Das folgende Bild zeigt, welche GPIO-Pins als digitale Ein- und Ausgabepins verwendet werden können.

ESP8266 NodeMCU NodeMCU digitale Ein-/Ausgangspins

Wie programmiert man für den ESP8266 digitale Ein- und Ausgänge.

Sie können die folgenden Funktionen verwenden, um die digitalen Ein- und Ausgänge des ESP8266 zu steuern.

Bitte beachten Sie, dass Sie im Code das Pin-Label verwenden müssen. Zum Beispiel Pin GPIO5 (D1):

void setup() { pinMode(D1, OUTPUT); } void loop() { digitalWrite(D1, HIGH); delay(1000); digitalWrite(D1, LOW); delay(1000); }

Beispiele zur Verwendung des digitalen Eingangspins des ESP8266

Beispiele für die Verwendung des digitalen Ausgangspins des ESP8266:

Analog-Digital-Wandler-Pins

Der ESP8266 ist mit einem 10-Bit-Analog-Digitalwandler (ADC) ausgestattet, der es ermöglicht, 1024 (2^10) verschiedene analoge Stufen zu unterscheiden. Im Wesentlichen wandelt er Eingangsspannungen im Bereich von 0 bis 3,3 V (Betriebsspannung) in ganzzahlige Werte von 0 bis 1024 um. Folglich ergibt diese Konfiguration eine Auflösung von 3,3 Volt geteilt durch 1024 Einheiten, entsprechend 0,0032 Volt (3,2 mV) pro Einheit.

ESP8266 NodeMCU NodeMCU Analog-Digital-Wandler-Pin

Beispielcode zur Verwendung des ADC am ESP8266:

void setup() { Serial.begin(9600); } void loop() { int adc = analogRead(A0); Serial.println(adc); // die rohe analoge Messung }

Beispiele für analoge Sensoren, die den A0-Pin des ESP8266 verwenden:

SPI-Pins

Der ESP8266 verfügt über zwei SPI-Schnittstellen (SPI und HSPI) im Slave- und Master-Modus. Diese SPI-Schnittstellen unterstützen außerdem die unten aufgeführten allgemeinen SPI-Funktionen:

  • 4 Timing-Modi der SPI-Formatübertragung
  • Bis zu 80 MHz sowie die auf 80 MHz geteilten Taktsignale
  • Bis zu 64-Byte-FIFO
ESP8266 NodeMCU NodeMCU SPI-Anschlüsse

Beispiele für die Verwendung der SPI-Pins des ESP8266:

I2C-Pins

Der ESP8266 verfügt nicht über integrierte I2C-Pins, aber man kann ihn dennoch durch Bitbanging verwenden. Er funktioniert gut, und der ESP8266 ist schnell genug, um mit der von Arduino erwarteten Leistung Schritt zu halten.

Standardmäßig sind GPIO4 (SDA) und GPIO5 (SCL) als I2C-Pins eingerichtet, um es für diejenigen zu vereinfachen, die vorhandenen Arduino-Code, Bibliotheken und Skizzen verwenden.

Allerdings haben Sie die Freiheit, zwei andere GPIO-Pins für I2C zu wählen, indem Sie wire.begin(SDA, SCL) in der Arduino-IDE verwenden.

ESP8266 NodeMCU NodeMCU I2C-Anschlüsse

Beispiele für die Verwendung der I2C-Pins des ESP8266:

UART-Anschlüsse

Der ESP8266 verfügt über zwei UART-Schnittstellen, UART0 und UART2, die eine asynchrone Kommunikation (RS232 und RS485) mit beeindruckenden Geschwindigkeiten von bis zu 4,5 MBit/s ermöglichen. Diese Fähigkeit macht sie ideal für Hochgeschwindigkeits-Datentransferanwendungen.

  • UART0 (TXD0, RXD0, RST0 und CTS0-Pins) wird für die Kommunikation verwendet.
  • UART1 (TXD1-Pin) verfügt lediglich über ein Signal zur Datenübertragung und wird typischerweise zum Ausgeben von Logs verwendet.
ESP8266 NodeMCU NodeMCU UART-Pins

RXD0 und TXD0 dienen als serielle Steuer- und Bootloader-Pins des ESP-Moduls und spielen eine entscheidende Rolle bei der Kommunikation mit dem Modul. Sie sind insbesondere während des Bootloadingsprozesses wichtig. Daher sollten Sie beim Umgang mit ihnen vorsichtig sein, da sie über den USB-zu-Seriell-Wandler verbunden sind und daher USB-Verkehr empfangen.

PWM-Pins

Jeder GPIO-Pin des ESP8266, von GPIO0 bis GPIO15, ist programmierbar, um Pulsweitenmodulation (PWM)-Ausgänge zu erzeugen.

Das PWM-Signal auf dem ESP8266 verfügt über eine 10-Bit-Auflösung und ermöglicht eine präzise Steuerung des Ausgangs. Zusätzlich ist der PWM-Frequenzbereich anpassbar und reicht von 1000 μs bis 10000 μs, was einem flexiblen Frequenzbereich von 100 Hz bis 1 kHz entspricht. Diese Anpassungsfähigkeit macht es für eine breite Palette von Anwendungen geeignet, die unterschiedliche PWM-Einstellungen erfordern.

Stromversorgungsstifte

  • Der VIN-Pin bietet eine bequeme Möglichkeit, den ESP8266 und seine Peripherie direkt mit einer geregelten 5-V-Stromquelle zu versorgen.
  • Der 3V3-Pin dient als Ausgang des integrierten Spannungsreglers an Bord und kann eine beachtliche Stromstärke von 600 mA liefern. Dies macht ihn zu einer zuverlässigen Quelle für die Stromversorgung verbundener Geräte und Komponenten.
  • GND fungiert als Masse-Pin und legt den elektrischen Referenzpunkt für den ESP8266 und die angeschlossenen Geräte fest. Es sorgt für eine gemeinsame Masse im System und gewährleistet stabile und ordnungsgemäße elektrische Verbindungen.

Unterbrechungs-Pins

Jeder GPIO (General Purpose Input/Output) auf dem ESP8266, mit Ausnahme von GPIO16, ist als Interrupt konfigurierbar.

Das bedeutet, dass jeder GPIO, von GPIO0 bis GPIO15, so eingerichtet werden kann, dass ein Interrupt ausgelöst wird, wodurch der ESP8266 auf bestimmte Ereignisse oder Änderungen in den Eingangszuständen reagieren kann. GPIO16 hingegen unterstützt diese Interrupt-Konfiguration nicht. Diese Flexibilität bei der Nutzung von Interrupts erhöht die Vielseitigkeit des ESP8266 bei der Verarbeitung von Echtzeit-Ereignissen und der Interaktion mit externen Geräten.

SDIO-Pins

Der ESP8266 ist mit einer einzigen Slave-SDIO-Schnittstelle (Secure Digital Input/Output Interface) ausgestattet, die zum Anschluss von SD-Karten vorgesehen ist. Sie unterstützt sowohl SDIO v1.1 bei 4-Bit 25 MHz als auch SDIO v2.0 bei 4-Bit 50 MHz.

Diese Funktion ermöglicht eine nahtlose Integration von SD-Karten mit dem ESP8266 und bietet Hochgeschwindigkeits-Datentransfer sowie Kompatibilität mit verschiedenen SDIO-Versionen. Ganz gleich, ob SDIO v1.1 oder v2.0 verwendet wird, bietet der ESP8266 Vielseitigkeit beim Anschluss und beim effizienten Zugriff auf Daten von SD-Karten.

Steuerpins

  • Der EN-Pin (auch bekannt als CH_PD oder Chip Power Down) dient als Enable-Pin für den ESP8266 und wird standardmäßig auf HIGH gezogen. Wird er auf HIGH gesetzt, ist der Chip aktiviert und arbeitet normal. Umgekehrt wird der Chip deaktiviert, wenn er auf LOW gezogen wird, was ihn effektiv abschaltet.
  • Der RST-Pin fungiert als Reset-Pin für den ESP8266 und wird standardmäßig auf HIGH gezogen. Wird er kurz auf GND gezogen, löst dies einen Reset des ESP8266 aus, ähnlich wie das Drücken des auf dem Board befindlichen RST-Knopfes.
  • Der FLASH-Pin wird vom ESP8266 genutzt, um zu bestimmen, ob er in den Bootloader startet. Wird der Pin beim Einschalten auf LOW gehalten, wird der Bootvorgang gestartet, ähnlich wie das Drücken der FLASH-Taste auf dem Board.
  • Der WAKE-Pin wird verwendet, um den ESP8266 aus dem Deep-Sleep-Modus zu wecken, sodass das Gerät nach einer Phase im Niedrigenergiezustand wieder normal betrieben werden kann.

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