ESP32 Pin Referansı Giriş ve Çıkış Pinleri

ESP32 pin referansı sayesinde, hangi pinin ne için kullanacağını, giriş ve çıkış pinlerini, pwm gibi pinleri kolaylıkla ayırt edebilirsiniz. ESP32 entegresi, çoklu işlevlere sahip 48 pin ile birlikte gelir. Tüm pinler tüm ESP32 geliştirme kartlarında gösterilmez ve bazı pinler kullanılamaz.

ESP32 Pin Referansı Giriş ve Çıkış Pinleri esp32 pin referansı,esp32 giriş ve çıkış pinleri,esp32 pinleri,esp32 pinout,esp32 kullanıımı
ESP32 Geliştirme Kartları

Kullanabilceğiniz birden fazla ESP32 geliştirme kartı mevcuttur, en yaygın kullanılan ESP32 geliştirme kartlarını bu yazımızda derledik ve kıyaslamalarını yaptık.

Eğer daha önce hiç ESP32 kullanmadıysanız, bu yazımıza bakmanızı öneriyoruz.

ESP32 GPIO’ların nasıl kullanılacağına dair birçok soru alıyoruz. Projemde hangi pinleri kullanmaktan kaçınmalıyım? Bu gönderi, ESP32 GPIO’lar için basit ve takip etmesi kolay bir referans kılavuzu olmayı amaçlamaktadır.

Aşağıdaki şekil ESP-WROOM-32 pin çıkışını göstermektedir. Özel bir kart oluşturmak için bir ESP32 sade bir çip şeklinde kullanıyorsanız bunu referans olarak kullanabilirsiniz:

ESP32 Pin Referansı Giriş ve Çıkış Pinleri esp32 pin referansı,esp32 giriş ve çıkış pinleri,esp32 pinleri,esp32 pinout,esp32 kullanıımı

ESP32 Çevre Birimleri

  • 18 Analogdan Dijitale Dönüştürücü (ADC)
  • 3 SPI arayüzü
  • 3 UART arayüzü
  • 2 I2C arayüzü
  • 16 PWM çıkış kanalı
  • 2 Dijital-Analog Dönüştürücü (DAC)
  • 2 I2S arayüzü
  • 10 Kapasitif algılama GPIO’su

ADC (analogdan dijitale dönüştürücü) ve DAC (dijitalden analoga dönüştürücü) özellikleri belirli statik pinlere atanır. Bununla birlikte, hangi pinlerin UART, I2C, SPI, PWM, vb olduğuna karar verebilirsiniz bunları kodda atamanız yeterlidir. Bu, ESP32 çipinin çoğullama(multiplexing) özelliği sayesinde mümkündür.

Yazılım üzerinde pin özelliklerini tanımlayabilmenize rağmen, aşağıdaki şekilde gösterildiği gibi varsayılan olarak atanmış pinler vardır (bu, 36 pinli ESP32 DEVKIT V1 DOIT kartı için bir örnektir, pin konumu üreticiye bağlı olarak değişebilir).

ESP32 Pin Referansı Giriş ve Çıkış Pinleri esp32 pin referansı,esp32 giriş ve çıkış pinleri,esp32 pinleri,esp32 pinout,esp32 kullanıımı

Ek olarak, belirli bir proje için uygun veya uygun olmamalarını sağlayan belirli özelliklere sahip pinler vardır. Aşağıdaki tablo, hangi pinlerin giriş, çıkış olarak kullanılmasının en iyi olduğunu ve hangilerine dikkat etmeniz gerektiğini gösterir.

Yeşil ile vurgulanan pinlerin kullanımı uygundur. Sarı ile vurgulananların kullanımı uygundur, ancak özellikle açılışta beklenmedik bir davranış sergileyebileceklerinden dikkat etmeniz gerekir. Kırmızı ile vurgulanan pinlerin giriş veya çıkış olarak kullanılması önerilmez.

