Yazılardaki ürünleri komponentci.net'te inceleyebilir, hemen sipariş verebilirsiniz.komponentci.net →
KomponentciBlog Mağaza

ESP32-WROOM-32D Pin Diyagramı ve Kullanım Rehberi

ESP32-WROOM-32D Pin Diyagramı ve Kullanım Rehberi
Kısa cevap

ESP32-WROOM-32D, 38 pinli, 3,3 V ile çalışan bir Wi-Fi ve Bluetooth modülüdür; GPIO6-11 flash belleğe bağlı olduğu için kullanılmaz, GPIO34-39 yalnızca giriştir, GPIO0, 2, 5, 12 ve 15 açılışı etkiler. Wi-Fi açıkken ADC2 pinleri analog okuma yapamaz, bu yüzden analog ölçüm için ADC1 pinleri (32-39) seçilir.

ESP32-WROOM-32D, Wi-Fi ve Bluetooth'lu projelerde en sık karşılaşılan modüllerden biridir; ama 38 pinin hepsi aynı işi görmez. Bu yazıda ESP32-WROOM-32D pin diyagramını, hangi pinlerin güvenle kullanılabileceğini, açılışı etkileyen strapping pinlerini, ADC2 ile Wi-Fi çakışmasını ve besleme ihtiyacını anlatıyoruz. ESP32'ye yeni başlayan hobiciler ve kendi kartını tasarlayan üreticiler için bir başvuru rehberidir.

ESP32-WROOM-32D nedir?

ESP32-WROOM-32D, Espressif'in ESP32-D0WD çipini, 4 MB SPI flash belleği, 40 MHz kristali ve PCB anteni tek bir metal kapaklı kartta birleştiren 38 pinli bir Wi-Fi ve Bluetooth modülüdür. Çift çekirdekli Xtensa LX6 işlemci 240 MHz'e kadar çalışır; modül 18 × 25,5 × 3,1 mm boyutundadır.

Modülü tek başına (lehimleyerek) ya da üzerinde USB-seri dönüştürücü, regülatör ve butonlar bulunan bir ESP32-WROOM-32D geliştirme kartı olarak kullanabilirsiniz. ESP32 ile ilk adımlar için ESP32 başlangıç rehberi yazımıza da göz atabilirsiniz.

ESP32-WROOM-32D pin diyagramı nasıl okunur?

Pin diyagramı modülü üstten, anten yukarıda olacak şekilde gösterir: 1-14 numaralı pinler sol kenarda yukarıdan aşağı, 15-24 alt kenarda soldan sağa, 25-38 sağ kenarda aşağıdan yukarı sıralanır. 1, 15 ve 38 numaralı pinler GND, 2 numaralı pin 3V3, 3 numaralı pin EN'dir.

Pin adındaki "IO" ön eki GPIO numarasını verir; IO25, GPIO25 demektir. Aynı pin birden fazla işleve sahip olabilir: IO25 hem dijital pin, hem DAC1, hem de ADC2 kanalıdır. Geliştirme kartlarında pin sırası kart üreticisine göre değişir, bu yüzden kartın üzerindeki baskıyı esas alın.

Pin grubuGPIO numaralarıNot
Besleme3V3, GND (1, 15, 38)3,0-3,6 V
Yalnız giriş34, 35, 36, 39Çıkış yok, dahili pull-up/pull-down yok
Strapping0, 2, 5, 12, 15Açılışta seviyesi önemli
Flash'a bağlı6, 7, 8, 9, 10, 11Kullanmayın
UART0 (USB-seri)1 (TX), 3 (RX)Program yükleme ve seri monitör
Serbest GPIO4, 13, 14, 16-19, 21-23, 25-27, 32, 33Genel kullanım
ESP32-WROOM-32D pin diyagramı: 38 pinli modülün üstte PCB anteni, sol kenarda 1-14 numaralı pinler GND, 3V3, EN, yalnız giriş olan IO36, IO39, IO34, IO35 ile IO32, IO33, IO25, IO26, IO27, IO14 ve strapping pini IO12; alt kenarda 15-24 numaralı pinler GND, IO13, flash'a bağlı SD2, SD3, CMD, CLK, SD0, SD1 ve strapping pinleri IO15, IO2; sağ kenarda 25-38 numaralı pinler IO0, IO4, IO16, IO17, IO5, IO18, IO19, NC, IO21, RXD0, TXD0, IO22, IO23 ve GND; pinler besleme, serbest GPIO, yalnız giriş, strapping, flash, UART0 ve EN renklerine ayrılmış; altta ADC2 pinlerinin Wi-Fi açıkken kullanılamadığı notu
Yeşil pinler serbest GPIO, mor pinler (34-39) yalnız giriş, turuncu pinler (0, 2, 5, 12, 15) açılışı etkiler, gri pinler (GPIO6-11) modülün flash belleğine bağlıdır ve kullanılmaz.

