Które szpilki ESP32 mają podciągnięcia

Ktore Szpilki Esp32 Maja Podciagniecia



Jeśli jesteś entuzjastą elektroniki lub programistą pracującym z ESP32, być może słyszałeś o rezystorach pull-up i pull-down. Rezystory te zapewniają, że pin wejścia cyfrowego ma stabilny poziom logiczny. W tym artykule omówimy, które piny w ESP32 mają wbudowane rezystory podciągające i jak je włączyć.

Zrozumienie rezystorów podciągających

Przed zagłębieniem się w specyfikę pinów podciągających ESP32 ważne jest, aby zrozumieć rolę rezystorów podciągających w obwodzie. Gdy pin wejścia cyfrowego pozostaje swobodny (nie jest podłączony do żadnego źródła napięcia), może odczytywać losowe wartości, co utrudnia określenie jego poziomu logicznego.

Aby uniknąć tego problemu, rezystor podciągający jest podłączony między pinem wejściowym a źródłem napięcia (zwykle Vcc), aby zapewnić, że wejście domyślnie odczytuje stan wysoki (logiczna 1). Gdy wejście jest podłączone do sygnału niskiego (logiczne 0), rezystor ściąga wejście do masy, umożliwiając wejście odczytanie stanu niskiego.







Wbudowane kołki do podciągania w ESP32

Mikrokontroler ESP32 ma 34 piny wejścia/wyjścia ogólnego przeznaczenia (GPIO), które można skonfigurować jako piny cyfrowe lub analogowe. Wśród tych 34 pinów, niektóre piny mają wbudowane rezystory podciągające, które można włączyć za pomocą oprogramowania.



Poniższa tabela przedstawia piny na ESP32, które mają wbudowane rezystory podciągające:



Kod PIN Nazwa pinezki Wbudowany rezystor podciągający
0 GPIO0 Tak
2 GPIO2 Tak
4 GPIO4 Tak
5 GPIO5 Tak
12 GPIO12 Tak
13 GPIO13 Tak
14 GPIO14 Tak
piętnaście GPIO15 Tak
25 GPIO25 Tak
26 GPIO26 Tak
27 GPIO27 Tak
32 GPIO32 Tak
33 GPIO33 Tak
3. 4 GPIO34 NIE
35 GPIO35 NIE
36 GPIO36 NIE
39 GPIO39 NIE

Jak widać, większość pinów cyfrowych w ESP32 ma wbudowane rezystory podciągające. Jednak nie wszystkie piny mają tę funkcję. Piny 34, 35, 36 i 39 nie mają wbudowanych rezystorów podciągających.





Notatka: W ESP32 zintegrowane rezystory podciągające i podciągające są dostępne tylko w pinach obsługujących zarówno wejście, jak i wyjście. GPIO 34-39 , które są ograniczone tylko do wejścia, nie mają wbudowanych tych rezystorów.



Sprawdź całość Odniesienie do pinów ESP32 .

Włączanie rezystorów podciągających w ESP32

Aby włączyć rezystor podciągający na pinie ESP32, możesz użyć gpio_set_pull_mode() funkcja zapewniana przez platformę ESP-IDF.

Ta funkcja przyjmuje dwa argumenty:

  • Numer pinu GPIO
  • Tryb podciągania

Tryb podciągania może być dowolny GPIO_PULLUP_ENABLE Lub GPIO_PULLUP_DISABLE . Oto przykładowy kod, który włącza rezystor podciągający na GPIO2:

#include 'sterownik/gpio.h'

próżnia włącz_pociągnięcie_w górę ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

tryb pin ( 5 , INPUT_PULLUP ) ;

Należy zauważyć, że włączenie rezystora podciągającego na pinie wpłynie na jego zachowanie, gdy pin będzie używany jako wyjście. W takim przypadku rezystor podciągający będzie działał jako słabe źródło prądu i może wpływać na poziom napięcia wyjściowego.

Alternatywnie możemy również włączyć wewnętrzne podciąganie na ESP32 za pomocą tryb pin() Funkcja Arduino.

tryb pin ( 5 , INPUT_PULLUP ) ;

Powyższy kod włączy wewnętrzny rezystor podciągający na pinie 5 . Podobnie możesz włączyć wewnętrzny rezystor obniżający, określając tryb INPUT_PULLDOWN .

Wniosek

Rezystory podciągające są niezbędnymi elementami obwodów cyfrowych, a mikrokontroler ESP32 zapewnia wbudowane rezystory podciągające na większości swoich cyfrowych pinów. Włączenie tych rezystorów może zapewnić stabilne poziomy logiczne i uniknąć problemów z pływającymi wejściami. Należy jednak zauważyć, że nie wszystkie piny w ESP32 mają wbudowane rezystory podciągające, dlatego ważne jest, aby sprawdzić Układ pinów ESP32 lub arkusza danych przed zaprojektowaniem obwodu. Dodatkowo włączenie rezystora podciągającego może wpłynąć na zachowanie styku, gdy jest używany jako wyjście.