Microcontrolere Lab

Tabel de conținut

Acest tutorial este despre pinout de referință al ESP8266 și diferite tipuri de plăci ESP8266 cum ar fi Nodemcu, ESP01 , ESP12. În primul rând, voi oferi o prezentare generală a circuitului integrat ESP8266 și a pinout-ului său, după care voi oferi referința pinout-ului celor mai populare plăci ESP8266.

Esp8266 este un microcip în pachet QFN care are capacități atât de suită TCP/IP, cât și de microcontroler. Esp8266 oferă o soluție WiFi foarte integrată care satisface nevoile industriilor Internet of Things, cum ar fi costul redus, utilizarea eficientă a energiei, performanțe demne de încredere și un design compact. Acesta este fabricat de Espressif Systems în Shanghai, China.

Dispunând de capabilități complete de rețea WiFi, poate funcționa ca sclav al unui microcontroler gazdă sau ca aplicație autonomă. Când spunem sclav la un microcontroler gazdă înseamnă că poate fi utilizat ca adaptor WiFi la orice microcontroler care utilizează interfețe SPI sau UART. În timp ce se utilizează ca o unitate autonomă, acesta poate îndeplini capacitățile microcontrolerului și ale rețelei WiFi.

Esp8266 se bazează pe seria L106 Diamond de la Tensilica, care este un procesor pe 32 de biți și are SRAM pe cip. De asemenea, integrează module de alimentare, balun RF, receptor și emițător RF, receptor și emițător analogic, bandă de bază digitală, amplificator, filtre și alte câteva componente minime.

Specificațiile ESP8266

Specificațiile ESP8266 se împart în trei părți: Hardware, Software și Wi-Fi. În specificația hardware, dimensiunea pachetului său este QFN 32pins cu o dimensiune de 5 mm x 5 mm. Tensiunile de funcționare variază de la 2,5V la 3,6V. Cipul consumă în medie 80mA de curent. Procesorul său este Tensilica L106, care este un procesor de 32 de biți cu SRAM pe cip. Interfața periferică conține UART, SDIO, SPI, I2C, I2S, telecomandă IR, GIPO’s, ADC, PWM, lumină LED și buton.

Firmware-ul său poate fi actualizat folosind OTA și UART. Folosește IPv4, TCP, UDP și HTTP ca protocoale de rețea. Utilizatorul poate configura folosind setul de comenzi AT, serverul Cloud și folosind o aplicație mobilă.

Schema și descrierile cipului ESP8266

