Quins pins ESP32 tenen pull-ups

Quins Pins Esp32 Tenen Pull Ups



Si sou un entusiasta de l'electrònica o un desenvolupador que treballa amb ESP32, és possible que hàgiu sentit a parlar de les resistències pull-up i pull-down. Aquestes resistències asseguren que un pin d'entrada digital tingui un nivell lògic estable. En aquest article, parlarem de quins pins de l'ESP32 tenen resistències d'extracció incorporades i com habilitar-les.

Comprensió de les resistències pull-up

Abans d'aprofundir en els detalls dels pins d'extracció ESP32, és important entendre el paper de les resistències d'extracció en un circuit. Quan un pin d'entrada digital es deixa flotant (no connectat a cap font de tensió), pot llegir valors aleatoris, cosa que dificulta la determinació del seu nivell lògic.

Per evitar aquest problema, es connecta una resistència pull-up entre el pin d'entrada i una font de tensió (normalment Vcc) per assegurar-se que l'entrada llegeix un estat alt (lògic 1) per defecte. Quan l'entrada està connectada a un senyal baix (0 lògic), la resistència tira l'entrada cap a terra, permetent que l'entrada llegeixi un estat baix.







Pins pull-up integrats a ESP32

El microcontrolador ESP32 té 34 pins d'entrada/sortida de propòsit general (GPIO), que es poden configurar com a pins digitals o analògics. Entre aquests 34 pins, alguns pins tenen resistències pull-up incorporades que es poden activar mitjançant programari.



La taula següent mostra els pins de l'ESP32 que tenen resistències d'extracció incorporades:



Número de pin Nom del pin Resistència Pull-Up incorporada
0 GPIO0
2 GPIO2
4 GPIO4
5 GPIO5
12 GPIO12
13 GPIO13
14 GPIO14
15 GPIO15
25 GPIO25
26 GPIO26
27 GPIO27
32 GPIO32
33 GPIO33
34 GPIO34 No
35 GPIO35 No
36 GPIO36 No
39 GPIO39 No

Com podeu veure, la majoria dels pins digitals de l'ESP32 tenen resistències d'extracció incorporades. Tanmateix, no tots els pins tenen aquesta característica. Els pins 34, 35, 36 i 39 no tenen resistències d'extracció incorporades.





Nota: A l'ESP32, les resistències de pull-up i pull-down integrades només estan disponibles en pins que admeten tant l'entrada com la sortida. GPIOs 34-39 , que es limiten només a l'entrada, no tenen aquestes resistències incorporades.



Comproveu el complet Referència de pinout de l'ESP32 .

Habilitació de resistències pull-up a ESP32

Per habilitar la resistència pull-up en un pin ESP32, podeu utilitzar el gpio_set_pull_mode() funció proporcionada pel marc ESP-IDF.

Aquesta funció pren dos arguments:

  • El número de pin GPIO
  • El mode pull-up

El mode pull-up pot ser qualsevol GPIO_PULLUP_ENABLE o GPIO_PULLUP_DISABLE . Aquí hi ha un exemple de codi que activa la resistència pull-up a GPIO2:

#inclou 'driver/gpio.h'

buit enable_pull_up ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

pinMode ( 5 , INPUT_PULLUP ) ;

És important tenir en compte que habilitar la resistència d'extracció d'un pin afectarà el seu comportament quan el pin s'utilitza com a sortida. En aquest cas, la resistència pull-up actuarà com una font de corrent feble i pot afectar el nivell de tensió de sortida.

Alternativament, també podem habilitar pull-ups interns a ESP32 mitjançant el pinMode() Funció Arduino.

pinMode ( 5 , INPUT_PULLUP ) ;

El codi anterior habilitarà la resistència d'extracció interna al pin 5 . De la mateixa manera, podeu habilitar la resistència desplegable interna especificant el mode INPUT_PULLDOWN .

Conclusió

Les resistències pull-up són components essencials en els circuits digitals, i el microcontrolador ESP32 proporciona resistències pull-up integrades a la majoria dels seus pins digitals. Habilitar aquestes resistències pot garantir nivells lògics estables i evitar problemes d'entrada flotant. Tanmateix, és important tenir en compte que no tots els pins de l'ESP32 tenen resistències d'extracció incorporades, per la qual cosa és important comprovar el Pinout de l'ESP32 o full de dades abans de dissenyar un circuit. A més, l'habilitació de la resistència pull-up pot afectar el comportament del pin quan s'utilitza com a sortida.