Razlaga ESP32 pinov: varni zatiči, pravila ožičenja in primer

Nov 25 2025
Izvir: DiGi-Electronics
Brskaj: 1999

Pinout ESP32 je ena njegovih največjih prednosti in eden najpogostejših virov zmede. Zaradi močnega multipleksiranja, strogih odvisnosti zagonskega načina in občutljivega analognega vedenja je pravilna izbira pinov pomembna za stabilno delovanje. Ta članek jasno organizira vsako glavno skupino pinov, da se lahko izognete konfliktom, preprečite neuspehe zagona in oblikujete zanesljivo strojno opremo, ki temelji na ESP32.

Figure 1. ESP32 Pinout

Razumevanje ESP32 pinouta

ESP32 je zmogljiv in prilagodljiv mikrokrmilnik, ki se široko uporablja v IoT, avtomatizaciji in pametnih napravah. Njegove napredne zmogljivosti izhajajo iz močno multipleksiranega sistema za razporejanje pinov, v katerem si številne funkcije delijo iste fizične pine. Sem spadajo digitalni vhodno-izhodni kanali, ADC kanali, kapacitivni senzorji na dotik, komunikacijska vodila, zatiči v domeni RTC in notranje povezave za SPI flash in zagonsko konfiguracijo. Ker si številne funkcije delijo pine, lahko nepravilno ožičenje povzroči neuspešne zagone, šumne odčitke ADC-jev ali onemogočene periferne naprave.

ESP32 DevKit postavitev pinov

Figure 2. ESP32 DevKit Pin Layout

ESP32 razvojne plošče običajno obstajajo v 30-pinskih in 38-pinskih različicah, obe pa omogočata enake osnovne funkcije, vendar z manjšimi razlikami v razpoložljivih GPIO-jih.

Skupine pinov na ESP32 razvojnih ploščah

SkupinaOpis
Napajalni zatičiVIN (5 V), izhod 3,3 V, GND
Kontrolni zatičiEN (ponastavitev), IO0 (način zagona)
GPIO piniDigitalni I/O z multipleksiranjem
Analogni piniKanali ADC1 in ADC2
Komunikacijski zatičiSPI, I2C, UART, I2S
Pini samo za vhodGPIO34–GPIO39
Flash-rezervirani piniGPIO6–GPIO11

Pogosta razporeditev glave

Leva glava

• EN, GPIO36–39, GPIO34–35

• GPIO32–33, 25–27

• VIN, GND, 3,3V

Desna glava

• GPIO0–23

• Zatiči za pripenjanje škornjev (0, 2, 5, 12, 15)

Razumevanje fizične postavitve olajša izogibanje napakam in učinkovito načrtovanje ožičenja.

Pregled GPIO ESP32

Figure 3. ESP32 GPIO

ESP32 GPIO so prilagodljivi zahvaljujoč notranji I/O matriki, ki omogoča mapiranje perifernih naprav, kot so UART, SPI, I2C in PWM, skoraj povsod. GPIO podpira digitalni vhod/izhod z vgrajenimi upori za vlečenje gor/dol, robne prekinitve in zanesljivo preklapljanje pri visokih hitrostih. Tipičen neprekinjen tok pogona je 12–16 mA (doseže vrhove do ~20–40 mA), zato so za motorje ali releje potrebni zunanji gonilniki.

Pini samo za vhod

Ti pini ne morejo poganjati izhoda in so idealni za senzorje in analogne vhode:

PinTipPriporočena uporaba
GPIO34Samo vhodADC1 / senzorji
GPIO35Samo vhodADC1
GPIO36 (VP)Samo vhodADC1 / Hallov senzor
GPIO39 (VN)Samo vhodADC1

Varni ESP32 pini za uporabo in pini za izogibanje

Figure 4. Safe ESP32 Pins to Use and Pins to Avoid