Hangi pinler güvenle kullanılabilir?

Güvenle kullanabileceğiniz pinler GPIO4, 13, 14, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 32 ve 33'tür. Bunlar açılışı etkilemez ve hem giriş hem çıkış olarak çalışır. Arduino çekirdeğinde varsayılan I2C pinleri GPIO21 (SDA) ve GPIO22 (SCL), VSPI pinleri ise GPIO18 (SCK), 19 (MISO), 23 (MOSI) ve 5 (SS)'tir. I2C hattının nasıl çalıştığını I2C nedir yazımızda anlattık.

GPIO34, 35, 36 ve 39 yalnızca giriştir; bunlara LED ya da röle bağlayamazsınız. Dahili pull-up dirençleri de olmadığından buton bağlarken harici direnç gerekir. GPIO6-11 modülün içindeki flash belleğe bağlıdır; Espressif veri sayfası bu pinlerin başka amaçla kullanılmamasını söyler. Bu pinlere bir şey bağlamak modülün çökmesine yol açar.

Tüm GPIO'lar 3,3 V mantıkla çalışır. 5 V çıkışlı bir sensörü doğrudan bağlamayın; seviye dönüştürücü ya da gerilim bölücü kullanın. Bir pinden en fazla birkaç on miliamper çekin; röle, motor ve yüksek akımlı LED'leri transistör ya da sürücü üzerinden sürün.

Strapping pinleri neden önemlidir?

Strapping pinleri, ESP32'nin reset anında okuduğu ve açılış biçimini belirleyen pinlerdir; bu anda yanlış seviyede tutulurlarsa modül açılmaz ya da programlama moduna giremez. ESP32-WROOM-32D'de beş strapping pini vardır: GPIO0, GPIO2, GPIO5, GPIO12 (MTDI) ve GPIO15 (MTDO).

PinDahili varsayılanEtkisiPratik kural
GPIO0Pull-up (1)Düşükse program yükleme moduBOOT butonu; açılışta düşük çekmeyin
GPIO2Pull-down (0)Program yükleme için düşük olmalıAçılışta boşta ya da düşük bırakın
GPIO5Pull-up (1)SDIO zamanlamasıAçılışta düşük çekmeyin
GPIO12Pull-down (0)Flash besleme gerilimini seçerAçılışta mutlaka düşük
GPIO15Pull-up (1)Düşükse açılış mesajları susarAçılışta düşük çekmeyin

En sık yapılan hata GPIO12'dir. Bu pin açılışta yüksek okunursa çip flash beslemesini 1,8 V'a ayarlar; modüldeki flash 3,3 V olduğu için ESP32 açılmaz. GPIO12'ye açılışta yüksek veren bir sensör ya da pull-up direnci bağlamayın.

ADC2 pinleri Wi-Fi ile neden çalışmaz?

ADC2 birimi Wi-Fi sürücüsü tarafından da kullanıldığından, Wi-Fi açıkken ADC2 kanallarından analog okuma yapılamaz. Espressif'in ESP-IDF belgeleri bunu açıkça belirtir; Arduino'da analogRead bu pinlerde hata ya da anlamsız değer döndürür.

ADC2 pinleri GPIO0, 2, 4, 12, 13, 14, 15, 25, 26 ve 27'dir. Wi-Fi kullanan bir projede potansiyometre, LDR ya da analog sensörü ADC1 pinlerine bağlayın: GPIO32, 33, 34, 35, 36 ve 39. Analog girişe 3,3 V'tan yüksek gerilim vermeyin; ölçüm aralığının uçlarına yakın bölgede doğrusallığın bozulduğunu da hesaba katın.

Besleme için ne kadar akım gerekir?

