ESP32 Display 2.8 İnç TFT Dokunmatik ESP32-2432S028R WiFi Bluetooth Geliştirme Kartı
ESP32 Display 2.8 İnç TFT Dokunmatik ESP32-2432S028R WiFi Bluetooth Geliştirme Kartı
ESP32-2432S028R, maker topluluğunda Cheap Yellow Display veya kısaca CYD olarak bilinen, ESP32-WROOM-32 modülü ile 2.8 inç renkli TFT dokunmatik ekranı aynı kart üzerinde birleştiren kompakt bir geliştirme kartıdır. Ayrı ESP32 kartı, ayrı TFT ekran, ayrı dokunmatik kontrol devresi ve kablo karmaşası kullanmadan grafik arayüzlü IoT projeleri geliştirmek isteyenler için pratik bir platform sunar.
Kart üzerinde ESP32-WROOM-32 modülü, 2.8 inç 240x320 piksel ILI9341 TFT ekran, XPT2046 tabanlı rezistif dokunmatik panel, microSD kart yuvası, RGB LED, LDR ışık sensörü, speaker konnektörü, BOOT/RST butonları ve harici sensörler için ayrılmış genişletme konnektörleri bulunur.
Bu sayfa, verilen datasheet ve Random Nerd Tutorials kurulum rehberi temel alınarak Türkçe teknik rehber / ürün datasheet formatında hazırlanmıştır. Arduino IDE kurulumu, TFT_eSPI yapılandırması, XPT2046 dokunmatik kütüphanesi, dokunmatik test kodu, pin kullanımı ve dikkat edilmesi gereken noktalar görsellerle birlikte özetlenmiştir.

Genel Teknik Özellikler
| Özellik | Değer |
| Model | ESP32-2432S028R |
| Ana modül | ESP32-WROOM-32 |
| CPU | Çift çekirdekli ESP32 MCU, 240 MHz'e kadar |
| Kablosuz | 2.4 GHz WiFi ve Bluetooth |
| SRAM / ROM | 520 KB SRAM, 448 KB ROM |
| Flash | 4 MB |
| Ekran | 2.8 inç renkli TFT LCD |
| Ekran sürücüsü | ILI9341 |
| Çözünürlük | 240 x 320 piksel |
| Dokunmatik | Rezistif dokunmatik panel, XPT2046 kontrolcü |
| Depolama | microSD / TF kart arayüzü |
| Ek bileşenler | RGB LED, LDR, speaker konnektörü, DHT11 / ayrılmış IO konnektörleri |
| Besleme | 5 V çalışma gerilimi |
| Tüketim | Yaklaşık 115 mA; ekran parlaklığı ve bağlı devrelere göre değişebilir |
| Kart boyutu | Yaklaşık 50.0 x 86.0 mm |
| Ağırlık | Yaklaşık 50 g |
| Programlama | Arduino IDE, MicroPython, ESP-IDF |
Kartın Donanım Yapısı
ESP32-2432S028R kartının en büyük avantajı, ekran ve dokunmatik donanımının hazır bağlı gelmesidir. Ayrı bir TFT ekran modülünü ESP32'ye jumper kablolarla bağlamak yerine, ekran, dokunmatik kontrolcü, microSD kart yuvası ve güç devresi aynı PCB üzerinde yer alır.
Arka yüzde ESP-WROOM-32 modülü, microSD yuvası, RGB LED, BOOT ve RST butonları, speaker konnektörü, TX/RX konnektörü ve genişletme IO konnektörleri bulunur. Bu yapı, kartı hem dokunmatik arayüz geliştirme hem de kablosuz IoT kontrol paneli oluşturma için kullanışlı hale getirir.

Ekran ve Dokunmatik Arayüz
Karttaki 2.8 inç TFT ekran, 240 x 320 piksel çözünürlük sunar ve ILI9341 sürücü entegresiyle SPI üzerinden kontrol edilir. Bu ekran; menüler, durum panelleri, sayaç ekranları, grafikler, dokunmatik butonlar ve basit dashboard arayüzleri için uygundur.
Dokunmatik katman rezistif tiptedir ve XPT2046 kontrolcüsü ile çalışır. Rezistif dokunmatik ekranlar parmakla kullanılabilir; daha hassas temas için stylus veya benzeri uç kullanmak daha iyi sonuç verebilir. Dokunmatik koordinatlar yazılımda kalibrasyon / map işlemiyle ekran çözünürlüğüne uyarlanır.
TFT ve Dokunmatik Pinleri
| TFT hattı | ESP32 GPIO |
| TFT_MISO | GPIO12 |
| TFT_MOSI | GPIO13 |
| TFT_SCLK | GPIO14 |
| TFT_CS | GPIO15 |
| TFT_DC | GPIO2 |
| TFT_RST | -1, kart reset hattı kullanılır |
| Backlight | GPIO21 |
| Dokunmatik hattı | ESP32 GPIO |
| XPT2046_IRQ | GPIO36 |
| XPT2046_MOSI | GPIO32 |
| XPT2046_MISO | GPIO39 |
| XPT2046_CLK | GPIO25 |
| XPT2046_CS | GPIO33 |
microSD, RGB LED, LDR ve Diğer Donanımlar
microSD kart yuvası, veri kaydetme, ikon/görsel saklama, web arayüz dosyalarını tutma veya proje ayarlarını saklama gibi işlerde kullanılabilir. microSD arayüzü SPI üzerinden çalışır ve varsayılan olarak MISO GPIO19, MOSI GPIO23, SCK GPIO18, CS GPIO5 hatlarını kullanır.

