NFC’den Dokunmatik Ekrana: ESP32-S3 Tabanlı Akıllı Geçiş Sistemi Prototipi
Merhaba, ben Şeref Han Sazak. Gebze Teknik Üniversitesi Elektronik Mühendisliği Bölümü öğrencisiyim. Bu yazıda, Elfatek Teknoloji A.Ş. Ar-Ge bölümünde gerçekleştirdiğim staj kapsamında üzerinde çalıştığım akıllı geçiş sistemi prototipinden bahsedeceğim.
Staj süresince yalnızca tek bir modülü çalıştırmak yerine; NFC okuyucu, mikrodenetleyici, TFT ekran ve kapasitif dokunmatik panel gibi farklı donanımları ortak bir sistem içerisinde bir araya getirmeye çalıştım. Bu süreçte ESP32 tabanlı geliştirme kartları, PN532 NFC okuyucu, 4,3 inç TFT ekran, KiCad, Arduino IDE kullandım.
Çalışmaların sonunda NFC kart kimlik bilgisinin okunması, TFT ekran üzerinde temel grafik ve yazıların oluşturulması ve dokunmatik kontrolcüden temel koordinat verilerinin alınması sağlandı. Bununla birlikte proje, yalnızca çalışan çıktılardan değil; karşılaşılan sorunlardan, yapılan ölçümlerden ve alınan teknik kararlardan da önemli kazanımlar sundu.
Akıllı Geçiş Sistemi Nedir?
Akıllı geçiş sistemi; kullanıcıya ait kart veya mobil cihaz gibi bir kimlik aracından bilgi alan, bu bilgiyi kayıtlı yetkilerle karşılaştıran ve sonuca göre kapı ya da turnike gibi fiziksel bir çıkışı kontrol eden elektronik sistemdir.
Üzerinde çalıştığımız sistemde, fiziksel RFID/NFC kartların yanında ilerleyen aşamalarda mobil cihazların da kullanılabilmesi hedefleniyordu. Sistemden beklenen temel işlevler şunlardı:
- Karttan alınan kimlik bilgisinin okunması
- Yetki kontrolünün yerel olarak yapılması
- Kullanıcıya ekran üzerinden geri bildirim verilmesi
- Kapı veya turnike çıkışının kontrol edilmesi
- İnternet bağlantısı bulunduğunda geçiş kayıtlarının sunucuya aktarılması
İnternet bağlantısının kesilmesi durumunda temel geçiş işlevinin devam edebilmesi için çevrimdışı karar verme ve çevrimiçi kayıt işlemleri birbirinden ayrıldı. Böylece sistem, ağ bağlantısı bulunmadığında da yerel yetki listesi üzerinden çalışabilecek şekilde planlandı.

Şekil 1 Akıllı Geçiş Sistemi Genel Mimari ve Veri Akış Diyagramı
PN532 ile NFC Kart Okuma
Projenin ilk donanım çalışması, PN532 RFID/NFC okuyucunun ESP32-WROOM-32D geliştirme kartı ile çalıştırılmasıydı. PN532, 13,56 MHz frekansında çalışan temassız kartlarla haberleşebilen bir NFC denetleyicisidir. Modül; I²C, SPI ve UART gibi farklı arayüzleri desteklemektedir.
İlk prototipte daha az bağlantı hattı gerektirmesi nedeniyle I²C haberleşmesi tercih edildi. SDA ve SCL hatları üzerinden bağlantı kurulduktan sonra Arduino IDE ortamında Wire ve Adafruit PN532 kütüphaneleri kullanıldı.
İlk denemelerde modülden geçerli bir yanıt alınamadı. Bunun üzerine besleme, ortak GND, çalışma modu, SDA, SCL, IRQ ve reset bağlantıları tek tek kontrol edildi. Yapılan incelemeler sonucunda I²C hatlarından birinin yazılımda tanımlanan GPIO ile fiziksel bağlantısının uyuşmadığı belirlendi.
Bağlantı düzeltildikten sonra önce PN532’nin firmware bilgisi okundu. Ardından okuyucu kart algılama moduna geçirildi ve ISO/IEC 14443A uyumlu kartın UID bilgisi seri monitörde görüntülendi. Böylece sorunun yazılım kütüphanesinden değil, fiziksel pin eşleşmesinden kaynaklandığı doğrulandı.
Bu aşama, gömülü sistemlerde aynı hatanın hem donanımsal hem de yazılımsal nedenlerden kaynaklanabileceğini uygulamalı olarak gösterdi