GPIO PinleriInput/GirişOutput/ÇıkışAçıklama
0pull-upUygunÖnyüklemede PWM sinyali verir
1TX piniUygunÖnyüklemede hata ayıklama çıktısı
2UygunUygunYerleşik LED’e bağlı
3UygunRX piniÖnyüklemede YÜKSEK
4UygunUygun
5UygunUygunÖnyüklemede PWM sinyali verir
6XXentegre SPI flashına bağlı
7XXentegre SPI flashına bağlı
8XXentegre SPI flashına bağlı
9XXentegre SPI flashına bağlı
10XXentegre SPI flashına bağlı
11XXentegre SPI flashına bağlı
12UygunUygunYükseğe çekilirse önyükleme başarısız olur
13UygunUygun
14UygunUygunÖnyüklemede PWM sinyali verir
15UygunUygunÖnyüklemede PWM sinyali verir
16UygunUygun
17UygunUygun
18UygunUygun
19UygunUygun
21UygunUygun
22UygunUygun
23UygunUygun
25UygunUygun
26UygunUygun
27UygunUygun
32UygunUygun
33UygunUygun
34UygunXSadece giriş olarak çalışır
35UygunXSadece giriş olarak çalışır
36UygunXSadece giriş olarak çalışır
39UygunXSadece giriş olarak çalışır

ESP32 GPIO’ların ve işlevlerinin daha ayrıntılı ve derinlemesine analizi için okumaya devam edin.

Sadece Giriş Olarak Çalışan Pinler

34 ila 39 arasındaki GPIO’lar – yalnızca giriş pinleridir. Bu pinlerin dahili pull-up veya pull-down dirençleri yoktur. Çıkış olarak kullanılamazlar, bu nedenle bu pinleri yalnızca giriş olarak kullanın:

  • GPIO 34
  • GPIO 35
  • GPIO 36
  • GPIO 39

Entegre SPI Flashına Bağlı Pinler

GPIO 6 ila GPIO 11, bazı ESP32 geliştirme kartlarında kullanıma sunulur. Ancak bu pinler, ESP-WROOM-32 kitinde, entegre SPI flaşına bağlıdır ve diğer kullanımlar için önerilmez. Bu nedenle, projelerinizde bu pinleri kullanmayın:

  • GPIO 6 (SCK/CLK)
  • GPIO 7 (SDO/SD0)
  • GPIO 8 (SDI/SD1)
  • GPIO 9 (SHD/SD2)
  • GPIO 10 (SWP/SD3)
  • GPIO 11 (CSC/CMD)

Kapasitif Dokunmatik GPIO’lar

ESP32, 10 adet dahili kapasitif dokunmatik sensöre sahiptir. Bunlar, insan derisi gibi elektrik yükü taşıyan herhangi bir şeydeki değişiklikleri algılayabilir. Böylece GPIO’lara parmakla dokunulduğunda ortaya çıkan varyasyonları tespit edebilirler. Bu pinler, kapasitif pedlere kolayca entegre edilebilir ve mekanik düğmelerin yerini alabilir. Kapasitif dokunmatik pinler, ESP32’yi derin uykudan uyandırmak için de kullanılabilir.

Bu dahili dokunmatik sensörler şu GPIO’lara bağlıdır:

  • T0 (GPIO 4)
  • T1 (GPIO 0)
  • T2 (GPIO 2)
  • T3 (GPIO 15)
  • T4 (GPIO 13)
  • T5 (GPIO 12)
  • T6 (GPIO 14)
  • T7 (GPIO 27)
  • T8 (GPIO 33)
  • T9 (GPIO 32)

ESP32 dokunmatik pinlerin nasıl kullanılacağını bu yazımızdan daha detaylı bir şekilde öğrenebilirsiniz.

Analogdan Dijitale Dönüştürücü (ADC) Pinler

ESP32’de 18 x 12 bit ADC giriş kanalları bulunur (ESP8266’da yalnızca 1x 10 bit ADC bulunur). ADC ve ilgili kanallar olarak kullanılabilen GPIO’lar şunlardır:

  • ADC1_CH0 (GPIO 36)
  • ADC1_CH1 (GPIO 37)
  • ADC1_CH2 (GPIO 38)
  • ADC1_CH3 (GPIO 39)
  • ADC1_CH4 (GPIO 32)
  • ADC1_CH5 (GPIO 33)
  • ADC1_CH6 (GPIO 34)
  • ADC1_CH7 (GPIO 35)
  • ADC2_CH0 (GPIO 4)
  • ADC2_CH1 (GPIO 0)
  • ADC2_CH2 (GPIO 2)
  • ADC2_CH3 (GPIO 15)
  • ADC2_CH4 (GPIO 13)
  • ADC2_CH5 (GPIO 12)
  • ADC2_CH6 (GPIO 14)
  • ADC2_CH7 (GPIO 27)
  • ADC2_CH8 (GPIO 25)
  • ADC2_CH9 (GPIO 26)