Dispoziția pinilor din pachetul QFN cu 32 de pini.

  • Pin1: VDDA este un pin de alimentare pentru intervale de putere analogică de la 2,5V la 3,6V.
  • Pin2: LNA este un pin de intrare/ieșire utilizat în mod special pentru interfața cu antena RF. Cipul produce o impedanță de 39+j6 Ω.
  • Pin3: VDD3P3 este un pin de alimentare pentru a furniza game de putere a amplificatorului de la 2,5V la 3,6V.
  • Pin4: VDD3P3P3 este un pin de alimentare asigură game de putere a amplificatorului de la 2,5V la 3,6V similar cu pin3.
  • Pin5: VDD_RTC este clasificat ca un pin de alimentare și furnizează 1,1V, dar acest pin nu este conectat.
  • Pin6: TOUT este un pin de intrare funcționează ca pin ADC pentru a testa tensiunile de alimentare ale Pin3 și Pin4 și tensiunile de intrare ale pinului TOUT pin6. Aceste două funcții nu pot funcționa simultan.
  • Pin7: CHIP_EN I un pin de intrare. Când pinul CHIP_EN este HIGH cipul funcționează corect, când este LOW cipul a consumat doar o cantitate mică de curent.
  • Pin8: XPD_DCDC este un pin de intrare/ieșire care este utilizat pentru a trezi cipul din modul de veghe profundă. În mod obișnuit este conectat cu GPIO16.
  • Pin9: MTMS este un pin de intrare/ieșire etichetat ca GPIO14 și este utilizat în SPI ca pin de ceas (SPI_CLK).
  • Pin10: MTDI este un pin de intrare/ieșire etichetat ca GPIO12 și este utilizat în SPI ca pin de Master-In-Slave-Out (SPI_MISO).
  • Pin11: VDDPST este un pin de alimentare. Este o sursă de alimentare de intrare/ieșire digitală ale cărei tensiuni variază de la 1,8V la 3,6V. Similar cu pinul17.
  • Pin12: MTCK este un pin de intrare/ieșire etichetat ca GPIO13 și este utilizat în SPI ca pin Master-Out Slave-In (SPI_MOSI), precum și utilizat în UART ca pin Clear To Send (UART_CTS).
  • Pin13: MTDO este un pin de intrare/ieșire etichetat ca GPIO15 și este utilizat în SPI ca pin de selectare a cipului (SPI_CS), precum și utilizat în UART ca pin de solicitare de trimitere (UART_RTS).
  • Pin14: GPIO2 este un pin de intrare/ieșire utilizat ca UART TX în timpul programării flash.
  • Pin15: GPIO0 este un pin de intrare/ieșire utilizat ca pin de selectare a cipului 2 în SPI (SPI_CS2).
  • Pin16: GPIO4 este un pin de intrare/ieșire utilizat pur și simplu în scopuri de intrare și ieșire.
  • Pin17: VDDPST este un pin de alimentare. Este o sursă de alimentare de intrare/ieșire digitală ale cărei tensiuni variază de la 1,8V la 3,6V. Similar cu pinul 11.
  • Pin18: SDIO_DATA_2 este un pin de intrare/ieșire etichetat ca GPIO9 și utilizat pentru conectarea cu pinul de date 2 al cardului SD.
  • Pin19: SDIO_DATA_3 este un pin de intrare/ieșire etichetat ca GPIO10 și utilizat pentru conectarea cu pinul de date 3 al cardului SD.
  • Pin20: SDIO_CMD este un pin de intrare/ieșire etichetat ca GPIO11 și utilizat pentru a se conecta cu pinul de comandă al cardului SD
  • Pin21: SDIO_CLK este un pin de intrare/ieșire etichetat ca GPIO6 și utilizat pentru a se conecta cu pinul de ceas al cardului SD.
  • Pin22: SDIO_DATA_0 este un pin de intrare/ieșire etichetat ca GPIO7 și utilizat pentru a se conecta cu pinul de date 0 al cardului SD.
  • Pin23: SDIO_DATA_1 este un pin de intrare/ieșire etichetat ca GPIO8 și utilizat pentru a se conecta cu pinul de date 1 al cardului SD.
  • Pin24: GPIO5 este un pin de intrare/ieșire pur utilizat în scopuri de intrare și ieșire.
  • Pin25: U0RXD este un pin de intrare/ieșire etichetat ca GPIO3 și utilizat ca UART RX în timpul programării flash.
  • Pin26: U0TXD este un pin de intrare/ieșire etichetat ca GPIO1 și utilizat ca UART TX în timpul programării flash. De asemenea, este utilizat ca pin de selectare a cipului SPI 1 (SPI_CS1).
  • Pin27: XTAL_OUT este clasificat ca un pin de intrare/ieșire și conectat la ieșirea oscilatorului cu cristal.
  • Pin28: XTAL_IN este clasificat ca un pin de intrare/ieșire și conectat la intrarea oscilatorului cu cristal.
  • Pin29: VDDD este un pin de alimentare care furnizează putere analogică în intervale de la 2,5V la 3,6V.
  • Pin30: VDDA este un pin de alimentare care furnizează putere analogică în intervale de la 2,5V la 3,6V. Similar cu pinul29.
  • Pin31: RES12K este un pin de intrare care este conectat în serie cu rezistențe de 12 kΩ și conectat la masă.
  • Pin32: EXT_RSBT este un pin de intrare utilizat pentru a reporni cipul prin furnizarea unui semnal de resetare extern care este activ la un nivel scăzut de tensiune.
  • Pin33: GND este un pin de alimentare care acționează ca masă pentru cip.

