ESP8266 Pinout de referință: Ce pini GPIO ar trebui să utilizați?

Acest articol este un ghid pentru GPIO-urile ESP8266: diagrame de pinout, funcțiile lor și cum să le folosiți.

Cipul ESP8266 12-E vine cu 17 pini GPIO. Nu toate GPIO-urile sunt expuse în toate plăcile de dezvoltare ESP8266, unele GPIO-uri nu sunt recomandate a fi utilizate, iar altele au funcții foarte specifice.

Cu ajutorul acestui ghid, veți învăța cum să utilizați corect GPIO-urile ESP8266 și veți evita ore întregi de frustrare prin utilizarea celor mai potriviți pini pentru proiectele dumneavoastră.

Avem și un ghid pentru GPIO-urile ESP32: ESP32 Pinout Reference: Which GPIO pins should you should use?

ESP8266 12-E Chip Pinout

Următoarea figură ilustrează pinout-ul cipului ESP8266 12-E. Folosiți această diagramă dacă utilizați un cip ESP8266 bare în proiectele dumneavoastră.

Rețineți: nu toate GPIO-urile sunt accesibile în toate plăcile de dezvoltare, dar fiecare GPIO specific funcționează în același mod, indiferent de placa de dezvoltare pe care o utilizați. Dacă sunteți la început cu ESP8266, vă recomandăm să citiți ghidul nostru: Getting Started with the ESP8266.

În momentul de față, există o mare varietate de plăci de dezvoltare cu cipul ESP8266 care diferă în ceea ce privește numărul de GPIO-uri accesibile, dimensiunea, factorul de formă, etc…

Cele mai utilizate plăci ESP8266 sunt ESP-01, ESP8266-12E NodeMCU Kit și Wemos D1 Mini. Pentru o comparație a acestor plăci, puteți citi acest ghid: ESP8266 Wi-Fi Development Boards comparison.

ESP8266-01 Pinout

Dacă folosiți o placă ESP8266-01, puteți folosi următoarea diagramă GPIO ca referință.

ESP8266 12-E NodeMCU Kit

Diagrama pinout a kitului ESP8266 12-E NodeMCU este prezentată mai jos.

Wemos D1 Mini Pinout

Următoarea figură prezintă pinout-ul WeMos D1 Mini.

Descărcați PDF cu diagramele de pinificare ale ESP8266

Am pregătit un PDF util pe care îl puteți descărca și imprima, astfel încât să aveți întotdeauna diagramele ESP8266 lângă dumneavoastră:

Descărcați PDF cu diagramele de pinificare ”

Periferice ESP8266

Perifericele ESP8266 includ:

  • 17 GPIOs
  • SPI
  • I2C (implementat pe software)
  • I2S interfețe cu DMA
  • UART
  • 10-.bit ADC

Cele mai bune pini de utilizat – ESP8266

Un lucru important de observat la ESP8266 este că numărul GPIO nu se potrivește cu eticheta de pe serigrafia plăcii. De exemplu, D0 corespunde la GPIO16 și D1 corespunde la GPIO5.

Tabelul de mai jos arată corespondența dintre etichetele de pe silkscreen și numărul GPIO, precum și ce pini sunt cei mai buni de utilizat în proiectele dvs. și care trebuie să fiți precauți.

Pinii evidențiați cu verde sunt OK de utilizat. Cei evidențiați în galben sunt OK de utilizat, dar trebuie să fiți atenți deoarece pot avea un comportament neașteptat în principal la pornire. Pinii evidențiați în roșu nu sunt recomandați pentru a fi utilizați ca intrări sau ieșiri.

.

.

.

.

.

.

Label GPIO Input Output Notes
D0 GPIO16 fără întrerupere fără suport PWM sau I2C HIGH la pornire
utilizat pentru trezirea din somn profund
D1 GPIO5 OK OK de multe ori folosit ca SCL (I2C)
D2 GPIO4 OK OK OK OK folosit adesea ca SDA (I2C)
D3 GPIO0 tractat în sus OK conectat la butonul FLASH, pornirea eșuează dacă este trasă LOW
D4 GPIO2 trasă în sus OK HIGH la pornire
conectată la LED-ul de la bord, boot-ul eșuează dacă este tras la LOW
D5 GPIO14 OK OK SPI (SCLK)
D6 GPIO12 OK OK SPI (MISO)
D7 GPIO13 OK OK OK SPI (MOSI)
D8 GPIO15 tractată la GND OK SPI (CS)
Boot eșuează dacă este trasă HIGH
RX GPIO3 OK RX pin HIGH la pornire
TX GPIO1 TX pin OK HIGH la pornire
Scoaterea de depanare la pornire, boot-ul eșuează dacă este tras la LOW
A0 ADC0 Intrare analogică X

Continuați să citiți pentru o analiză mai detaliată și aprofundată a GPIO-urilor ESP8266 și a funcțiilor sale.

GPIOs conectate la cipul flash

GPIO6 până la GPIO11 sunt de obicei conectate la cipul flash în plăcile ESP8266. Așadar, nu se recomandă utilizarea acestor pini.

Pini utilizați în timpul pornirii

