Welke ESP32-pinnen hebben pull-ups

Welke Esp32 Pinnen Hebben Pull Ups



Als je een elektronicaliefhebber bent of een ontwikkelaar die met ESP32 werkt, heb je misschien wel eens gehoord van de pull-up en pull-down weerstanden. Deze weerstanden zorgen ervoor dat een digitale ingangspin een stabiel logisch niveau heeft. In dit artikel bespreken we welke pinnen op ESP32 ingebouwde pull-up weerstanden hebben en hoe je deze kunt inschakelen.

Pull-up weerstanden begrijpen

Voordat we ingaan op de details van ESP32-pull-up-pinnen, is het belangrijk om de rol van pull-up-weerstanden in een circuit te begrijpen. Wanneer een digitale ingangspin zwevend blijft (niet aangesloten op een spanningsbron), kan deze willekeurige waarden lezen, waardoor het moeilijk wordt om het logische niveau te bepalen.

Om dit probleem te voorkomen, is er een pull-up-weerstand aangesloten tussen de ingangspin en een spanningsbron (meestal Vcc) om ervoor te zorgen dat de ingang standaard een hoge (logische 1) status aangeeft. Wanneer de ingang is verbonden met een laag (logisch 0) signaal, trekt de weerstand de ingang naar de grond, waardoor de ingang een lage status kan lezen.







Ingebouwde optrekpennen op ESP32

De ESP32-microcontroller heeft 34 algemene input/output (GPIO)-pinnen, die kunnen worden geconfigureerd als digitale of analoge pinnen. Van deze 34 pinnen hebben sommige pinnen ingebouwde pull-up-weerstanden die door software kunnen worden ingeschakeld.



De volgende tabel toont de pinnen op ESP32 die ingebouwde pull-up weerstanden hebben:



Pincode Pin-naam Ingebouwde pull-up weerstand
0 GPIO0 Ja
2 GPIO2 Ja
4 GPIO4 Ja
5 GPIO5 Ja
12 GPIO12 Ja
13 GPIO13 Ja
14 GPIO14 Ja
vijftien GPIO15 Ja
25 GPIO25 Ja
26 GPIO26 Ja
27 GPIO27 Ja
32 GPIO32 Ja
33 GPIO33 Ja
3. 4 GPIO34 Nee
35 GPIO35 Nee
36 GPIO36 Nee
39 GPIO39 Nee

Zoals u kunt zien, hebben de meeste digitale pinnen op ESP32 ingebouwde pull-up-weerstanden. Niet alle pinnen hebben deze functie echter. Pinnen 34, 35, 36 en 39 hebben geen ingebouwde pull-up weerstanden.





Opmerking: In ESP32 zijn geïntegreerde pull-up- en pull-down-weerstanden alleen beschikbaar in pinnen die zowel invoer als uitvoer ondersteunen. GPIO's 34-39 , die beperkt zijn tot alleen invoer, hebben deze weerstanden niet ingebouwd.



Controleer de volledige ESP32 Pinout-referentie .

Pull-up weerstanden inschakelen op ESP32

Om de pull-up-weerstand op een ESP32-pin in te schakelen, kunt u de gpio_set_pull_mode() functie geleverd door het ESP-IDF-framework.

Deze functie heeft twee argumenten:

  • De GPIO-pincode
  • De pull-up-modus

De pull-up-modus kan beide zijn GPIO_PULLUP_ENABLE of GPIO_PULLUP_DISABLE . Hier is een voorbeeldcode die de pull-up-weerstand op GPIO2 mogelijk maakt:

#include 'driver/gpio.h'

leegte inschakelen_pull_up ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

pinMode ( 5 , INPUT_PULLUP ) ;

Het is belangrijk op te merken dat het inschakelen van de pull-up-weerstand op een pin zijn gedrag beïnvloedt wanneer de pin als uitvoer wordt gebruikt. In dit geval zal de pull-up-weerstand fungeren als een zwakke stroombron en kan dit het uitgangsspanningsniveau beïnvloeden.

Als alternatief kunnen we ook interne pull-ups op ESP32 inschakelen met behulp van de pinMode() Arduino-functie.

pinMode ( 5 , INPUT_PULLUP ) ;

De bovenstaande code schakelt de interne pull-up-weerstand op pin in 5 . Evenzo kunt u de interne pull-down-weerstand inschakelen door de modus op te geven INPUT_PULLDOWN .

Conclusie

Pull-up-weerstanden zijn essentiële componenten in digitale circuits en de ESP32-microcontroller biedt ingebouwde pull-up-weerstanden op de meeste van zijn digitale pinnen. Het inschakelen van deze weerstanden kan zorgen voor stabiele logische niveaus en zwevende invoerproblemen voorkomen. Het is echter belangrijk op te merken dat niet alle pinnen op ESP32 ingebouwde pull-up weerstanden hebben, dus het is belangrijk om de ESP32 pinout of datasheet voordat u een circuit ontwerpt. Bovendien kan het inschakelen van de pull-up-weerstand het gedrag van de pin beïnvloeden wanneer deze als uitvoer wordt gebruikt.