Toate GPIO-urile pot fi utilizate ca pin de intrare și ieșire, dar au, de asemenea, funcția lor specifică.

Schemă

Schemele ESP8266 includ următoarele componente:

  • Sursă de alimentare
  • Secvență de pornire și resetare
  • Flash
  • Oscilator cristalin
  • RF
  • Rezistență externă
  • UART

Până acum am acoperit preambulul Esp8266, diagrama blocului funcțional, dispunerea pinilor, descrierea și schemele.

În august 2014, Espressif Systems a lansat primul lor modul brut, care este fabricat de către AI-Thinker din partea a treia și modulul denumit modul ESP-01. De atunci, Ai-Thinker a dezvoltat o serie de module bazate pe ESP8266, această serie denumită module ESP-xx variază de la 01 la 14.

Pinout of different types of ESP8266 Modules

În această secțiune a articolului, vom vorbi despre pinout of different versions of ESP8266 module începând de la ESP-01 până la ESP-12.

Espressif Systems a lansat primul lor kit de dezvoltare software oficial pentru a programa cipul direct fără interfațarea cu un microcontroler extern. De atunci există multe SDK-uri oficiale, dar Espressif menține doar două SDK-uri stabile unul este bazat pe FreeRTOS și celălalt bazat pe callback-uri. Există, de asemenea, o varietate de SDK-uri open source pentru ESP8266.

Arduino: este cel mai frecvent utilizat SDK datorită popularității sale. Este un SDK bazat pe C++. ESP6266 este ușor de programat ca și plăcile Arduino. Fișierele de bază sunt disponibile pe GitHub.

NodeMCU: este un kit de dezvoltare software bazat pe Lua.

MicroPython: este utilizarea limbajului python pentru dispozitive încorporate.

Espruino, Mongoose OS, uLisp, Sming, Platform IO, ESP Easy, Smick, ESP Open RTOS sunt alte câteva SDK-uri cu sursă deschisă.Necesitatea acestor plăci de dezvoltare este necesară din cauza faptului că seria de module ESP-xx nu are la bord un regulator de tensiune, un pod USB la UART precum CH340G și CP2102 de la Silicon Lab și un conector micro USB. Înainte trebuia să cumpărăm separat regulatorul de tensiune și puntea USB la UART și apoi să le conectăm la modulele ESP-xx pentru a le blișa.

Aici vom discuta mai ales despre plăci de dezvoltare bazate pe modulul ESP-12E.

Pinout modul ESP8266 12E

Modul ESP8266 12E are un total de 22 de pini care includ

.

Nr. de pini Etichetă pin Descriere
17 GPIO Pinii GPIO variază de la GPIO0 la GPIO16 și includ pinii de interfață SPI, I2C, SDIO, UART.
1 ADC Convertor analogic-digital pe 10 biți.
1 VCC Tensiune de alimentare 3.3V
1 GND Pini de masă
1 RST Pini de repaus
1 Activare Chip Enable Pin

Schema de pinare ESP8266 12E Wemos D1 Mini

Planșa de dezvoltare Wemos D1 Mini are un total de 16 pini în care 12 pini sunt activi, utilizează modulul ESP-12, butonul de resetare de la bord, 3.3 regulator de tensiune, Micro USB, punte USB la UART și alte câteva componente.

.

Nr. de

Pini

Etichetă Descriere
1 3,3V Pini de 3,3 volți
1 5.0 Tensiune de intrare 5V pin
1 GND Pini de masă
1 ADC Convertor analogic-digital pe 10 biți
1 RST Pini de resetare
9 D0 până la D8, Pini de intrare/ieșire utilizați, de asemenea, pentru SPI și I2C, Flash.
2 RX,TX Interfață UART.

