Ce pini ESP32 au trageri

Ce Pini Esp32 Au Trageri



Dacă sunteți un pasionat de electronică sau un dezvoltator care lucrează cu ESP32, este posibil să fi auzit despre rezistențele de tragere și tragere în jos. Aceste rezistențe asigură că un pin de intrare digitală are un nivel logic stabil. În acest articol, vom discuta ce pini de pe ESP32 au rezistențe de pull-up încorporate și cum să le activăm.

Înțelegerea rezistențelor de tragere

Înainte de a vă scufunda în specificul pinilor de tragere ESP32, este important să înțelegeți rolul rezistențelor de tragere într-un circuit. Când un pin de intrare digitală este lăsat plutitor (nu este conectat la nicio sursă de tensiune), acesta poate citi valori aleatorii, ceea ce face dificilă determinarea nivelului său logic.

Pentru a evita această problemă, un rezistor de tragere este conectat între pinul de intrare și o sursă de tensiune (de obicei Vcc) pentru a se asigura că intrarea citește o stare înaltă (logică 1) în mod implicit. Când intrarea este conectată la un semnal scăzut (0 logic), rezistorul trage intrarea în jos la pământ, permițând intrării să citească o stare scăzută.







Pinuri de tragere încorporate pe ESP32

Microcontrolerul ESP32 are 34 de pini de intrare/ieșire de uz general (GPIO), care pot fi configurați fie ca pini digitali sau analogici. Printre acești 34 de pini, unii pini au rezistențe de pull-up încorporate care pot fi activate de software.



Următorul tabel arată pinii ESP32 care au rezistențe de tragere încorporate:



Numarul pin Nume PIN Rezistor de tragere încorporat
0 GPIO0 da
2 GPIO2 da
4 GPIO4 da
5 GPIO5 da
12 GPIO12 da
13 GPIO13 da
14 GPIO14 da
cincisprezece GPIO15 da
25 GPIO25 da
26 GPIO26 da
27 GPIO27 da
32 GPIO32 da
33 GPIO33 da
3. 4 GPIO34 Nu
35 GPIO35 Nu
36 GPIO36 Nu
39 GPIO39 Nu

După cum puteți vedea, majoritatea pinilor digitali de pe ESP32 au rezistențe de pull-up încorporate. Cu toate acestea, nu toți pinii au această caracteristică. Pinii 34, 35, 36 și 39 nu au rezistențe de tragere încorporate.





Notă: În ESP32, rezistențele integrate pull-up și pull-down sunt disponibile numai în pini care acceptă atât intrarea, cât și ieșirea. GPIO-urile 34-39 , care sunt limitate doar la intrare, nu au aceste rezistențe încorporate.



Verificați complet Referință pentru pinout ESP32 .

Activarea rezistențelor de tragere pe ESP32

Pentru a activa rezistența de tragere pe un pin ESP32, puteți utiliza gpio_set_pull_mode() funcția oferită de cadrul ESP-IDF.

Această funcție are două argumente:

  • Numărul PIN GPIO
  • Modul pull-up

Modul pull-up poate fi oricare GPIO_PULLUP_ENABLE sau GPIO_PULLUP_DISABLE . Iată un exemplu de cod care activează rezistența de tragere pe GPIO2:

#include „driver/gpio.h”

gol enable_pull_up ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

pinMode ( 5 , INPUT_PULLUP ) ;

Este important de reținut că activarea rezistenței de tragere pe un pin va afecta comportamentul acestuia atunci când pinul este utilizat ca ieșire. În acest caz, rezistența de tragere va acționa ca o sursă de curent slabă și poate afecta nivelul tensiunii de ieșire.

Alternativ, putem activa și tragerile interne pe ESP32 folosind pinMode() Funcția Arduino.

pinMode ( 5 , INPUT_PULLUP ) ;

Codul de mai sus va activa rezistența internă de tragere pe pin 5 . În mod similar, puteți activa rezistorul intern de tragere în jos specificând modul INPUT_PULLDOWN .

Concluzie

Rezistoarele pull-up sunt componente esențiale în circuitele digitale, iar microcontrolerul ESP32 oferă rezistențe de pull-up încorporate pe majoritatea pinilor săi digitali. Activarea acestor rezistențe poate asigura niveluri logice stabile și poate evita problemele de intrare plutitoare. Cu toate acestea, este important de reținut că nu toți pinii de pe ESP32 au rezistențe de tragere încorporate, deci este important să verificați Pinout ESP32 sau fișa de date înainte de a proiecta un circuit. În plus, activarea rezistenței de tragere poate afecta comportamentul pinului atunci când este utilizat ca ieșire.