Se poate împiedica pornirea ESP8266 dacă unii pini sunt trași la nivel LOW sau HIGH. Următoarea listă arată starea următorilor pini la BOOT:

  • GPIO16: pinul este ridicat la BOOT
  • GPIO0: eșec la boot dacă este tras la LOW
  • GPIO2: pinul este ridicat la BOOT, eșec la boot dacă este tras la LOW
  • GPIO15: eșec la boot dacă este tras la HIGH
  • GPIO3: pinul este ridicat la BOOT
  • GPIO1: pinul este ridicat la BOOT, eșecul de boot dacă este tras la LOW
  • GPIO10: pinul este ridicat la BOOT
  • GPIO9: pinul este ridicat la BOOT

Pini HIGH la Boot

Există anumiți pini care emit un 3.3V atunci când ESP8266 pornește. Acest lucru poate fi problematic dacă aveți relee sau alte periferice conectate la acele GPIO-uri. Următoarele GPIO-uri emit un semnal HIGH la pornire:

  • GPIO16
  • GPIO3
  • GPIO1
  • GPIO10
  • GPIO9

În plus, celelalte GPIO-uri, cu excepția GPIO5 și GPIO4, pot emite un semnal de joasă tensiune la pornire, ceea ce poate fi problematic dacă acestea sunt conectate la tranzistoare sau relee. Puteți citi acest articol care investighează starea și comportamentul fiecărui GPIO la pornire.

GPIO4 și GPIO5 sunt GPIO-urile cele mai sigure de utilizat dacă doriți să operați relee.

Intrare analogică

Esp8266 suportă doar citirea analogică într-un singur GPIO. Acel GPIO se numește ADC0 și este de obicei marcat pe serigrafie ca A0.

Tensiunea maximă de intrare a pinului ADC0 este de 0 până la 1V dacă folosiți cipul gol ESP8266. Dacă folosiți o placă de dezvoltare precum kitul ESP8266 12-E NodeMCU, intervalul de tensiune de intrare este de la 0 la 3,3V deoarece aceste plăci conțin un divizor de tensiune intern.

Puteți învăța cum să folosiți citirea analogică cu ESP8266 cu ajutorul următorului ghid:

  • ESP8266 ADC – Citirea valorilor analogice cu Arduino IDE, MicroPython și Lua

Ledul de bord

Majoritatea plăcilor de dezvoltare ESP8266 au un LED încorporat. Acest LED este de obicei conectat la GPIO2.

LED-ul funcționează cu logică inversată. Trimiteți un semnal HIGH pentru a-l opri și un semnal LOW pentru a-l aprinde.

Pini RST

Când pinul RST este tras la LOW, ESP8266 se resetează. Acest lucru este același lucru cu apăsarea butonului RESET de la bord.

GPIO0

Când GPIO0 este tras la nivel LOW, setează ESP8266 în modul bootloader. Acest lucru este identic cu apăsarea butonului FLASH/BOOT de la bord.

GPIO16

GPIO16 poate fi folosit pentru a trezi ESP8266 din somnul profund. Pentru a trezi ESP8266 din somn profund, GPIO16 trebuie să fie conectat la pinul RST. Aflați cum să puneți ESP8266 în modul de veghe profundă:

  • ESP8266 Deep Sleep with Arduino IDE
  • ESP8266 Deep Sleep with MicroPython

I2C

Esp8266 nu are pini I2C hardware, dar poate fi implementat în software. Așadar, puteți folosi orice GPIO ca I2C. De obicei, următoarele GPIO-uri sunt utilizate ca pini I2C:

  • GPIO5: SCL
  • GPIO4: SDA

SPI

Pinii utilizați ca SPI în ESP8266 sunt:

  • GPIO12: MISO
  • GPIO13: MOSI
  • GPIO14: SCLK
  • GPIO15: CS

Pinii PWM

ESP8266 permite PWM software în toți pinii I/O: GPIO0 până la GPIO16. Semnalele PWM de pe ESP8266 au o rezoluție de 10 biți. Aflați cum să utilizați pinii PWM ai ESP8266:

  • ESP8266 PWM cu Arduino IDE
  • ESP8266 PWM cu MicroPython

Pini de întrerupere

Esp8266 suportă întreruperi în orice GPIO, cu excepția GPIO16.

  • Intreruperi și temporizatoare ESP8266 cu Arduino IDE

Încheiere

Sperăm că ați găsit util acest ghid pentru GPIO-urile ESP8266. Dacă aveți câteva sfaturi despre cum să folosiți corect GPIO-urile ESP8266, puteți scrie un comentariu mai jos.

De asemenea, avem un ghid similar pentru GPIO-urile ESP32 pe care îl puteți citi.

Dacă sunteți la început cu ESP8266, avem un conținut excelent care s-ar putea să vă intereseze:

  • Home Automation using ESP8266 (curs)
  • Getting Started with the ESP8266
  • 30+ ESP8266 Projects and Tutorials
  • ESP8266 Web Server Tutorial
  • ESP32 vs ESP8266 – Pro și contra

Mulțumim pentru lectură.

Lasă un răspuns

Adresa ta de email nu va fi publicată.