Şekil 2 ESP32-WROOM-32D ile PN532 RFID/NFC Modülü Arasındaki I²C Donanım Bağlantısı
Breadboard’dan KiCad Şematiğine
NFC okuyucu çalıştırıldıktan sonra breadboard üzerindeki bağlantıların daha düzenli ve üretilebilir bir elektronik karta dönüştürülmesi amacıyla KiCad çalışmalarına başlandı.
Bu süreçte Schematic Editor ve PCB Editor kullanımı; sembol, footprint, net etiketi ve elektriksel kural kontrolü gibi temel kavramlar incelendi. ESP32-WROOM-32D’nin besleme, EN, BOOT ve GPIO bağlantıları işlevsel gruplar hâlinde düzenlendi. Ayrıca bypass kapasitörleri, kontrol butonları, dirençler ve harici bağlantı konnektörleri şematiğe eklendi.
Hazırlanan çalışma nihai üretim kartı değildi. Güç dönüştürme, koruma devreleri, fiziksel PCB yerleşimi ve daha sonra gerçekleştirilen ESP32-S3 geçişi henüz tamamlanmamıştı. Buna rağmen ön şematik, prototip bağlantılarının belgelenmesini ve sistemin bloklar hâlinde değerlendirilmesini sağladı.
Neden ESP32-S3’e Geçildi?
Projenin sonraki aşamasında kullanıcı arayüzü için 4,3 inç ve 480×272 piksel çözünürlüğe sahip TFT ekranın sisteme eklenmesi hedeflendi. Ancak ekranın paralel RGB arayüzü; renk veri hatlarının yanında PCLK, HSYNC, VSYNC ve DE sinyallerine de ihtiyaç duyuyordu.
Başlangıçta kullanılan ESP32-WROOM-32D, NFC okuyucu ve temel kontrol işlemleri için yeterliydi. Fakat TFT ekranın yüksek sayıdaki bağlantı hattı ve görüntü aktarım gereksinimleri değerlendirildiğinde mevcut kartın uygulamayı zorlaştıracağı görüldü.
Bu nedenle daha yüksek GPIO sayısına ve paralel RGB ekranları sürmeye uygun LCD çevresel birimine sahip ESP32-S3-WROOM-1U tabanlı geliştirme kartına geçildi. Kartın gelmesini beklediğimiz sürede ekranın veri sayfası, FPC pinleri, RGB veri yapısı ve zamanlama değerleri incelendi.
Bu değişiklik, mikrodenetleyici seçiminde yalnızca işlemci hızına bakmanın yeterli olmadığını gösterdi. Kullanılacak çevresel birimler, GPIO sayısı, bellek ihtiyacı ve donanımsal arayüz desteği de birlikte değerlendirilmeliydi.
TFT Ekranın Çalıştırılması ve Görüntü Testleri
ESP32-S3 karta ulaşıldıktan sonra ekranın 40 pinli FPC şeridi bir adaptör üzerinden jumper kablolara dönüştürüldü. Ekranın lojik beslemesi ile LED arka aydınlatması birbirinden ayrılarak sisteme enerji verildi.
İlk bağlantıda yalnızca arka aydınlatma çalıştı ve görüntü oluşmadı. Bunun üzerine RGB veri hattı sırası, senkronizasyon sinyalleri ve piksel saati yeniden incelendi.
Doğrudan bir kullanıcı arayüzü hazırlamak yerine, hata ayıklamayı kolaylaştırmak amacıyla önce kırmızı, yeşil ve mavi tam ekran testleri uygulandı. Daha sonra köşe çizgileri ve farklı renk bölgelerinden oluşan geometrik desenler kullanıldı. Bu testlerde renklerin ekrana aktarılabildiği ve ESP32-S3 ile panel arasında RGB veri iletişiminin gerçekleştiği doğrulandı.
Ancak ekranın doğal 480×272 çözünürlüğünde görüntü yalnızca panelin yaklaşık yarısında oluşuyordu. Sorunu incelemek amacıyla farklı çözünürlük ve zamanlama ayarları denendi. 480×480 yapılandırmasında görüntü kayması azaltıldı ve daha geniş bir alan kullanılabildi; fakat panelin tamamının doğru şekilde kullanılması sağlanamadı.
PCLK hattında yaklaşık 8,8 MHz ölçülmesi, değerin panel için belirtilen yaklaşık 9 MHz seviyesine yakın olduğunu gösterdi. Bu nedenle problemin yalnızca piksel saatinden değil; senkronizasyon süreleri, aktif görüntü alanı ve uzun jumper kabloların oluşturduğu sinyal bütünlüğü sorunlarından da kaynaklanabileceği değerlendirildi.

Şekil 3 Farklı Renklerle RGB Görüntü Testi

Şekil 4 Bölgesel Geometrik Görüntü Testi