Espressif, ESP32-WROOM-32D için en az 500 mA verebilen 3,0-3,6 V aralığında bir besleme önerir. Ortalama tüketim düşük olsa da Wi-Fi yayını sırasında kısa akım tepeleri oluşur; zayıf besleme bu anda gerilimi düşürür ve modül kendini resetler.

Modülü kendiniz besliyorsanız 500 mA ya da üzeri bir 3,3 V regülatör kullanın ve 3V3 pininin yakınına 10 µF ile 100 nF kondansatör koyun. Geliştirme kartında USB'den besleme yapıyorsanız kaliteli ve kısa bir kablo seçin. Seri monitörde "Brownout detector was triggered" mesajı görüyorsanız ilk bakacağınız yer beslemedir.

ESP32-WROOM-32, 32D, 32E ve 32U arasındaki fark nedir?

Bu modüller aynı pin dizilişini ve boyut ailesini paylaşır; farkları içlerindeki çip sürümü ve anten tipidir. "U" harfi harici anten konnektörü, "E" harfi ise yeni çip revizyonu (v3) anlamına gelir.

ModülÇipAntenNot
ESP32-WROOM-32ESP32-D0WDQ6PCB antenİlk sürüm, eski tasarımlarda
ESP32-WROOM-32DESP32-D0WDPCB antenVeri sayfasında "yeni tasarımlar için önerilmez" (NRND)
ESP32-WROOM-32UESP32-D0WDHarici anten konnektörü32D'nin konnektörlü hâli, anten takılmalı
ESP32-WROOM-32EESP32-D0WD-V3PCB antenv3 revizyonu; GPIO6-11 dışarı verilmez

Kodlar her dört modülde de aynı şekilde çalışır. Metal kutu içinde ya da uzak mesafede çalışacaksanız ESP32-WROOM-32U modülü ve harici anten kullanın; yeni bir kart tasarlıyorsanız ESP32-WROOM-32E modülü daha güncel seçenektir. ESP32'nin ESP8266'dan farklarını ESP32 ve ESP8266 farkı yazımızda karşılaştırdık.

Modülü ilk kez nasıl programlarsınız?

Geliştirme kartında programlama USB üzerinden otomatik yapılır; çıplak modülde ise bir USB-seri dönüştürücü ve iki buton gerekir. Çıplak modül için adımlar şunlardır:

  1. ESP32-WROOM-32D modülünü bir adaptör kartına ya da kendi PCB'nize lehimleyin; 3V3 ve GND'yi bağlayın.
  2. EN pinini 10 kΩ ile 3V3'e çekin ve EN ile GND arasına 1 µF kondansatör koyun.
  3. GPIO0 ile GND arasına bir buton (BOOT), EN ile GND arasına bir buton (RESET) bağlayın.
  4. USB-seri dönüştürücünün TX ucunu RXD0'a (GPIO3), RX ucunu TXD0'a (GPIO1) bağlayın; GND'ler ortak olsun.
  5. Arduino IDE'de ESP32 kart paketini kurup "ESP32 Dev Module" seçin.
  6. BOOT'a basılı tutarken RESET'e basıp bırakın, sonra BOOT'u bırakın ve yüklemeyi başlatın.
  7. Yükleme bitince RESET'e basarak programı çalıştırın.

Breadboard'a sığmayan 38 pinli kartlar için ESP32 38 pin genişletme kartı pinleri vidalı ya da erkek başlıklı olarak dışarı verir.

Sık sorulan sorular

ESP32-WROOM-32D 5 V ile çalışır mı?

Hayır, modül 3,0-3,6 V ile beslenir ve GPIO'ları 3,3 V mantıktadır. Geliştirme kartlarında 5V ya da VIN pini bulunur, ancak bu gerilim kart üzerindeki regülatörle 3,3 V'a düşürülür. Modülün 3V3 pinine 5 V vermek ya da GPIO'lara 5 V sinyal uygulamak çipe zarar verebilir.

ESP32 neden açılmıyor ya da sürekli resetleniyor?

En sık iki neden yetersiz besleme ve strapping pinleridir. Wi-Fi açıldığında gerilim düşüyorsa daha güçlü bir kaynak ve kondansatör ekleyin. GPIO12'nin açılışta yüksek, GPIO0'ın düşük okunmadığını kontrol edin. Seri monitörde 115200 baud ile açılış mesajlarını okumak sorunu çoğu zaman gösterir.

