Které kolíky ESP32 mají tahy

Ktere Koliky Esp32 Maji Tahy



Pokud jste nadšenci do elektroniky nebo vývojáři pracující s ESP32, možná jste slyšeli o pull-up a pull-down rezistorech. Tyto odpory zajišťují, že digitální vstupní pin má stabilní logickou úroveň. V tomto článku probereme, které piny na ESP32 mají vestavěné pull-up rezistory a jak je povolit.

Pochopení Pull-Up rezistorů

Než se ponoříme do specifik vytahovacích kolíků ESP32, je důležité porozumět roli vytahovacích odporů v obvodu. Když je digitální vstupní pin ponechán plovoucí (nepřipojený k žádnému zdroji napětí), může číst náhodné hodnoty, což ztěžuje určení jeho logické úrovně.

Aby se tomuto problému předešlo, je mezi vstupní kolík a zdroj napětí (typicky Vcc) zapojen pull-up rezistor, aby bylo zajištěno, že vstup standardně čte stav vysoké (logická 1). Když je vstup připojen k nízkému signálu (logická 0), rezistor stáhne vstup dolů k zemi, což umožňuje vstupu přečíst nízký stav.







Vestavěné vytahovací kolíky na ESP32

Mikrokontrolér ESP32 má 34 univerzálních vstupně/výstupních (GPIO) pinů, které lze nakonfigurovat jako digitální nebo analogové. Mezi těmito 34 piny mají některé piny vestavěné pull-up rezistory, které lze aktivovat softwarem.



Následující tabulka ukazuje piny na ESP32, které mají vestavěné pull-up odpory:



Číslo PIN Název PIN Vestavěný Pull-Up Rezistor
0 GPIO0 Ano
2 GPIO2 Ano
4 GPIO4 Ano
5 GPIO5 Ano
12 GPIO12 Ano
13 GPIO13 Ano
14 GPIO14 Ano
patnáct GPIO15 Ano
25 GPIO25 Ano
26 GPIO26 Ano
27 GPIO27 Ano
32 GPIO32 Ano
33 GPIO33 Ano
3. 4 GPIO34 Ne
35 GPIO35 Ne
36 GPIO36 Ne
39 GPIO39 Ne

Jak můžete vidět, většina digitálních pinů na ESP32 má vestavěné pull-up odpory. Tuto funkci však nemají všechny piny. Piny 34, 35, 36 a 39 nemají vestavěné pull-up odpory.





Poznámka: V ESP32 jsou integrované pull-up a pull-down rezistory k dispozici pouze v pinech, které podporují vstup i výstup. GPIO 34-39 , které jsou omezeny pouze na vstup, nemají tyto odpory zabudované.



Zkontrolujte kompletní ESP32 Pinout Reference .

Povolení Pull-Up Resistors na ESP32

Chcete-li aktivovat pull-up rezistor na pinu ESP32, můžete použít gpio_set_pull_mode() funkce poskytované rámcem ESP-IDF.

Tato funkce má dva argumenty:

  • Číslo PIN GPIO
  • Vytahovací režim

Vytahovací režim může být buď GPIO_PULLUP_ENABLE nebo GPIO_PULLUP_DISABLE . Zde je příklad kódu, který aktivuje pull-up rezistor na GPIO2:

#include 'driver/gpio.h'

prázdnota enable_pull_up ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

pinMode ( 5 , INPUT_PULLUP ) ;

Je důležité si uvědomit, že povolení pull-up rezistoru na kolíku ovlivní jeho chování, když je kolík použit jako výstup. V tomto případě bude pull-up rezistor fungovat jako zdroj slabého proudu a může ovlivnit úroveň výstupního napětí.

Alternativně můžeme také povolit interní pull-up na ESP32 pomocí pinMode() Funkce Arduino.

pinMode ( 5 , INPUT_PULLUP ) ;

Výše uvedený kód povolí interní pull-up rezistor na kolíku 5 . Podobně můžete povolit interní pull-down rezistor zadáním režimu INPUT_PULDOWN .

Závěr

Pull-up rezistory jsou základní komponenty v digitálních obvodech a mikrokontrolér ESP32 poskytuje vestavěné pull-up rezistory na většině svých digitálních pinů. Povolení těchto rezistorů může zajistit stabilní logické úrovně a vyhnout se problémům s plovoucím vstupem. Je však důležité si uvědomit, že ne všechny piny na ESP32 mají vestavěné pull-up odpory, takže je důležité zkontrolovat Pinout ESP32 nebo datasheet před návrhem obvodu. Navíc povolení pull-up rezistoru může ovlivnit chování kolíku, když je použit jako výstup.