Welche ESP32-Pins haben Pull-Ups?

Welche Esp32 Pins Haben Pull Ups



Wenn Sie ein Elektronik-Enthusiast oder ein Entwickler sind, der mit ESP32 arbeitet, haben Sie vielleicht schon von den Pull-up- und Pull-down-Widerständen gehört. Diese Widerstände sorgen dafür, dass ein digitaler Eingangspin einen stabilen Logikpegel hat. In diesem Artikel werden wir diskutieren, welche Pins auf ESP32 eingebaute Pull-up-Widerstände haben und wie man sie aktiviert.

Pull-up-Widerstände verstehen

Bevor Sie sich mit den Besonderheiten der ESP32-Pullup-Pins befassen, ist es wichtig, die Rolle von Pullup-Widerständen in einer Schaltung zu verstehen. Wenn ein digitaler Eingangspin schwebend gelassen wird (nicht an eine Spannungsquelle angeschlossen), kann er zufällige Werte lesen, was es schwierig macht, seinen Logikpegel zu bestimmen.

Um dieses Problem zu vermeiden, wird ein Pull-up-Widerstand zwischen den Eingangsstift und eine Spannungsquelle (normalerweise Vcc) geschaltet, um sicherzustellen, dass der Eingang standardmäßig einen hohen Zustand (logisch 1) anzeigt. Wenn der Eingang mit einem Low-Signal (logisch 0) verbunden ist, zieht der Widerstand den Eingang auf Masse, wodurch der Eingang einen Low-Zustand lesen kann.







Eingebaute Pull-Up-Pins auf ESP32

Der ESP32-Mikrocontroller verfügt über 34 Allzweck-Eingangs-/Ausgangspins (GPIO), die entweder als digitale oder analoge Pins konfiguriert werden können. Unter diesen 34 Pins haben einige Pins eingebaute Pull-up-Widerstände, die per Software aktiviert werden können.



Die folgende Tabelle zeigt die Pins auf ESP32, die eingebaute Pull-up-Widerstände haben:



PIN Nummer Pin-Name Eingebauter Pull-up-Widerstand
0 GPIO0 Ja
2 GPIO2 Ja
4 GPIO4 Ja
5 GPIO5 Ja
12 GPIO12 Ja
13 GPIO13 Ja
14 GPIO14 Ja
fünfzehn GPIO15 Ja
25 GPIO25 Ja
26 GPIO26 Ja
27 GPIO27 Ja
32 GPIO32 Ja
33 GPIO33 Ja
3. 4 GPIO34 NEIN
35 GPIO35 NEIN
36 GPIO36 NEIN
39 GPIO39 NEIN

Wie Sie sehen können, haben die meisten digitalen Pins auf ESP32 eingebaute Pull-up-Widerstände. Allerdings verfügen nicht alle Pins über diese Funktion. Die Pins 34, 35, 36 und 39 haben keine eingebauten Pull-up-Widerstände.





Notiz: In ESP32 sind integrierte Pull-up- und Pull-down-Widerstände nur in Pins verfügbar, die sowohl Eingang als auch Ausgang unterstützen. GPIOs 34-39 , die nur auf Eingaben beschränkt sind, haben diese Widerstände nicht eingebaut.



Vollständig prüfen ESP32-Pinbelegungsreferenz .

Aktivieren von Pull-up-Widerständen auf ESP32

Um den Pullup-Widerstand an einem ESP32-Pin zu aktivieren, können Sie die verwenden gpio_set_pull_mode() Funktion, die vom ESP-IDF-Framework bereitgestellt wird.

Diese Funktion akzeptiert zwei Argumente:

  • Die GPIO-Pin-Nummer
  • Der Pull-up-Modus

Der Pull-up-Modus kann beides sein GPIO_PULLUP_ENABLE oder GPIO_PULLUP_DISABLE . Hier ist ein Beispielcode, der den Pull-up-Widerstand auf GPIO2 aktiviert:

#include 'driver/gpio.h'

Leere enable_pull_up ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

pinMode ( 5 , INPUT_PULLUP ) ;

Es ist wichtig zu beachten, dass die Aktivierung des Pull-up-Widerstands an einem Pin sein Verhalten beeinflusst, wenn der Pin als Ausgang verwendet wird. In diesem Fall fungiert der Pull-up-Widerstand als schwache Stromquelle und kann den Ausgangsspannungspegel beeinflussen.

Alternativ können wir auch interne Pull-ups auf ESP32 aktivieren, indem wir die verwenden pinMode() Arduino-Funktion.

pinMode ( 5 , INPUT_PULLUP ) ;

Der obige Code aktiviert den internen Pull-up-Widerstand am Pin 5 . Ebenso können Sie den internen Pulldown-Widerstand aktivieren, indem Sie den Modus angeben INPUT_PULLDOWN .

Abschluss

Pull-up-Widerstände sind wesentliche Komponenten in digitalen Schaltungen, und der ESP32-Mikrocontroller bietet integrierte Pull-up-Widerstände an den meisten seiner digitalen Pins. Die Aktivierung dieser Widerstände kann stabile Logikpegel sicherstellen und Probleme mit schwebenden Eingängen vermeiden. Es ist jedoch wichtig zu beachten, dass nicht alle Pins auf ESP32 eingebaute Pull-up-Widerstände haben, also ist es wichtig, die zu überprüfen ESP32 Pinbelegung oder Datenblatt, bevor Sie eine Schaltung entwerfen. Darüber hinaus kann die Aktivierung des Pull-up-Widerstands das Verhalten des Pins beeinflussen, wenn er als Ausgang verwendet wird.