Aling mga ESP32 Pin ang May Pull Up

Aling Mga Esp32 Pin Ang May Pull Up



Kung ikaw ay isang mahilig sa electronics o isang developer na nagtatrabaho sa ESP32, maaaring narinig mo na ang tungkol sa pull-up at pull-down resistors. Tinitiyak ng mga resistor na ito na ang isang digital input pin ay may matatag na antas ng lohika. Sa artikulong ito, tatalakayin natin kung aling mga pin sa ESP32 ang may built-in na pull-up resistors at kung paano paganahin ang mga ito.

Pag-unawa sa Pull-Up Resistors

Bago sumisid sa mga detalye ng ESP32 pull-up pin, mahalagang maunawaan ang papel ng mga pull-up resistors sa isang circuit. Kapag ang isang digital input pin ay naiwang lumulutang (hindi nakakonekta sa anumang pinagmumulan ng boltahe), maaari itong magbasa ng mga random na halaga, na nagpapahirap sa pagtukoy sa antas ng lohika nito.

Upang maiwasan ang isyung ito, ang isang pull-up na resistor ay konektado sa pagitan ng input pin at isang boltahe na pinagmulan (karaniwang Vcc) upang matiyak na ang input ay nagbabasa ng mataas (lohikal na 1) na estado bilang default. Kapag ang input ay konektado sa isang mababang (lohikal na 0) na signal, hinihila ng risistor ang input pababa sa lupa, na nagpapahintulot sa input na basahin ang isang mababang estado.







Mga Built-in na Pull-Up Pin sa ESP32

Ang ESP32 microcontroller ay may 34 general-purpose input/output (GPIO) pin, na maaaring i-configure bilang digital o analog na mga pin. Kabilang sa 34 na mga pin na ito, ang ilang mga pin ay may built-in na pull-up resistors na maaaring paganahin ng software.



Ang sumusunod na talahanayan ay nagpapakita ng mga pin sa ESP32 na may built-in na pull-up resistors:



Numero ng Pin Pangalan ng Pin Built-in na Pull-Up Resistor
0 GPIO0 Oo
2 GPIO2 Oo
4 GPIO4 Oo
5 GPIO5 Oo
12 GPIO12 Oo
13 GPIO13 Oo
14 GPIO14 Oo
labinlima GPIO15 Oo
25 GPIO25 Oo
26 GPIO26 Oo
27 GPIO27 Oo
32 GPIO32 Oo
33 GPIO33 Oo
3. 4 GPIO34 Hindi
35 GPIO35 Hindi
36 GPIO36 Hindi
39 GPIO39 Hindi

Tulad ng nakikita mo, karamihan sa mga digital na pin sa ESP32 ay may mga built-in na pull-up resistors. Gayunpaman, hindi lahat ng mga pin ay mayroong tampok na ito. Ang mga pin 34, 35, 36, at 39 ay walang mga built-in na pull-up resistors.





Tandaan: Sa ESP32, ang Integrated pull-up, at pull-down resistors ay magagamit lamang sa mga pin na sumusuporta sa parehong input at output. Mga GPIO 34-39 , na limitado sa input-only, walang built-in na resistors na ito.



Suriin ang kumpleto ESP32 Pinout Reference .

Paganahin ang Pull-Up Resistors sa ESP32

Upang paganahin ang pull-up na risistor sa isang ESP32 pin, maaari mong gamitin ang gpio_set_pull_mode() function na ibinigay ng ESP-IDF framework.

Ang function na ito ay tumatagal ng dalawang argumento:

  • Ang numero ng pin ng GPIO
  • Ang pull-up mode

Ang pull-up mode ay maaaring alinman GPIO_PULLUP_ENABLE o GPIO_PULLUP_DISABLE . Narito ang isang halimbawang code na nagbibigay-daan sa pull-up na risistor sa GPIO2:

#include 'driver/gpio.h'

walang bisa enable_pull_up ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

pinMode ( 5 , INPUT_PULLUP ) ;

Mahalagang tandaan na ang pagpapagana ng pull-up resistor sa isang pin ay makakaapekto sa gawi nito kapag ginamit ang pin bilang isang output. Sa kasong ito, ang pull-up na risistor ay magsisilbing mahinang kasalukuyang pinagmumulan at maaaring makaapekto sa antas ng boltahe ng output.

Bilang kahalili, maaari rin nating paganahin ang mga panloob na pull-up sa ESP32 gamit ang pinMode() Pag-andar ng Arduino.

pinMode ( 5 , INPUT_PULLUP ) ;

Ang code sa itaas ay magbibigay-daan sa panloob na pull-up na risistor sa pin 5 . Katulad nito, maaari mong paganahin ang panloob na pull-down na risistor sa pamamagitan ng pagtukoy sa mode INPUT_PULLDOWN .

Konklusyon

Ang mga pull-up resistors ay mahahalagang bahagi sa mga digital circuit, at ang ESP32 microcontroller ay nagbibigay ng mga built-in na pull-up resistors sa karamihan ng mga digital pin nito. Ang pagpapagana sa mga resistor na ito ay maaaring matiyak ang matatag na antas ng lohika at maiwasan ang mga lumulutang na isyu sa input. Gayunpaman, mahalagang tandaan na hindi lahat ng mga pin sa ESP32 ay may built-in na pull-up resistors, kaya mahalagang suriin ang ESP32 pinout o datasheet bago magdisenyo ng circuit. Bukod pa rito, ang pagpapagana sa pull-up na risistor ay maaaring makaapekto sa pag-uugali ng pin kapag ginamit bilang isang output.