Quali pin ESP32 hanno pull up

Quali Pin Esp32 Hanno Pull Up



Se sei un appassionato di elettronica o uno sviluppatore che lavora con ESP32, potresti aver sentito parlare dei resistori pull-up e pull-down. Questi resistori assicurano che un pin di ingresso digitale abbia un livello logico stabile. In questo articolo, discuteremo quali pin su ESP32 hanno resistori di pull-up incorporati e come abilitarli.

Comprensione dei resistori pull-up

Prima di approfondire le specifiche dei pin pull-up ESP32, è importante comprendere il ruolo delle resistenze pull-up in un circuito. Quando un pin di ingresso digitale viene lasciato flottante (non collegato a nessuna sorgente di tensione), può leggere valori casuali, rendendo difficile determinarne il livello logico.

Per evitare questo problema, un resistore di pull-up è collegato tra il pin di ingresso e una sorgente di tensione (tipicamente Vcc) per garantire che l'ingresso legga uno stato alto (1 logico) per impostazione predefinita. Quando l'ingresso è collegato a un segnale basso (0 logico), il resistore abbassa l'ingresso a terra, consentendo all'ingresso di leggere uno stato basso.







Pin pull-up integrati su ESP32

Il microcontrollore ESP32 dispone di 34 pin GPIO (General Purpose Input/Output), che possono essere configurati come pin digitali o analogici. Tra questi 34 pin, alcuni pin hanno resistori di pull-up incorporati che possono essere abilitati dal software.



La tabella seguente mostra i pin su ESP32 con resistori di pull-up incorporati:



Codice PIN Nome pin Resistenza pull-up incorporata
0 GPIO0
2 GPIO2
4 GPIO4
5 GPIO5
12 GPIO12
13 GPIO13
14 GPIO14
quindici GPIO15
25 GPIO25
26 GPIO26
27 GPIO27
32 GPIO32
33 GPIO33
3. 4 GPIO34 NO
35 GPIO35 NO
36 GPIO36 NO
39 GPIO39 NO

Come puoi vedere, la maggior parte dei pin digitali su ESP32 ha resistori di pull-up incorporati. Tuttavia, non tutti i pin hanno questa caratteristica. I pin 34, 35, 36 e 39 non hanno resistori pull-up incorporati.





Nota: In ESP32, i resistori pull-up e pull-down integrati sono disponibili solo nei pin che supportano sia l'ingresso che l'uscita. GPIO 34-39 , che sono limitati al solo ingresso, non hanno questi resistori integrati.



Controlla il completo Riferimento pinout ESP32 .

Abilitazione dei resistori pull-up su ESP32

Per abilitare la resistenza di pull-up su un pin ESP32, puoi usare il gpio_set_pull_mode() funzione fornita dal framework ESP-IDF.

Questa funzione accetta due argomenti:

  • Il numero di pin GPIO
  • La modalità pull-up

La modalità pull-up può essere entrambe GPIO_PULLUP_ENABLE O GPIO_PULLUP_DISABLE . Ecco un codice di esempio che abilita la resistenza di pull-up su GPIO2:

#include 'driver/gpio.h'

vuoto enable_pull_up ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

pinMode ( 5 , INPUT_PULLUP ) ;

È importante notare che l'abilitazione del resistore di pull-up su un pin influirà sul suo comportamento quando il pin viene utilizzato come uscita. In questo caso, il resistore di pull-up fungerà da debole sorgente di corrente e potrebbe influenzare il livello della tensione di uscita.

In alternativa, possiamo anche abilitare i pull-up interni su ESP32 usando il pinMode() Funzione Arduino.

pinMode ( 5 , INPUT_PULLUP ) ;

Il codice sopra abiliterà il resistore di pull-up interno sul pin 5 . Allo stesso modo, è possibile abilitare il resistore pull-down interno specificando la modalità INPUT_PULLDOWN .

Conclusione

I resistori di pull-up sono componenti essenziali nei circuiti digitali e il microcontrollore ESP32 fornisce resistori di pull-up incorporati sulla maggior parte dei suoi pin digitali. L'abilitazione di questi resistori può garantire livelli logici stabili ed evitare problemi di input fluttuanti. Tuttavia, è importante notare che non tutti i pin su ESP32 dispongono di resistori di pull-up incorporati, quindi è importante controllare il Piedinatura ESP32 o scheda tecnica prima di progettare un circuito. Inoltre, l'abilitazione del resistore di pull-up può influenzare il comportamento del pin quando viene utilizzato come uscita.