Forum: Mikrocontroller und Digitale Elektronik Belegung der Pins am NodeMCU


von Arduino Anfänger (Gast)


Lesenswert?

Hallo
Das NodeMCU Bord mit dem ESP12 (E)F hat die folgenden Pins an beiden 
Seiten. Einige Pins sind ohne Probleme klar verständlich. Einige sind 
vorgeschlagen für anderes.

D0  - GPIO 16 - (User Wake) ?
D1  - GPIO 5  - SCL
D2  - GPIO 4  - SDA
D3  - GPIO 0  - (Flash) ?
D4  - GPIO 2  - (TXD1) ?
D5  - GPIO 14 - (HSPICLK) ?
D6  - GPIO 12 - (HSPIQ) ?
D7  - GPIO 13 - (RXD2) ?
D8  - GPIO 15 - (TXD2) ?
D9  - GPIO 3  - (RXD0)
D10 - GPIO 1  - (TXD0)
D11 - GPIO 9  - (SDD2) ?
D12 - GPIO 10 - (SDD3) ?
A0  - ADC0
EN  - mit Widerstand an Vcc

ein paar Pins habe ich nicht aufgeführt.

Welchen Pin kann ich verwenden? Welchen Pin darf ich nicht belegen?
An welchen Pin darf ich eine LED oder Taster legen?

Leider sind die Angaben in den verschiedenen Zeichnungen nicht klar oder 
nicht angegeben.

LG AA

von Anal Ysator (Gast)


Lesenswert?

Arduino Anfänger schrieb:
> Welchen Pin kann ich verwenden?

Welches Auto kann ich fahren?

Schon mal versucht ein Manual zu lesen?

von Arduino Anfänger (Gast)


Lesenswert?

Das Manual dazu hab ich gelesen (soweit möglich). Da auf dem NodeMCU ein 
ESP12 verbaut ist, habe ich ich das entsprechende vom ESP12 gelesen. 
Leider ist es nicht klarer geworden.

von Arduino Anfänger (Gast)


Lesenswert?

Habe das gefunden:

D0  - GPIO 16 - (User Wake) - Rote Led liegt mit Kathode an - verwendbar 
?
D1  - GPIO 5  - SCL
D2  - GPIO 4  - SDA
D3  - GPIO 0  - (Flash) ?
D4  - GPIO 2  - (TXD1) ?
D5  - GPIO 14 - (HSPICLK) ?
D6  - GPIO 12 - (HSPIQ) ?
D7  - GPIO 13 - (RXD2) ?
D8  - GPIO 15 - (TXD2) ?
D9  - GPIO 3  - (RXD0) - USB-Schnittstelle
D10 - GPIO 1  - (TXD0) - USB-Schnittstelle
D11 - GPIO 9  - (SDD2) - Ansteuerung des externen Flash
D12 - GPIO 10 - (SDD3) - Ansteuerung des externen Flash

A0  - ADC0
EN  - mit Widerstand an Vcc

Damit ist schon was klar und der Rest bzw. D0 ?

von Stefan (Gast)


Lesenswert?

Folgende Ports kannst du benutzen:
GPIO2,4,5,12,13,14,16

von Stefan (Gast)


Lesenswert?

GPIO 0 wird meistens zur programmierung
des Flash benutzt. Bei Einspielung einer
neuen Firmware wird dieser Port auf GND gelegt.

von Arduino Anfänger (Gast)


Lesenswert?

Bleibt nur noch dieser GPIO:

D8  - GPIO 15 - (TXD2) ?

von Stefan (Gast)


Lesenswert?

Muß auf GND liegen.

von Nils P. (ert)


Angehängte Dateien:

Lesenswert?

google erste beide Treffer...

Greez Termi

von Arduino Anfänger (Gast)


Lesenswert?

Dein Ergebnis vom suchen ist nicht schlecht. Habe ich auch als erstes 
gefunden. Leider geht aus dem Bild nicht hervor, was man wo anschliessen 
darf.

Stefan schrieb:
> Muß auf GND liegen.

Schade, fehlt mir einer.

Am A0 liegen 2 Widerstände, 220k zu ADX und 100k zu GND.
Ist er damit für 5V geeignet der kann man ihn noch anders nutzen?

von Stefan (Gast)


Lesenswert?

Das ESP verträgt keine 5V.

von Arduino Anfänger (Gast)


Lesenswert?

Mit den 5V ist klar, es geht um den Spannungsteiler

von Sascha W. (sascha-w)


Lesenswert?

Arduino Anfänger schrieb:
> Bleibt nur noch dieser GPIO:
>
> D8  - GPIO 15 - (TXD2) ?

Den kannst du benutzen, der muss nur beim booten auf GND (über einen 
Widerstand) liegen.

Sascha

von Kolja L. (kolja82)


Lesenswert?

Arduino Anfänger schrieb:
> Am A0 liegen 2 Widerstände, 220k zu ADX und 100k zu GND.
> Ist er damit für 5V geeignet der kann man ihn noch anders nutzen?

Der ESP kann nur 1V anlog einlesen, die NodeMCU kann 3,3V.

Mit einem Vorwiderstand gehen aber auch mehr.

von Stefan F. (Gast)


Lesenswert?

GPIO 0 und 2 müssen beim Booten auf High liegen. Danach darfst du ihn 
als I/O Pin benutzen.

Aber Achtung: An GPIO0 hängt noch ein Taster+Widerstand, der ihn auf Low 
zieht. Wenn du ihn durch externe Beschaltung "zu stark" auf High ziehst, 
kann der Taster nicht mehr wirken.