| Bileşen | GPIO / not |
| RGB LED kırmızı | GPIO4, aktif LOW mantık |
| RGB LED yeşil | GPIO16, aktif LOW mantık |
| RGB LED mavi | GPIO17, aktif LOW mantık |
| LDR ışık sensörü | GPIO34 |
| Speaker konnektörü | GPIO26 |
| BOOT butonu | GPIO0 |
| TX/RX konnektörü | GPIO1 TX, GPIO3 RX; CH340 USB-seri hattıyla ilişkilidir |
Genişletme IO Konnektörleri
Kart üzerinde P3 ve CN1 olarak ayrılmış genişletme konnektörleri vardır. Bu konnektörlerde GPIO35, GPIO22, GPIO21 ve GPIO27 gibi pinler görülür; ancak GPIO21 ekran arka aydınlatması ile ilişkili olduğundan genel I/O olarak kullanırken dikkatli olunmalıdır.
CN1 konnektöründe 3V3 ve GND hatlarının da bulunması, I2C sensör gibi düşük akımlı harici modüller için kullanışlıdır. Varsayılan ESP32 I2C pinlerini kullanmak yerine, bu kartta custom I2C pinleri tanımlamak daha doğru olur; örneğin SCL için GPIO22 ve SDA için GPIO27 tercih edilebilir.

Arduino IDE Kurulumu
- Arduino IDE içinde ESP32 kart paketinin kurulu olduğundan emin olun.
- Kütüphane yöneticisinden TFT_eSPI kütüphanesini Bodmer geliştiricisiyle kurun.
- Kütüphane yöneticisinden XPT2046_Touchscreen kütüphanesini Paul Stoffregen geliştiricisiyle kurun.
- TFT_eSPI için ESP32-2432S028R pinlerine uygun User_Setup.h dosyasını TFT_eSPI kütüphane klasörüne kopyalayın.
- Arduino IDE'de kart olarak ESP32 Dev Module seçin, doğru COM portunu belirleyin ve test kodunu yükleyin.


TFT_eSPI User_Setup.h Dosyası Neden Önemli?
TFT_eSPI kütüphanesi farklı TFT ekranlar ve farklı pin eşlemeleriyle çalışabildiği için, doğru User_Setup.h dosyası kullanılmadığında ekran boş kalabilir, renkler yanlış görünebilir veya SPI haberleşmesi hiç başlamayabilir. Bu kart için ILI9341 sürücüsü, HSPI pinleri, chip select, data/command ve backlight pinleri doğru tanımlanmalıdır.
Kurulumda en kritik adım, Random Nerd Tutorials tarafından verilen CYD uyumlu User_Setup.h dosyasını TFT_eSPI kütüphane klasöründeki dosya ile değiştirmektir. Farklı internet kaynaklarından alınan User_Setup.h dosyaları bu kartla uyumlu olmayabilir.
Dokunmatik Test Kod Özeti
Aşağıdaki örnek, TFT ekranda basit bir metin gösterir ve ekrana dokunulduğunda X, Y ve basınç değerlerini hem ekrana hem de seri monitöre yazdırır. Tam kod kaynağı aşağıdaki kaynaklar bölümünde verilmiştir; burada temel pinler ve çalışma mantığı gösterilmiştir.
#include#include #include TFT_eSPI tft = TFT_eSPI(); #define XPT2046_IRQ 36 #define XPT2046_MOSI 32 #define XPT2046_MISO 39 #define XPT2046_CLK 25 #define XPT2046_CS 33 SPIClass touchscreenSPI = SPIClass(VSPI); XPT2046_Touchscreen touchscreen(XPT2046_CS, XPT2046_IRQ); #define SCREEN_WIDTH 320 #define SCREEN_HEIGHT 240 void setup() { Serial.begin(115200); touchscreenSPI.begin(XPT2046_CLK, XPT2046_MISO, XPT2046_MOSI, XPT2046_CS); touchscreen.begin(touchscreenSPI); touchscreen.setRotation(1); tft.init(); tft.setRotation(1); tft.fillScreen(TFT_WHITE); tft.setTextColor(TFT_BLACK, TFT_WHITE); tft.drawCentreString("Hello, world!", SCREEN_WIDTH / 2, 30, 2); tft.drawCentreString("Touch screen to test", SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2, 2); } void loop() { if (touchscreen.tirqTouched() && touchscreen.touched()) { TS_Point p = touchscreen.getPoint(); int x = map(p.x, 200, 3700, 1, SCREEN_WIDTH); int y = map(p.y, 240, 3800, 1, SCREEN_HEIGHT); int z = p.z; Serial.print("X = "); Serial.print(x); Serial.print(" | Y = "); Serial.print(y); Serial.print(" | Pressure = "); Serial.println(z); tft.fillScreen(TFT_WHITE); tft.drawCentreString("X = " + String(x), SCREEN_WIDTH / 2, 80, 2); tft.drawCentreString("Y = " + String(y), SCREEN_WIDTH / 2, 100, 2); tft.drawCentreString("Pressure = " + String(z), SCREEN_WIDTH / 2, 120, 2); delay(100); } }
Test Sonucu ve Dokunmatik Davranışı
Kod yüklendikten sonra ekranda ortalanmış bir karşılama metni görünmelidir. Ekrana parmak veya stylus ile dokunulduğunda X, Y koordinatları ve basınç değeri hem TFT ekranda hem de Arduino IDE seri monitöründe izlenebilir. Bazı ekran varyasyonlarında dokunmatik yönü ters olabilir; bu durumda touchscreen.setRotation(3) gibi farklı rotasyon değerleri denenebilir.