Schema de pinare a modulului ESP8266 01

Modulul ESP8266 01 este diferit, dar utilizat în mod obișnuit ca și plăcile de dezvoltare de mai sus. Această placă nu este prietenoasă cu breadboard-ul de multe ori se folosește un modul de programare separat pentru programare. Are un total de 8 pini în care 6 pini sunt activi.

.

.

Nr. de

Pini

Etichetă Descriere
1 3,3V Alimentare 3.3 volți pin
1 GND Pini de masă
1 RST Pini de resetare
1 CH_PD/EN Pini de alimentare și activare a cipului
4 GPIO de la 0 la 3 Pini de interfață UART și de intrare/ieșire

Schema de pinare a plăcii de dezvoltare ESP8266 12E NodeMCU

Placa de dezvoltare NodeMCU are un total de 30 de pini în care 14 pini sunt activi, utilizează modulul ESP-12, butonul de resetare la bord și butonul flash, 3.3 regulator de tensiune, Micro USB, USB to UART Bridge și alte câteva componente.

.

Nr. de

Pini

Etichetă Descriere
3 3.3V 3.3 volți pini
1 Vin Pini de tensiune de intrare de 5V
4 GND Mămâncare pinii
1 ADC Convertor analogic-digital pe 10 biți
1 RST Pini de resetare
1 EN Pini de activare a cipului
1 CLK CLK pin pentru interfața SPI și SDIO
1 SD0 Pin de date 0 pentru SDIO și pin MISO pentru interfața SPI.
1 CMD Pin de comandă pentru interfața SDIO și pin de selectare a cipului pentru interfața SPI.
1 SD1 Pin de date 1 pentru interfața SDIO și pin MOSI pentru interfața SPI.
1 SD2 Pin de date 0 pentru interfața SDIO și, de asemenea, utilizat ca GPIO9.
1 SD3 Pin de date 3 pentru interfața SDIO și utilizat și ca GPIO10.
2 RSV Pini rezervați.
11 D0 până la D8, RX, TX Pini de intrare/ieșire utilizați, de asemenea, pentru UART, SPI, I2C, Flash și pin de trezire.

Perifericele ESP8266

Esp8266 are următoarele periferice:

  • 17 pini de intrare-ieșire de uz general
  • Interfață periferică serială (SPI)
  • Circuit integrat (12C)
  • Inter-IC Interfețe de sunet (12S) cu acces direct la memorie
  • Interfață de emisie-recepție asincronă universală.
  • Convertor analogic-digital pe 10 biți

Intrare analogică

ESP8266 are un singur convertor analogic-digital pe 10 biți care este denumit ADC0 și etichetat ca A0. Dar acesta este, de asemenea, unul dintre cele mai mari dezavantaje ale sale, deoarece de cele mai multe ori utilizatorul trebuie să conecteze doi senzori, astfel încât trebuie să cumpărăm module ADC separate, circuite integrate și circuite de multiplexare pentru a interfața doi sau mai mulți senzori, dar acesta este un subiect al unui alt articol.

Tensiunea analogică de intrare a modulului ESP-01 variază de la 0 la 1V. Placa de dezvoltare bazată pe modulul ESP-12E are o tensiune analogică de intrare cuprinsă între 0 și 3,3V. Așadar, trebuie să ținem cont în timp ce scriem o schiță să folosim pinul A0.

Pinii PWM

Esp8266 permite PWM în toți pinii de intrare/ieșire de la GPIO0 la GPIO16. Semnalele PWM au rezoluții de 10 biți.

Pinii SPI

O interfață de programare serială (SPI) are următorii pini în ESP8266

Pinii I2C

ESP8266 oferă doar o interfață I2C software, ceea ce înseamnă că putem folosi oricare doi pini pentru I2C, dar următorii pini sunt cei mai utilizați.