Vsi ESP32 pini se ne obnašajo enako. Nekateri so varni, drugi pa vplivajo na način zagona ali so vezani na notranji flash pomnilnik.

Varni zatiči (priporočeno za vse uporabnike)

GPIOsOpombe
4, 13–19, 21–27, 32, 33Brez vpliva na zagon, idealno za večino perifernih naprav

Opozorilni zatiči (vplivajo na način zagona)

GPIOFunkcija zagonaIzogibaj se med zagonom
GPIO0Način flash/zagonMed normalnim zagonom naj bo VISOKO (vhod)
GPIO2Zagonska napetostMora biti VISOKO
GPIO5Izbirni način zagonaIzogibajte se nizkemu vlečenju
GPIO12Način bliskave napetostiMoram ostati NIZEK
GPIO15SPI načinMoram ostati NIZEK

Ti pini so varni za normalno uporabo, vendar jih zunanji deli med ponastavitvijo ne smejo potegniti na neveljavne logične ravni. Njihove podrobne začetne vloge so pojasnjene v 9. poglavju.

Omejeni zatiči (ne uporabljajte)

GPIORazlog
GPIO6–11Povezan s SPI flash pomnilnikom

Uporaba teh lahko zmrzne ali zruši ESP32.

ESP32 ADC značke

Figure 5. ESP32 ADC Pins

ESP32 združuje dve enoti SAR ADC z različnim operativnim vedenjem:

• ADC1 — Vedno na voljo in priporočeno za vse vhode senzorjev

• ADC2 — Deli se z Wi-Fi podsistemom in postane nedosegljiv, kadar je Wi-Fi aktiven

To je ena ključnih omejitev ESP32, zaradi katere je ADC1 zanesljiva izbira za meritve v brezžičnih aplikacijah.

ADC enotaKanaliGPIOsOpombe
ADC1POGLAVJE 0–POGLAVJE 7GPIO32–39Najboljša izbira za senzorje
ADC2POGLAVJE 0–POGLAVJE 90, 2, 4, 12–15, 25–27Neuporabno med Wi-Fi

Napetostno območje in natančnost

ADC-ji podpirajo privzeti vhodni razpon 0–1,1 V, ki ga je mogoče razširiti na približno 3,3 V z dušenjem. Obe enoti ADC sta nelinearni in imata koristi od kalibracije. Delovanje analognega signala lahko vpliva notranja RF aktivnost, zato lahko usmerjanje senzorskih linij stran od antene in dodajanje preprostih RC filtrov močno izboljša stabilnost. Za projekte z Wi-Fi povezavo vedno namestite analogne senzorje na ADC1, da zagotovite neprekinjeno in brezšumno delovanje.

ESP32 DAC, PWM in dotikalni zatiči

ESP32 vključuje vgrajene analogne izhode in senzorje na dotik, ki poenostavlja generiranje valovnih oblik, zatemnjevanje, nadzor motorjev in uporabniške vmesnike.

Pregled 6.1 DAC

Figure 6. ESP32 DAC

Dva 8-bitna DAC kanala pošiljata prave analogne napetosti:

DACGPIO
DAC1GPIO25
DAC2GPIO26

Pogoste uporabe vključujejo preprost avdio, analogne valovne oblike, bledenje LED diod in napetosti za prednapetost. Izhodni razpon je običajno 0–3,3 V.

PWM (LEDC)

Figure 7. ESP32 PWM

LEDC modul zagotavlja visoko ločljivost, prilagodljivo PWM:

• 16 kanalov

• Do 40 MHz osnova časovnika

• Do 20-bitne ločljivosti

• Popolnoma reappabilni GPIO-ji

Uporablja se za zatemnitev LED, krmiljenje motorja, servo signale, zvočne tone in splošno modulacijo. Vsak GPIO lahko gosti izhod PWM preko GPIO matrike.

Zatiči senzorja na dotik

Figure 8. ESP32 Touch Sensor Pins

10 kapacitivnih touchpadov ESP32 zazna bližino prstov in je uporabnih za tipke na dotik, drsnike in sprožilce za prebujanje.

TouchpadGPIO
T0–T9GPIO4, 0, 2, 15, 13, 12, 14, 27, 33, 32

Ti senzorji vključujejo filtriranje hrupa in dobro delujejo za nizkoenergijne valovne dogodke.

ESP32 komunikacijski pini

ESP32 vključuje bogat nabor komunikacijskih perifernih naprav, od katerih jih je mogoče usmeriti na več pinov preko fleksibilne GPIO matrike. To omogoča dodeljevanje vmesnikov, kot so I2C, SPI in UART, skoraj kjerkoli, kar omogoča zelo prilagodljive postavitve plošč in kombinacije perifernih naprav.

I2C (privzeti in prilagojeni pini)

Figure 9. ESP32 I2C Pins

ESP32 vključuje dva I2C krmilnika, kar omogoča popolno prilagodljivost pri izbiri pinov. Čeprav večina razvojnih plošč uporablja privzete pine, je mogoče tako SDA kot SCL dodeliti skoraj kateremukoli GPIO.

SignalPrivzeti GPIOOpombe
SDAGPIO21Popolnoma preoblikovan
SCLGPIO22Popolnoma preoblikovan

Katerikoli dve digitalni GPIO lahko delujeta kot SDA in SCL. Podpira tako standardni način (100 kHz), hiter način (400 kHz) kot hitri način plus (1 MHz, odvisno od plošče). Podpira notranje pull-up upore na nekaterih ploščah, vendar so za stabilno komunikacijo priporočeni zunanji upori 4,7 kΩ. Ta prilagodljivost naredi ESP32 idealnega za sisteme, ki zahtevajo več senzorjev ali nekonvencionalno usmerjanje pinov.

ESP32 vključuje več SPI vodil, pri čemer sta za uporabniške naprave na voljo HSPI in VSPI. Obe podpirata preslikavo prek GPIO matrike, vendar večina plošč in knjižnic uporablja naslednjo privzeto konfiguracijo VSPI, ki preprečuje konflikte z notranjimi flash povezavami:

Privzeta VSPI preslikava

• SCK → GPIO18

• MISO → GPIO19

• MOSI → GPIO23

• CS → GPIO5

VSPI je običajno zaželena za zaslone, SD kartice in hitre periferne naprave. Čeprav je mogoče zatiče ponovno premestiti, uporaba privzetih zagotavlja največjo združljivost in zmanjšuje težave s časom brez ponavljanja omejitev, ki so bile že obravnavane v prejšnjih razdelih.

UART (serijski)

Figure 10. ESP32 UART Pins

ESP32 vključuje tri UART krmilnike s prilagodljivim usmerjanjem, ki omogoča, da se katerikoli UART pini premaknejo na skoraj katerikoli GPIO.

UARTTX PinRX PinPrimarni namen
UART0GPIO1GPIO3Utripanje, zagonska sporočila, serijsko beleženje
UART1GPIO10GPIO9Na voljo za uporabniške aplikacije
UART2GPIO17GPIO16Na voljo za uporabniške aplikacije

ESP32 Deep-Sleep in RTC pini

ESP32 vključuje podsistem Ultra-Low-Power (ULP) in namensko domeno Real-Time Clock (RTC), ki ostajata napajana tudi, ko sta glavni procesor in periferne naprave izklopljena. Ta arhitektura omogoča izjemno nizko porabo energije, pogosto v mikroampernem območju, zaradi česar je ESP32 primeren za dolgotrajne baterijske aplikacije.

Globoko spanje omogoča čipu, da izklopi glavna jedra, večino notranjih ur in Wi-Fi/Bluetooth radie, hkrati pa še vedno spremlja izbrane pine in senzorje preko RTC perifernih naprav.

Figure 11. ESP32 RTC Pins

ESP32 se lahko prebudi iz globokega spanja preko več neodvisnih sprožilcev. Vsak vir valov deluje znotraj RTC domene, ki je zasnovana tako, da ostane aktivna z minimalno porabo energije.

Tip valovGPIO / Opombe
Zunanji RTC GPIOGPIO32, GPIO33, GPIO25, GPIO26, GPIO27 — podpora za prebujanje robov ali ravni
Kapacitivne dotikalne ploščiceT0–T9 — zazna bližino prstov ali dotik med globokim spanjem
Prebujanje časovnikaRTC časovnik lahko prebudi napravo po programiranem intervalu
ULP koprocesor(Neobvezno) Prilagojena koda za nizko porabo lahko preveri senzorje pred prebujanjem glavnega procesorja

Ti pini pripadajo domeni RTC in ostanejo aktivni tudi, ko sta CPU in običajni GPIO izklopljeni. Podpirajo prebujanje z naraščajočimi/padajočimi robovi ali preprostim zaznavanjem nivoja. Pogosto se uporablja za wake-on-motion, magnetna stikala in sprožilce z nizko porabo energije.

ESP32 funkcije zagona, trakov in EN pinov

Figure 12.ESP32 Strapping Pins

ESP32 uporablja več pritrdilnih zatičev, ki določajo ključne konfiguracije sistema med ponastavitvijo ali vklopom. Ti pini se vzorčijo le ob zagonu in se nato vrnejo v normalno GPIO funkcijo. Zagotavljanje, da med ponastavitvijo ne dosežejo neveljavnih ravni, je koristno za dosledno vedenje zagona.

Miza za pripenjanje zatičov

PinZagonska vlogaZahtevano stanje ob zagonu
GPIO0Izbira način zagonskega nalagalca / flashLOW = vstop v način bliskavice; HIGH = normalen zagon
GPIO2Določa notranjo zagonsko napetostno ravenMora ostati VISOKO
GPIO5SPI konfiguracija zagonaMora ostati VISOKO
GPIO12Izbere napetost bliskavice (3,3 V / 1,8 V)Mora ostati NIZKA za 3,3 V bliskavico
GPIO15Nastavi SPI komunikacijski način med zagonomMora ostati NIZEK

Ta razdelek predstavlja avtoritativno referenco za vedenje pri trakovih. Prejšnji deli povzemajo le praktične učinke; to tabelo uporabite pri dodeljevanju pinov na prilagojenih tiskanih vezjih ali pri integraciji gumbov in senzorjev.

EN PIN (Omogoči / Ponastavi)

Pin EN (Enable) deluje kot glavni vhod za ponastavitev ESP32.

Vedenje EN pina:

• Z vlečenjem EN LOW se čip takoj ponastavi.

• Sprostitev nazaj na HIGH sproži notranje vezje in ponovno zažene zagonsko zaporedje.

• Na razvojnih ploščah (npr. ESP32-DevKitC, NodeMCU-ESP32) je EN povezan z vmesnikom USB-serijski, da omogoča samodejno ponastavitev med flashovanjem.

ESP32 napajalni pini

Figure 13. ESP32 Power Pins

ESP32 je občutljiv na kakovost napajanja, ker njegovi Wi-Fi in Bluetooth radiji vzamejo kratke, visokoamplitudne tokovne impulze. Stabilna dostava napajanja zagotavlja zanesljiv zagon, zmanjšane ponastavitve izpadov in dosledno brezžično delovanje.

Povzetek Power Pin

PinNapetostUporaba
VIN5 V vhodNapaja vgrajeni regulator (običajno AMS1117 ali ME6211) za generiranje 3,3 V
3V33,3 V izhodReguliran izhod iz ladjedelnega LDO; uporablja se za napajanje zunanje nizkotokovne logike in senzorjev
GNDElektrična referenčna in povratna pot za vse podsisteme

Priporočeni ESP32 pini in primeri ožičenja

Izbira pravih pinov na ESP32 je potrebna za stabilno delovanje, čisto usmerjanje signalov in preprečevanje konfliktov z zagonskimi povezavami ali notranjimi flash povezavami. Naslednja priporočila izpostavljajo najbolj zanesljive, brez konfliktov pine za običajne funkcije.

Izbira značk

FunkcijaNajboljše značkeOpombe
I2C21 (SDA), 22 (SCL)Privzeti strojno preizkušeni par; Deluje v večini odborov.
SPI18 (SCK), 19 (MISO), 23 (MOSI), 5 (CS)Ti pini se jasno preslikajo na VSPI in se izognejo flash-priključenim pinom.
UART16 (RX), 17 (TX)Namenski UART2 pini, varni za zagon in odpravljanje napak.
PWM (LEDC)4, 16–19, 21–27, 32–33Doseg z visoko prožnostjo; PWM je mogoče usmeriti na skoraj vsak GPIO.
ADC32–39 (ADC1)ADC1 kanali ostajajo uporabni tudi, ko je Wi-Fi aktiven.

Zaključek

Obvladovanje ESP32 pinouta odstrani ugibanja in prepreči številne težave, ki se pojavijo v dejanskih sestavah, od hrupnih ADC odčitkov do neskončnih zagonskih zank. Z razumevanjem varnih pinov, vedenja pritrdilnih vezij, integritete napajanja in globokega spanja lahko oblikujete vezja, ki ostanejo stabilna, predvidljiva in pripravljena na brezžično komunikacijo. Uporabite zgornje mape in smernice kot osnovo za brezskrbne projekte ESP32.

Pogosta vprašanja [FAQ]

Kako konfiguriram PlatformIO za Freenove ESP32-S3 Breakout Board?

Uporabite standardne nastavitve razvojnega modula ESP32-S3. V svoji platformio.ini dodajte:

[env:esp32s3]

platform = espressif32

Board = ESP32-S3-DevKitC-1

Framework = Arduino

Ta se ujema s Freenove pinoutom, kar omogoča običajno prevajanje in nalaganje preko USB-ja.

Koliko perifernih naprav lahko ESP32 poganja hkrati?

Zaradi GPIO matrice lahko ESP32 hkrati poganja več I²C, SPI, UART, PWM in ADC funkcij, dokler se izognete omejenim pinom in ostanete znotraj omejitev CPU in časovne omejitve. Glavna ozka grla so ADC2 med Wi-Fi in kakovostjo napajalnika, ne pa število pinov.

Zakaj se moj ESP32 ponovno zažene, ko povežem senzorje ali module?

Nepričakovani ponovni zagoni običajno nastanejo zaradi padcev napetosti, ki jih povzročijo izpadi Wi-Fi, motorji ali slabo regulirani napajalniki. Z uporabo vira 1 A ali več, 5 V, dodajanje 10–100 μF kondenzatorjev in izolacija hrupnih obremenitev preprečuje izpade elektrike.

13,4 Ali lahko uporabim 3,3 V pin ESP32 za napajanje zunanjih modulov?

Da, vendar le za naprave z nizkim tokom (običajno pod 300–500 mA, odvisno od vgrajenega LDO). Periferne naprave z visoko porabo goriva, kot so motorji, servomotorji in veliki LED trakovi, morajo uporabljati ločen napajalnik, da se izognejo ponovnim zagonom in pregrevanju.

Kako izberem najboljše ESP32 pine, če uporabljam več perifernih naprav?

Dajte prednost ne-trakovnim pinom, izogibajte se GPIO6–11, postavite analogne senzorje na ADC1 in uporabljajte privzete VSPI/I²C/UART pine, kadar je mogoče. To zmanjšuje konflikte in zagotavlja, da lahko vse periferne naprave delujejo skupaj brez težav s preslikavanjem.