RGB LED Testi
Kart arkasındaki RGB LED, hata ayıklama veya durum göstergesi olarak kullanılabilir. Bu LED aktif LOW mantıkla çalışır; yani ilgili GPIO LOW yapıldığında LED yanar, HIGH yapıldığında söner.
#define LED_RED 4
#define LED_GREEN 16
#define LED_BLUE 17
void setup() {
pinMode(LED_RED, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_BLUE, OUTPUT);
digitalWrite(LED_RED, HIGH);
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_BLUE, HIGH);
}
void loop() {
digitalWrite(LED_RED, LOW);
delay(500);
digitalWrite(LED_RED, HIGH);
digitalWrite(LED_GREEN, LOW);
delay(500);
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_BLUE, LOW);
delay(500);
digitalWrite(LED_BLUE, HIGH);
}
Kullanım Alanları
- Dokunmatik IoT kontrol panelleri
- WiFi veya Bluetooth ile bağlanan grafik arayüzlü cihazlar
- MQTT tabanlı ev otomasyonu ekranları
- Sıcaklık, nem, basınç ve enerji izleme panelleri
- microSD kartlı veri kayıt sistemleri
- LVGL tabanlı gelişmiş grafik arayüz denemeleri
- Dokunmatik butonlu menü ve ayar ekranları
- ESP32 ile ekran programlama eğitimi
Sık Karşılaşılan Durumlar
| Durum | Kontrol / çözüm |
| Ekran boş kalıyor | TFT_eSPI User_Setup.h dosyasının CYD pinlerine uygun olduğunu kontrol edin. |
| Dokunmatik koordinatlar ters | touchscreen.setRotation(1) yerine setRotation(3) gibi farklı değerler deneyin. |
| Upload hatası | ESP32 Dev Module kart seçimini, COM portu, USB kabloyu ve gerekirse BOOT butonunu kontrol edin. |
| RGB LED ters çalışıyor | RGB LED aktif LOW mantıktadır; LOW LED'i yakar, HIGH söndürür. |
| I2C sensör çalışmıyor | Varsayılan GPIO21/GPIO22 yerine karttaki uygun genişletme pinleriyle custom Wire.begin(SDA, SCL) kullanın. |
| microSD kart okunmuyor | Kart formatını, CS pinini, SPI pinlerini ve besleme kararlılığını kontrol edin. |
Dikkat Edilmesi Gerekenler
- Kart üzerinde birçok GPIO ekran, dokunmatik, microSD, RGB LED, LDR veya speaker tarafından kullanıldığı için harici devre bağlamadan önce pin çakışması kontrol edilmelidir.
- GPIO21 ekran arka aydınlatma hattı olarak kullanıldığından standart I2C SDA pini gibi düşünülmemelidir.
- GPIO34, GPIO35, GPIO36 ve GPIO39 giriş odaklı pinlerdir; çıkış olarak kullanım için uygun değildir.
- Rezistif dokunmatik panelde koordinatlar ekran varyasyonuna göre kalibrasyon isteyebilir.
- TFT arka aydınlatması ve WiFi kullanımı akım tüketimini artırabilir; zayıf USB kaynakları kararsız çalışmaya neden olabilir.
- Harici sensör bağlarken 3.3 V lojik seviyesi ve ortak GND bağlantısı kontrol edilmelidir.
Paket İçeriği
- 1 adet ESP32-2432S028R 2.8 inç 240x320 rezistif dokunmatik TFT WiFi Bluetooth geliştirme kartı