GPIO5 pentru linia de ceas serial (SCL)

GPIO4 pentru linia de date seriale (SDA)

Pinii de întrerupere

Puteți utiliza orice pin GPIO pentru întreruperi, cu excepția GPIO16.

Trezirea

Pentru a trezi ESP8266 din somnul profund, utilizați GPIO16 prin conectarea acestuia la pinul RST. Acesta este un subiect pentru un alt articol.

On board LED

Majoritatea plăcilor de dezvoltare au unul sau mai multe LED-uri încorporate. LED-ul încorporat pe modulul ESP8266 este conectat la GPIO2, iar LED-ul încorporat pe placa de dezvoltare este conectat la GPIO16.

Butonul Reset și Flash

Păsarea butonului de resetare sau tragerea pinului RST la nivel scăzut resetează cipul ESP8266. Apăsarea butonului Flash sau tragerea GPIO0 la nivel scăzut poziționează cipul ESP8266 în modul bootloader.

Ce pin al ESP8266 trebuie folosit

Rețineți întotdeauna că eticheta GPIO nu se potrivește cu eticheta de pe serigrafie. De exemplu, GPIO0 corespunde lui D3, iar D0 corespunde lui GPIO16. Cel mai bine este să folosiți GPIO-urile cu o bifă verde.

.

ADC0

.

.

.

.

. GPIO13

. Pullat la masă

Label GPIO Input Output Description
A0 Intrare analogică Nu Pentru intrare analogică de la 0 la 3.3v și nici o ieșire.
RX GPIO3 Da Doar pinul RX Înalt la pornire.
TX GPIO1 Doar pinul Tx Da Sunt ridicate la Boot.
D0 GPIO16 Nici o întrerupere Nici I2C, PWM Utilizat pentru a trezi cipul din somnul profund, ridicat la pornire.
D1 GPIO5 Da Da Utilizat adesea ca SCL
D2 GPIO4 Da Da De multe ori folosit ca SDA
D3 GPIO0 Trimis în sus Da Conectat la butonul Flash
D4 GPIO2 Trimis în sus Da Conectat la butonul construit…în LED, ridicat la pornire.
D5 GPIO14 Da Da Pini SCLK pentru interfața SPI
D6 GPIO12 Da Da Pin MISO pentru interfața SPI
D7 Da Da Pini MOSI pentru interfața SPI
D8 GPIO15 Da PinCS pentru interfața SPI

Pinul ESP8266 High și Low-.semnal de tensiune la Boot

În timpul bootării ESP8266, următorii pini furnizează 3.3v semnal pe pinii specificați, astfel încât conectarea releelor, a tranzistorului sau a oricărui alt dispozitiv periferic se poate comporta greșit. Următorii pini emit un semnal de 3,3v la Boot:

  • GPIO16
  • GPIO3
  • GPIO1
  • GPIO10
  • GPIO9

Toți ceilalți pini GPIO furnizează un singur semnal de joasă tensiune la Boot, cu excepția GPIO4 și GPIO5. Astfel, GPIO4 și GPIO5 sunt cei mai buni pini pentru a conecta relee, tranzistori și alte dispozitive periferice pentru rezultate stabile.

Configurarea pinilor în timpul boot-ului

Pentru a boot-a cu succes ESP8266 trebuie să interzicem pinilor specificați să devină HIGH sau LOW.

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

Aplicații ale ESP8266

  • Automatizări casnice
  • Butoane și întrerupătoare inteligente
  • Aparate electrocasnice (cum ar fi AC, imprimanta)
  • Control industrial fără fir
  • Dispozitive senzoriale
  • Gadgeturi purtabile
  • Camere IP
  • Etichete de identificare de securitate
  • Dispozitive Wi-Fi care cunosc locația
  • Sistem de poziționare Wi-Fi

S-ar putea, de asemenea, să doriți să aruncați o privire asupra altor tutoriale ESP8266: