- ESP32 vyniká svojou multiplexnou schopnosťou, ktorá umožňuje priradiť väčšinu jeho GPIO funkcií rôznym pinom v závislosti od potrieb projektu.
- Existujú kritické obmedzenia týkajúce sa upevňovacích kolíkov a vstupných kolíkov, ktoré môžu ovplyvniť spustenie alebo funkčnosť systému.
- Zariadenie integruje pokročilé periférie, ako sú prevodníky ADC a DAC, komunikačné rozhrania UART, SPI a I2C a kapacitné dotykové senzory.
Ak sa púšťate do sveta mikrokontrolérov, prvá vec, ktorú musíte urobiť, je pochopiť, ako funguje hardvér, ktorý používate. ESP32 nie je len tak hocijaký starý prístroj; je podstatne výkonnejší ako klasické Arduino alebo ESP8266 a ponúka množstvo GPIO a funkcií, ktoré zahanbujú jeho predchodcov. Všetok tento výkon však znamená, že je o niečo zložitejší, najmä kvôli obrovskému počtu možností konfigurácie, ktoré ponúka.
Aby ste sa nestratili v zapojení, je pochopenie rozloženia pinov nevyhnutné, najmä ak používate oficiálnu dosku Espressif DevKitC. Majte však na pamäti, že nie všetky dosky sú rovnaké a rozloženie pinov sa môže líšiť v závislosti od výrobcu alebo používaného systému na čipe (SoM), takže kontrola technickej dokumentácie k vášmu konkrétnemu zariadeniu je vždy najrozumnejším krokom.
Umenie multiplexovania a PSTN
Jedným z klenotov ESP32 je multiplexovanie. V podstate to znamená, že väčšinu funkcií môžete priradiť takmer ľubovoľnému pinu bez toho, aby ste ohrozili výkon. Predvolené hodnoty sú len návrh; funkcie môžete podľa potreby preskupiť, aby ste lepšie usporiadali svoj obvod.
Na druhej strane máme RTC (hodiny reálneho času), čo je mozog, ktorý riadi, kedy čip prechádza do režimov nízkej spotreby energie. Tento systém obsahuje ovládač, rýchlu pamäť SRAM (8 kB), ktorá sa počas hlbokého spánku nevymaže , a pomalú pamäť pre koprocesor ULP (ultra nízka spotreba energie), ktorý je ideálny na prebudenie mikrokontroléra, keď nastane určitá udalosť.
Rozdelenie digitálnych pinov (GPIO)

ESP32 môže mať až 34 konfigurovateľných GPIO pinov. Prevažná väčšina umožňuje aktivovať interné pull-up alebo pull-down rezistory , čím sa ušetrí pridávanie ďalších komponentov na dosku. Pri určitých skupinách pinov si však treba dávať pozor.
Konfiguračné kolíky alebo pásky
Čip pri spustení zisťuje, do ktorého režimu sa má zaviesť systém, päť pinov nazývaných „strapping“, ktoré zisťuje. Sú to piny GPIO 0, 2, 4, 5, 12 a 15. Ak k týmto pinom pripojíte čokoľvek, čo vynúti iný elektrický stav, ako je požadovaný, ESP32 sa nemusí spustiť alebo sa nemusí dostať do programovacieho režimu. Najlepšie je vyhnúť sa ich používaniu vo vašom projekte , aby ste predišli nepríjemným prekvapeniam.
Piny, ktoré umožňujú iba vstup
Nie všetky GPIO piny sú rovnaké. GPIO piny 34, 35, 36 a 39 sú čisto vstupy. Zabudnite na ich použitie ako digitálnych výstupov, pretože to jednoducho nie je možné. Navyše, na rozdiel od ostatných, tieto piny nemajú vnútorné rezistory , takže ich budete musieť v prípade potreby pridať externe.
Prerušenia a GPIO RTC
Skvelou správou je, že všetky GPIO je možné konfigurovať ako prerušenia , čo poskytuje neuveriteľnú flexibilitu pri čítaní tlačidiel alebo senzorov. Okrem toho sú niektoré špecifické piny prepojené so subsystémom RTC (ako napríklad GPIO 36, 39, 34, 35, 25, 26, 33, 32, 4, 0, 2, 15, 13, 12, 14 a 27), čo umožňuje koprocesoru ULP prebudiť systém z hlbokého spánku.
Kapacitné dotykové senzory
ESP32 sa štandardne dodáva s 10 pinmi, ktoré fungujú ako dotykové senzory. Dokážu detekovať kapacitu ľudského prsta, čo vám umožňuje nahradiť mechanické tlačidlá dotykovými povrchmi. Priradené piny sú GPIO 4, 0, 2, 15, 13, 12, 14, 27, 33 a 32.
Spracovanie analógových signálov a PWM
Pokiaľ ide o analógové signály, ESP32 je hotová beštia. Má dva ADC prevodníky, ktoré spracovávajú až 18 kanálov. Tieto ADC prevodníky sú 12-bitové, čo nám poskytuje 4096 úrovní presnosti (približne 0.8 mV). Je tu však dôležitý detail: ADC2 sa nedá použiť, ak je aktívne Wi-Fi alebo Bluetooth , takže ADC1 je bezpečnejšou možnosťou.
Pre digitálno-analógový prevod máme dva 8-bitové DAC (GPIO 25 a 26) schopné dodávať napätie medzi 0 a 3.3 V. Pokiaľ ide o PWM, ESP32 je mimoriadne všestranný, pretože dokáže generovať PWM signály takmer na všetkých svojich výstupoch , okrem vstupných pinov (34 až 39).
Komunikačné protokoly

ESP32 ponúka niekoľko spôsobov komunikácie s inými zariadeniami. Pokiaľ ide o UART, má tri rozhrania. UART0 sa používa na programovanie a ladenie a UART1 je zvyčajne vyhradené pre flash pamäť, vďaka čomu je UART2 najspoľahlivejšou možnosťou na pripojenie externých modulov.
Pre zbernicu I2C, hoci môžete softvérovo definovať ľubovoľný pin, predvolené hodnoty sú GPIO 21 (SDA) a GPIO 22 (SCL) . Pokiaľ ide o SPI, existujú tri rozhrania, ale používateľ môže použiť iba VSPI a HSPI. Piny SPI Flash (GPIO 6 až 11) sú zakázané ; ich dotyk s najväčšou pravdepodobnosťou spôsobí zlyhanie systému, pretože sú prepojené s internou pamäťou.
Ovládanie a resetovanie napájania
Pin POVOLENIE (EN) ovláda 3.3V regulátor. Má pull-up rezistor, ktorý ho udržiava aktívny, ale jeho uzemnenie preruší napájanie čipu. Toto je mimoriadne užitočné pre manuálne resetovanie systému jednoduchým stlačením tlačidla.
Pochopenie rozloženia pinov ESP32 vám umožňuje plne využiť jeho dvojjadrový procesor a bezdrôtové pripojenie bez rizika poškodenia komponentov alebo spomalenia spúšťania systému. Od správy ADC a DAC až po strategické používanie malých pinov a multiplexovanie je zvládnutie jeho hardvéru kľúčom k vytvoreniu robustných a efektívnych zariadení IoT, ktoré nespôsobia problémy pri konečnom nasadení.