Şekil 5 480×480 Çözünürlükte Dikey Görüntü Testi
Dokunmatik Panel ve 1,8 V Lojik Seviye Problemi
Görüntü çalışmalarından sonra ekranın kapasitif dokunmatik bölümü incelendi. Dokunmatik panel, ekranın RGB veri hatlarından bağımsız bir FPC şerit üzerinden I²C haberleşmesi kullanıyordu.
İlk bağlantıdan sonra gerçekleştirilen I²C taramasında herhangi bir adres bulunamadı. Ayrıca dokunmatik şerit ve kontrolcü bölgesinde normal olmayan bir sıcaklık artışı fark edildi. Donanımın zarar görmesini önlemek amacıyla enerji hemen kesildi ve FPC yönü, besleme bağlantıları ve sinyal seviyeleri tekrar kontrol edildi.
Teknik doküman incelendiğinde dokunmatik kontrolcünün SDA, SCL ve INT hatlarının 1,8 V lojik seviyesinde; ESP32-S3 GPIO’larının ise 3,3 V seviyesinde çalıştığı görüldü. Bu nedenle iki cihazın doğrudan bağlanmasının güvenli olmadığı anlaşıldı.
Gerilim seviyelerini uyarlamak amacıyla 74LVC2T45 seviye dönüştürücü üzerinde çalışıldı. Ancak bu entegrenin iki kanalının ortak bir yön kontrol girişine sahip olması, çift yönlü çalışan I²C veri hattında sınırlama oluşturdu. I²C’de cihazlar HIGH seviyesi üretmek yerine hattı LOW seviyesine çeker; hatların tekrar HIGH seviyesine ulaşması pull-up dirençleriyle sağlanır. Özellikle SDA hattının veri gönderirken çıkış, ACK alınırken giriş olması yön kontrolünü zorlaştırdı.
Bu davranışı daha kontrollü inceleyebilmek için yaklaşık 10 kHz hızında çalışan yazılımsal I²C yapısı hazırlandı ve seviye dönüştürücü sinyalleri osiloskop üzerinden gözlemlendi. Son testlerde dokunmatik kontrolcüden ACK alındı ve ekrana dokunulduğunda X-Y koordinatlarının seri monitörde değiştiği görüldü.
Temel haberleşme sağlanmış olsa da koordinatların ekran üzerindeki gerçek konumla eşleştirilmesi için eksen yönü, ölçekleme ve ekran döndürme işlemlerini içeren bir kalibrasyon çalışmasına ihtiyaç duyuldu. Ayrıca nihai tasarımda I²C’nin açık-drenç yapısına uygun bir seviye dönüştürücü kullanılması gerektiği sonucuna ulaşıldı.

Şekil 6 Seviye Dönüştürücü Sinyalinin Osiloskop ile İncelenmesi
Bu Proje Bana Ne Kazandırdı?
Bu çalışma boyunca NFC okuyucu, TFT ekran ve dokunmatik panel gibi farklı çalışma prensiplerine sahip donanımların aynı sistem içerisinde nasıl değerlendirildiğini görme fırsatı buldum.
PN532’nin yanıt vermemesi fiziksel bir pin hatasından kaynaklanırken, TFT ekrandaki kısmi görüntü problemi yazılım zamanlaması ve bağlantı kalitesinin birlikte incelenmesini gerektirdi. Dokunmatik panelde ise yalnızca I²C adres taraması yapmak yeterli olmadı; besleme gerilimi, FPC yönü, lojik seviyeler, pull-up dirençleri ve çift yönlü veri aktarımı birlikte ele alındı.
Ayrıca kullanılacak ölçüm cihazının probleme göre seçilmesi gerektiğini deneyimledim. Multimetre; gerilim, ortak GND ve bağlantı sürekliliği gibi statik kontrollerde yeterliydi. PCLK ve I²C gibi zamanla değişen sinyallerin değerlendirilmesinde ise osiloskop gerekli oldu.
Sonuç
Staj sonunda PN532 üzerinden NFC kart kimlik bilgisi okunmuş, TFT ekranda temel renk, desen ve yazı aktarımı gerçekleştirilmiş ve dokunmatik kontrolcüden temel koordinat verileri alınmıştır.
Bununla birlikte sistem henüz nihai ürün seviyesine ulaşmamıştır. TFT ekranın tam alan zamanlama uyumu, dokunmatik kalibrasyonu, uygun çift yönlü I²C seviye dönüştürme devresi, ESP32-S3 tabanlı PCB revizyonu ve bütün alt sistemlerin aynı yazılım içerisinde birleştirilmesi projenin sonraki geliştirme adımları olarak belirlenmiştir.
Bu çalışma bana prototiplemenin yalnızca devrenin çalışmasını sağlamaktan ibaret olmadığını gösterdi. Başarılı bir mühendislik süreci; problemin doğru tanımlanmasını, ölçüm sonuçlarının yorumlanmasını, sınırlamaların açıkça ortaya konulmasını ve bir sonraki tasarım adımının belirlenmesini de kapsamaktadır.
Staj süresince çalışmalarımızda bilgi ve deneyimleriyle destek olan Elfatek Teknoloji A.Ş. Ar-Ge ekibine teşekkür ederim.
Şeref Han Sazak
Gebze Teknik Üniversitesi
Elektronik Mühendisliği