Pinbelegung beim NodeMcu V1.3

Bevor wir uns an die ersten Experimente bzw. Projekte mit dem NodeMcu heran wagen, sollten wir einen Blick auf die Bezeichnung der Pins werfen. Es ist vor allem zu beachten, dass die auf dem  Board aufgedruckten Bezeichnungen nur interne Benennungen sind. Dies sind nicht die Nummern der GPIO’s mit denen man die Pins über Python ansprechen kann. Die nachfolgende Grafik zeigt die verschiedenen Bezeichnungen bei einem Board mit dem ESP8266.

Hier noch weitere Informationen bezüglich der Verwendung der GPIO für Ein- und Ausgabe. Die digitalen Ausgabe-Pins liefern 0V bei LOW und 3,3V bei HIGH. Ein Pin kann maximal 12mA Strom liefern. Wenn ein PIN für die Eingabe genutzt wird, so sollten maximal 3,6V anliegen, Bei Spannungen darüber kann der Chip Schaden nehmen. Also: Der ESP ist nicht 5V-fest.

Die GPIO 6 bis 11 können nicht verwendet werden, weil Sie mit dem internen Flash-Speicher verbunden sind. Verwendet man sie trotzdem, kann das Programm abstürzen.

Pin
auf Board
GPIO Input Output Bemerkungen
D0 GPIO16 kein Interrupt
möglich
kein PWM Dieser Pin liegt beim Booten auf HIGH.
D1 GPIO5 Ja Ja wird auch für den I2C Bus verwendet
D2 GPIO4 Ja Ja wird auch für den I2C Bus verwendet
D3 GPIO0 enthält Pull-Up
Widerstand
Ja Ist mit dem Flash-Button verbunden. Wenn LOW dann kein Booten möglich.
D4 GPIO2 enthält Pull-Up
Widerstand
Ja Ist mit der internen LED verbunden. Dieser Pin liegt beim Booten auf HIGH.
D5 GPIO14 Ja Ja
D6 GPIO12 Ja Ja
D7 GPIO13 Ja Ja
D8 GPIO15 enthält Pull-Down Widerstand nach Masse Ja
RX GPIO3 Ja RXD Wird für serielle Schnittstelle verwendet. Dieser Pin liegt beim Booten auf HIGH.
TX GPIO1 TXD Ja Dieser Pin liegt beim Booten auf HIGH.
A0 ADC0 Analog Nein Nur Analoges Eingangssignal

Der ESP8266 unterstützt kein Hardware PWM. PWM ist aber softwareseitig möglich. Die Auflösung beträgt 10 Bit (Range 0 … 1023)  bei standardmäßigen 1kHz, was aber eingestellt werden kann, wie wir noch sehen werden.

Über den PIN ADC0 können analoge Signale eingelesen werden. Der Spannungsbereich liegt zwischen 0,0 Volt und 1.0 Volt. Also keine 3,3 Volt anlegen, dies zerstört den Chip. Einige Boards haben einen internen Spannungsteiler von 3,3 Volt aus 1,0 Volt. Man sollte aber zunächst immer davon ausgehen, dass das Board nur 1,0 Volt digitalisieren kann. Dann die gemessenen Werte kontrollieren. Wenn man sicher ist, kann eine Spannung bis 3,3 Volt angelegt werden. Ansonsten mit einem externen Poti die Spannung auf 1,0 Volt bringen.

Und hier wie angedeutet ein kleines Programm nebst Schaltplan, mit dem sich eine externe LED in der Helligkeit steuern lässt.