von Wichtigmacher gehen mir auf den Sack (Gast)


Lesenswert?

Anal Ysator schrieb:
> Arduino Anfänger schrieb:
>> Welchen Pin kann ich verwenden?
>
> Welches Auto kann ich fahren?
>
> Schon mal versucht ein Manual zu lesen?

...aber Hauptsache dumm gelabert...
Wenn Du nicht helfen kannst, solltest einfach die Klappe halten!!!

von Joachim S. (oyo)


Lesenswert?

Von GPIO9 und GPIO10 sollte man grundsätzlich die Finger lassen, ausser 
man weiss genau, was man tut. Ohne Hardware-Modifikationen an den 
ESP-Modulen sind diese Pins normalerweise nicht nutzbar.

GPIO1 und GPIO3 (TXD und TXD) wird man normalerweise auch eher 
vermeiden, weil das die Standardports zur seriellen Kommunikation sind, 
und bspw. auf den NodeMCU-Boards bereits belegt (mit dem 
USB-UART-Wandler verbunden) sind.

GPIO16 ist grundsätzlich nutzbar, aber nur mit Einschränkungen: Man kann 
ihn nur dann als normalen IO-Pin nutzen, wenn man auf "Deep Sleep" 
verzichtet, denn zur Nutzung des Deep Sleep muss GPIO16 mit dem 
nRESET-Pin verbunden werden. Ausserdem kann er nicht für PWM, I2C und 
Interrupts genutzt werden.

GPIO0, GPIO2 und GPIO15 sind ebenfalls nur mit Einschränkungen nutzbar, 
denn sie müssen beim Booten auf vordefinierten Pegeln liegen (GPIO0 und 
GPIO2 auf high, GPIO15 auf low), weshalb diese Pins normalerweise über 
Pull-Up/-Down-Widerstände mit VCC und GND verbunden sind. Diese Pins als 
Output-Pins zu nutzen, ist vglw. problemlos möglich, als Input-Pins 
hingegen etwas problematisch. Folgende Webseite liefert weitere 
Informationen zur Nutzung dieser drei Pins:
http://www.forward.com.au/pfod/ESP8266/GPIOpins/index.html

GPIO4, GPIO5, GPIO12, GPIO13 und GPIO14 sind im Grunde ohne nennenswerte 
Einschränkungen als I/O-Pins nutzbar.

von Rudolph R. (rudolph)


Lesenswert?

Ich habe vorhin versucht D4, bzw. GPIO2 zu benutzen und habe dann 
erstmal auf dem Oszi gesehen das da nach dem Reset für einige ms 
serielles Gezappel drauf ist.

Nach ein wenig spielen sieht das für mich so aus als ob nicht mal die 
Hälfte der Pins wahlfrei benutzbar ist - wofür sind da überhaupt so 
viele Pins dran?

von Stefan F. (Gast)


Lesenswert?

> als ob nicht mal die Hälfte der Pins wahlfrei benutzbar ist

Das hast du richtig erkannt.

> wofür sind da überhaupt so viele Pins dran?

- Für serielles Debugging/FW Upload.
- Um den Boot-Modus festzulegen.
- Je mehr I/O Pins man hat, umso einfacher wird das Schaltungsdesign.

Warum jemand auf die Idee kam, die Leitungen zum Flash Speicher nach 
außen zu führen, leuchtet mir allerdings auch nicht ein.

von Rudolph R. (rudolph)


Lesenswert?

Gibt es denn Alternativen dazu?
Also Boards die mehr wahlfrei benutzbare Pins raus führen und die 
sowieso nicht sinnvoll benutzbaren Pins nicht raus führen?

von (prx) A. K. (prx)


Lesenswert?

Mehr Pins: jene, die auf ESP32 basieren.
Weniger unnötige Pins: WEMOS D1 mini

von Stefan F. (Gast)


Lesenswert?

> Gibt es denn Alternativen dazu?
> Also Boards die mehr wahlfrei benutzbare Pins raus führen

Sicher, zum Beispiel das Pretzel Board http://iot.fkainka.de/board.

Oder du kombinierst einen Arduino Nano mit einem ESP-01, dann hast du im 
Endeffekt das Selbe nur billiger.

Zwei andere ähnliche Schaltungsvorschläge zum abgucken:

http://stefanfrings.de/mikrocontroller_buch/Einstieg%20in%20die%20Elektronik%20mit%20Mikrocontrollern%20-%20Band%203.pdf 
Kapitel 13.2.1

http://stefanfrings.de/wlan_io/index.html

von Rudolph R. (rudolph)


Lesenswert?

Stefan U. schrieb:
> Sicher, zum Beispiel das Pretzel Board http://iot.fkainka.de/board.
>
> Oder du kombinierst einen Arduino Nano mit einem ESP-01, dann hast du im
> Endeffekt das Selbe nur billiger.

Aber genau das ist ja keine Alternative zum NodeMcu Devkit mit ESP12E.
Die Idee ist ja gerade, den ESP8266 als MikroController zu benutzen und 
nicht etwa im 1970er Style mit AT-Kommandos zu füttern.
Als Slave kann der ESP8266 leider auch nur Seriell und nicht etwa SPI.

Es gibt halt ein paar Merkwürdigkeiten durch die Arduino Software.
Wie etwa das ein leeres Projekt einfach so einen Access-Point auf macht 
und eben die serielle Ausgabe auf GPIO2.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.