Hangi ESP32 Pimlerinde Çekme Vardır

Hangi Esp32 Pimlerinde Cekme Vardir



Bir elektronik meraklısıysanız veya ESP32 ile çalışan bir geliştiriciyseniz, yukarı çekme ve aşağı çekme dirençlerini duymuş olabilirsiniz. Bu dirençler, bir dijital giriş piminin sabit bir mantık seviyesine sahip olmasını sağlar. Bu yazıda, ESP32'deki hangi pinlerin yerleşik pull-up dirençleri olduğunu ve bunların nasıl etkinleştirileceğini tartışacağız.

Çekme Dirençlerini Anlamak

ESP32 pull-up pimlerinin özelliklerine geçmeden önce, pull-up dirençlerinin bir devredeki rolünü anlamak önemlidir. Bir dijital giriş pimi kayan durumda bırakıldığında (herhangi bir voltaj kaynağına bağlı değilken), rastgele değerleri okuyabilir ve bu da mantık seviyesinin belirlenmesini zorlaştırır.

Bu sorunu önlemek için, girişin varsayılan olarak yüksek (mantıksal 1) bir durum okumasını sağlamak için giriş pimi ile bir voltaj kaynağı (tipik olarak Vcc) arasına bir çekme direnci bağlanır. Giriş düşük (mantıksal 0) bir sinyale bağlandığında, direnç girişi yere doğru çekerek girişin düşük durumu okumasını sağlar.







ESP32'de Yerleşik Çekme Pimleri

ESP32 mikrodenetleyici, dijital veya analog pinler olarak yapılandırılabilen 34 genel amaçlı giriş/çıkış (GPIO) pinine sahiptir. Bu 34 pin arasında, bazı pinlerde yazılım tarafından etkinleştirilebilen yerleşik pull-up dirençleri bulunur.



Aşağıdaki tablo, ESP32'deki yerleşik çekme dirençlerine sahip pinleri göstermektedir:



PIN numarası Pim Adı Dahili Çekme Direnci
0 GPIO0 Evet
2 GPIO2 Evet
4 GPIO4 Evet
5 GPIO5 Evet
12 GPIO12 Evet
13 GPIO13 Evet
14 GPIO14 Evet
onbeş GPIO15 Evet
25 GPIO25 Evet
26 GPIO26 Evet
27 GPIO27 Evet
32 GPIO32 Evet
33 GPIO33 Evet
3. 4 GPIO34 HAYIR
35 GPIO35 HAYIR
36 GPIO36 HAYIR
39 GPIO39 HAYIR

Gördüğünüz gibi, ESP32'deki dijital pinlerin çoğu yerleşik çekme dirençlerine sahiptir. Ancak, tüm pinlerde bu özellik yoktur. 34, 35, 36 ve 39 numaralı pimlerde yerleşik çekme direnci yoktur.





Not: ESP32'de Entegre pull-up ve pull-down dirençleri yalnızca hem girişi hem de çıkışı destekleyen pinlerde mevcuttur. GPIO'lar 34-39 yalnızca girişle sınırlı olan bu dirençler yerleşik değildir.



Tamamını kontrol et ESP32 Bağlantı Referansı .

ESP32'de Çekme Dirençlerini Etkinleştirme

Bir ESP32 pininde pull-up direncini etkinleştirmek için, gpio_set_pull_mode() ESP-IDF çerçevesi tarafından sağlanan işlev.

Bu işlev iki argüman alır:

  • GPIO pin numarası
  • çekme modu

Çekme modu şunlardan biri olabilir: GPIO_PULLUP_ENABLE veya GPIO_PULLUP_DISABLE . İşte GPIO2'de çekme direncini etkinleştiren bir örnek kod:

#include 'sürücü/gpio.h'

geçersiz enable_pull_up ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

pinModu ( 5 , INPUT_PULLUP ) ;

Bir pim üzerinde yukarı çekme direncinin etkinleştirilmesinin, pim bir çıkış olarak kullanıldığında davranışını etkileyeceğini unutmamak önemlidir. Bu durumda pull-up direnci zayıf akım kaynağı gibi davranır ve çıkış voltaj seviyesini etkileyebilir.

Alternatif olarak, ESP32'de dahili pull-up'ları da etkinleştirebiliriz. pinMode() Arduino işlevi.

pinModu ( 5 , INPUT_PULLUP ) ;

Yukarıdaki kod, pin üzerindeki dahili pull-up direncini etkinleştirecektir. 5 . Benzer şekilde, modu belirterek dahili aşağı çekme direncini etkinleştirebilirsiniz. INPUT_PULLDOWN .

Çözüm

Çekme dirençleri, dijital devrelerdeki temel bileşenlerdir ve ESP32 mikrodenetleyici, dijital pimlerinin çoğunda yerleşik çekme dirençleri sağlar. Bu dirençlerin etkinleştirilmesi, kararlı mantık seviyeleri sağlayabilir ve değişken giriş sorunlarını önleyebilir. Bununla birlikte, ESP32'deki tüm pinlerin yerleşik çekme dirençlerine sahip olmadığına dikkat etmek önemlidir, bu nedenle kontrol etmek önemlidir. ESP32 pin çıkışı veya bir devre tasarlamadan önce veri sayfası. Ek olarak, çekme direncinin etkinleştirilmesi, çıkış olarak kullanıldığında pimin davranışını etkileyebilir.