ESP32 ADC Kullanımı hakkındaki bilgilere bu yazımızdan ulaşabilirsiniz.

Not: Wi-Fi kullanıldığında ADC2 pinleri kullanılamaz. Bu nedenle, Wi-Fi kullanıyorsanız ve bir ADC2 GPIO’dan değer almakta sorun yaşıyorsanız, bunun yerine bir ADC1 GPIO kullanmayı düşünebilirsiniz.

ADC giriş kanalları 12 bit çözünürlüğe sahiptir. Bu, 0’dan 0V’a ve 4095’ten 3.3V’a karşılık gelen 0 ila 4095 arasında analog okumalar alabileceğiniz anlamına gelir. Ayrıca kod ve ADC aralığında kanallarınızın çözünürlüğünü ayarlayabilirsiniz.

ESP32 ADC pinlerinin doğrusal davranışı yoktur. Muhtemelen 0 ile 0,1V veya 3,2 ile 3,3V arasında ayrım yapamayacaksınız. ADC pinlerini kullanırken bunu aklınızda tutmanız gerekir. Aşağıdaki şekilde gösterilene benzer bir davranış elde edeceksiniz.

ESP32 Pin Referansı Giriş ve Çıkış Pinleri esp32 pin referansı,esp32 giriş ve çıkış pinleri,esp32 pinleri,esp32 pinout,esp32 kullanıımı

Dijitalden Analoga Dönüştürücü (DAC) Pinler

ESP32’de dijital sinyalleri analog voltaj sinyal çıkışlarına dönüştürmek için 2 x 8 bit DAC kanalı bulunmaktadır. Bunlar DAC kanallarıdır:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC GPIO Pinleri

ESP32’de RTC GPIO desteği vardır. RTC düşük güç alt sistemine yönlendirilen GPIO’lar, ESP32 derin uykudayken kullanılabilir. Bu RTC GPIO’lar, Ultra Düşük Güç (ULP) yardımcı işlemcisi çalışırken ESP32’yi derin uykudan uyandırmak için kullanılabilir. Aşağıdaki GPIO’lar harici uyandırma kaynağı olarak kullanılabilir.

  • RTC_GPIO0 (GPIO36)
  • RTC_GPIO3 (GPIO39)
  • RTC_GPIO4 (GPIO34)
  • RTC_GPIO5 (GPIO35)
  • RTC_GPIO6 (GPIO25)
  • RTC_GPIO7 (GPIO26)
  • RTC_GPIO8 (GPIO33)
  • RTC_GPIO9 (GPIO32)
  • RTC_GPIO10 (GPIO4)
  • RTC_GPIO11 (GPIO0)
  • RTC_GPIO12 (GPIO2)
  • RTC_GPIO13 (GPIO15)
  • RTC_GPIO14 (GPIO13)
  • RTC_GPIO15 (GPIO12)
  • RTC_GPIO16 (GPIO14)
  • RTC_GPIO17 (GPIO27)

ESP32’yi derin uykudan uyandırmak için RTC GPIO’ları nasıl kullanacağınızı öğrenin: ESP32 Derin Uyku Kullanımı ve Uyandırma Kaynakları

PWM Pinleri

ESP32 LED PWM denetleyicisi, farklı özelliklere sahip PWM sinyalleri üretmek üzere yapılandırılabilen 16 bağımsız kanala sahiptir. Çıkış görevi görebilen tüm pinler PWM pinleri olarak kullanılabilir (34 ila 39 GPIO’ları PWM üretemez).

Bir PWM sinyali ayarlamak için kodda şu parametreleri tanımlamanız gerekir:

  • Sinyalin frekansı;
  • Görev döngüsü(duty cycle);
  • PWM kanalı;
  • GPIO, sinyali çıkarmak istediğiniz yer.

ESP32 ile PWM Kullanımı için bu yazımıza göz atabilirsiniz.

I2C Pinleri

ESP32’nin iki I2C kanalı vardır ve herhangi bir pin SDA veya SCL olarak ayarlanabilir. ESP32’yi Arduino IDE ile kullanırken, varsayılan I2C pinleri şunlardır:

  • GPIO 21 (SDA)
  • GPIO 22 (SCL)

Wire kütüphanesini kullanırken diğer pinleri kullanmak istiyorsanız, şöyle çağırmanız yeterlidir:

Wire.begin(SDA, SCL);

ESP32 ile I2C Kullanımı hakkındaki yazımıza buradan ulaşabilirsiniz.

SPI Pinleri

Varsayılan olarak, SPI için pin eşlemesi şu şekildedir:

SPIMOSIMISOCLKCS
VSPIGPIO 23GPIO 19GPIO 18GPIO 5
HSPIGPIO 13GPIO 12GPIO 14GPIO 15

Kesmeler(Interrupts)

Tüm GPIO’lar kesme olarak yapılandırılabilir.

ESP32 ile kesmelerin nasıl kullanılacağını öğrenmek için bu yazımıza bakabilirsiniz.

Çemberleme Pinleri(Strapping)

ESP32 entegresinde aşağıdaki çemberleme pinleri bulunur:

  • GPIO 0
  • GPIO 2
  • GPIO 4
  • GPIO 5 (önyükleme sırasında YÜKSEK olmalıdır)
  • GPIO 12 (önyükleme sırasında DÜŞÜK olmalıdır)
  • GPIO 15 (önyükleme sırasında YÜKSEK olmalıdır)

Bunlar, ESP32’yi önyükleyici veya flash moduna geçirmek için kullanılır. Yerleşik USB/Serili çoğu geliştirme kartında, bu pinlerin durumu hakkında endişelenmenize gerek yoktur. Kart, flash veya önyükleme modu için pinleri doğru duruma getirir. ESP32 Önyükleme Modu Seçimi hakkında daha fazla bilgiyi burada bulabilirsiniz.

Ancak, bu pinlere bağlı çevre birimleriniz varsa, yeni kod yüklemeye çalışırken, ESP32’yi yeni bellenim ile flash veya kartı sıfırlamada sorun yaşayabilirsiniz. Çemberleme pimlerine bağlı bazı çevre birimleriniz varsa ve kod yükleme veya ESP32’yi flash moduna sokmakta sorun yaşıyorsanız, bunun nedeni bu çevre birimlerinin ESP32’nin doğru moda girmesini engellemesi olabilir.

Önyüklemede YÜKSEK Pinler

Bazı GPIO’lar, durumlarını YÜKSEK olarak değiştirir veya önyükleme veya sıfırlama sırasında PWM sinyalleri verir. Bu, GPIO’lara bağlı çıkışlarınız varsa, ESP32 sıfırlandığında veya önyüklendiğinde beklenmedik sonuçlar alabileceğiniz anlamına gelir.

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 – GPIO 11 (ESP32 entegre SPI flash belleğe bağlı – kullanılması önerilmez).
  • GPIO 14
  • GPIO 15

Enable (EN) Pini

Enable (EN), 3.3V regülatörün etkinleştirme pinidir. Yukarı çekilidir, bu nedenle 3.3V regülatörünü devre dışı bırakmak için toprağa bağlayın. Bu, örneğin ESP32’nizi yeniden başlatmak için bir düğmeye bağlı bu pimi kullanabileceğiniz anlamına gelir.

GPIO Pinlerin Akım Çekimi

ESP32 veri sayfasındaki “Önerilen Çalışma Koşulları” bölümüne göre GPIO başına çekilen mutlak maksimum akım 40mA’dır.

ESP32 Dahili Hall Effect Sensörü

ESP32 ayrıca çevresindeki manyetik alandaki değişiklikleri algılayan dahili bir hall effect sensörüne de sahiptir.

ESP32 GPIO’lar için bu başvuru kılavuzunu yararlı bulduğunuzu umuyoruz. ESP32 GPIO’lar hakkında daha fazla bilgiye varsa, lütfen aşağıya bir yorum yazarak paylaşın.

Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.