Geliştirme kartındaki BOOT butonu hangi pine bağlıdır?

BOOT butonu GPIO0'a bağlıdır ve basıldığında pini GND'ye çeker. Reset sırasında GPIO0 düşükse ESP32 program yükleme moduna girer. Çoğu kartta USB-seri çipi bunu otomatik yaptığı için butona basmanız gerekmez; yükleme "Connecting..." satırında takılıyorsa butonu basılı tutun.

WROOM-32D ile WROOM-32E kodları birbirine uyumlu mu?

Evet, Arduino ve ESP-IDF ile yazılan kodlar iki modülde de aynı şekilde çalışır ve pin numaraları değişmez. Fark donanım tarafındadır: 32E yeni v3 çip revizyonunu kullanır ve flash'a bağlı GPIO6-11 pinlerini dışarı vermez. Bu pinleri zaten kullanmamanız gerektiği için pratikte fark hissedilmez.

Hangi pinler PWM verebilir?

Çıkış olarak kullanılabilen tüm GPIO'lar PWM verebilir; ESP32'de PWM, LEDC birimiyle istenen pine yönlendirilir. Yalnız giriş olan GPIO34-39 ve flash pinleri GPIO6-11 bu listenin dışındadır. Servo, LED parlaklığı ve fan hızı için GPIO4, 13, 14, 25, 26, 27, 32 ve 33 iyi seçeneklerdir.

Özet

  • ESP32-WROOM-32D, ESP32-D0WD çipli, 4 MB flash'lı, PCB antenli 38 pinli bir modüldür ve 3,3 V ile çalışır.
  • GPIO6-11 flash'a bağlıdır, kullanmayın; GPIO34-39 yalnızca giriştir ve dahili pull-up içermez.
  • GPIO0, 2, 5, 12 ve 15 açılışı etkiler; özellikle GPIO12 açılışta düşük olmalıdır.
  • Wi-Fi açıkken ADC2 çalışmaz; analog ölçüm için ADC1 pinlerini (32-39) seçin.
  • En az 500 mA verebilen 3,3 V besleme ve modüle yakın kondansatörler reset sorunlarını önler.

Bu yazıdaki ürünler

Diğer yazılar

12 Kasım 20268 dk okuma

AMG8833 Termal Kamera Sensörü: 8x8 Isı Haritası Rehberi

AMG8833, Panasonic Grid-EYE ailesinden 8x8 = 64 pikselli bir termopil kızılötesi dizi sensörüdür. 0-80 °C aralığındaki yüzeylerin sıcaklığın...

Devamını oku →
12 Kasım 20268 dk okuma

MT6701 Manyetik Encoder: 14 Bit Açı Sensörü Rehberi

MT6701, MagnTek'in ürettiği, dönen bir mıknatısın açısını Hall algılayıcılarla temassız ölçen 14 bitlik manyetik açı sensörüdür. Açıyı I2C y...

Devamını oku →
12 Kasım 20267 dk okuma

MG90S ve SG90 Servo Farkı: Tork, Dişli ve Seçim Rehberi

MG90S ile SG90 arasındaki temel fark dişlilerdir: MG90S metal, SG90 plastik dişli kullanır. İkisi de aynı boyda mikro servodur ve 4,8 V'ta y...

Devamını oku →
12 Kasım 20267 dk okuma

C5198 ve A1941 Transistör: Değerler, Bacaklar ve Muadil

C5198 (2SC5198), Toshiba'nın ses amplifikatörü çıkış katı için ürettiği 140 V, 10 A ve 100 W değerli NPN güç transistörüdür; PNP eşi A1941'd...

Devamını oku →
12 Kasım 20267 dk okuma

ZB2L3 Pil Kapasite Test Cihazı: Bağlantı ve Kullanım

ZB2L3 pil kapasite test cihazı, pili harici bir yük direnci üzerinden ayarladığınız sonlandırma gerilimine kadar boşaltıp gerçek kapasiteyi...

Devamını oku →
12 Kasım 20266 dk okuma

TC4427 MOSFET Sürücü: Pinout, Bağlantı ve TC4426 Farkı

TC4427, Microchip'in iki kanallı, evirmeyen (non-inverting) ve 1,5 A tepe akımlı MOSFET sürücü entegresidir. 4,5-18 V ile beslenir ve Arduin...

Devamını oku →