TFT 2,4 inç Ili9341 ekran modülünün tedarikçisi olarak, bu yüksek performanslı ekranlarla yakın çalışma ve bunları PIC mikrokontrolörleriyle entegre etme ayrıcalığına sahip oldum. Bu blog yazısında, donanım bağlantılarından yazılım programlamaya kadar her şeyi kapsayan TFT 2,4 inç Ili9341'in PIC mikrodenetleyici ile nasıl kullanılacağına dair ayrıntılı bir rehber paylaşacağım.
1. TFT 2,4 inç Ili9341'i Anlamak
TFT 2,4 inç Ili9341, yüksek çözünürlüğü (320x240 piksel) ve canlı renkli ekranıyla bilinen popüler bir ekran modülüdür. Çok çeşitli renk derinliklerini ve görüntüleme modlarını destekleyen Ili9341 sürücü çipini kullanır. Bu, onu endüstriyel kontrol panelleri, akıllı ev cihazları ve el tipi oyun konsolları gibi çeşitli uygulamalar için uygun hale getirir.
2. PIC Mikrodenetleyici Seçimi
TFT 2,4 inç Ili9341 ile kullanılmak üzere bir PIC mikro denetleyicisi seçerken çeşitli faktörlerin dikkate alınması gerekir. İlk olarak mikro denetleyicinin ekranla iletişimi yönetecek kadar I/O pinine sahip olması gerekir. Ili9341, SPI (Seri Çevresel Arayüz) veya 8 bit/16 bit paralel arayüz aracılığıyla iletişim kurabilir. Modern PIC mikro denetleyicilerinin çoğu, basitliği ve nispeten yüksek hızı nedeniyle popüler bir seçim olan SPI'yi destekler.
Bu proje için önerilen bazı PIC mikrokontrolörleri arasında PIC18F serisi ve PIC32 serisi bulunmaktadır. PIC18F serisi performans ve maliyet arasında iyi bir denge sunarken, PIC32 serisi karmaşık uygulamalar için daha fazla işlem gücü sağlar.
3. Donanım Bağlantısı
3.1 SPI Bağlantısı
SPI arayüzünü kullanmayı seçerseniz genellikle aşağıdaki bağlantılar yapılır:
- SCLK (Seri Saat): Bu pini PIC mikrodenetleyicinin SPI saat çıkışına bağlayın.
- MOSI (Master Çıkışı Slave Girişi): Bu pini PIC mikrodenetleyicinin SPI veri çıkışına bağlayın.
- MISO (Master Girişi Slave Çıkışı): Bu pini PIC mikrodenetleyicinin SPI veri girişine bağlayın.
- CS (Çip Seçimi): Bu pini PIC mikrodenetleyicinin genel amaçlı çıkış pinine bağlayın. Bu pin SPI veriyolu üzerindeki Ili9341 cihazını seçmek için kullanılır.
- DC (Veri/Komut): Bu pini PIC mikrodenetleyicinin genel amaçlı çıkış pinine bağlayın. Gönderilen verinin komut mu yoksa veri mi olduğunu belirtmek için kullanılır.
- RST (Sıfırla): Bu pini PIC mikrodenetleyicinin genel amaçlı çıkış pinine bağlayın. Bu pin Ili9341 ekranını sıfırlamak için kullanılır.
- VCC: Bu pini güç kaynağına bağlayın (genellikle 3,3V).
- GND: Bu pimi toprağa bağlayın.
3.2 Güç Konuları
TFT 2,4 inç Ili9341 genellikle 3,3V güç kaynağı gerektirir. Görüntü bozulmalarını veya arızaları önlemek için sabit bir güç kaynağı kullandığınızdan emin olun. Gürültüyü filtrelemek için güç pinlerinin yakınına dekuplaj kapasitörleri de eklemeniz gerekebilir.


4. Yazılım Programlama
4.1 SPI Arayüzünün Başlatılması
PIC mikro denetleyicisini Ili9341 ile iletişim kuracak şekilde programlamanın ilk adımı SPI arayüzünü başlatmaktır. PIC18F mikrodenetleyici için SPI arayüzünü C'de başlatmanın basit bir örneği:
#include <xc.h> // Konfigürasyon bitleri #pragma config FOSC = HS // Osilatör Seçim bitleri (HS osilatörü) #pragma config WDTE = OFF // Watchdog Zamanlayıcı Etkinleştirme biti (WDT devre dışı) #pragma config PWRTE = OFF // Açılış Zamanlayıcısı Etkinleştirme biti (PWRT devre dışı) #pragma config BOREN = OFF // Brown - out Sıfırlama Etkinleştirme biti (BOR) devre dışı) #pragma config LVP = KAPALI // Düşük - Gerilim (Tek - Besleme) Devre Seri Programlamayı Etkinleştirme biti (RB3 dijital G/Ç'dir, programlama için MCLR'de HV kullanılmalıdır) #pragma config CPD = KAPALI // Veri EEPROM Bellek Kodu Koruma biti (Veri EEPROM kod koruması kapalı) #pragma config WRT = KAPALI // Flash Program Belleği Yazma Etkinleştirme bitleri (Yazma koruması kapalı; tüm program belleğine tarafından yazılabilir) EECON kontrolü) #pragma config CP = KAPALI // Flash Program Bellek Kodu Koruma biti (Kod koruması kapalı) void SPI_Init(void) { TRISC5 = 0; // Çıkış olarak SDO TRISC4 = 1; // TRISC3 girişi olarak SDI = 0; // Çıkış olarak SCK SSPTAT = 0x40; // SMP = 0, CKE = 1 SSPCON = 0x21; // SSPEN = 1, CKP = 0, SSPM3:0 = 0001 (Fosc/64) }
4.2 Ili9341 Ekranının Başlatılması
SPI arayüzünü başlattıktan sonraki adım, Ili9341 ekranını başlatmaktır. Bu, kayıtlarını ayarlamak için ekrana bir dizi komut göndermeyi içerir. Ili9341'i başlatmanın basit bir örneği:
void LCD_Init(void) { // Ekranı sıfırla LCD_RST = 0; __delay_ms(10); LCD_RST = 1; __delay_ms(10); // Başlatma komutlarını gönder LCD_CS = 0; LCD_DC = 0; SPI_Write(0x01); // Yazılımın sıfırlanması __delay_ms(10); // Daha fazla komut... LCD_CS = 1; }
4.3 Ekranda Çizim Yapmak
Ekran başlatıldığında, üzerinde çizim yapmaya başlayabilirsiniz. Örneğin düz renkli bir dikdörtgen çizmek için aşağıdaki kodu kullanabilirsiniz:
void DrawRectangle(int x1, int y1, int x2, int y2, unsigned int color) { int i, j; for (i = y1; i < y2; i++) { for (j = x1; j < x2; j++) { SetPixel(j, i, color); } } }
5. Ek Hususlar
5.1 Dokunmatik Ekran Desteği
Bazı TFT 2,4 inç Ili9341 modülleri dokunmatik ekran işleviyle birlikte gelir. Dokunmatik ekranı kullanmak istiyorsanız ek donanım ve yazılım desteği eklemeniz gerekir. Dokunmatik ekran tipik olarak mikro denetleyiciyle bir I2C veya SPI arayüzü aracılığıyla iletişim kuran dirençli veya kapasitif bir dokunmatik sensör kullanır. Dokunmatik ekran desteği hakkında daha fazla bilgiyi sitemizde bulabilirsiniz.TFT Dokunmatik Ekransayfa.
5.2 Diğer Ekran Modülleri
TFT 2,4 inç Ili9341'e ek olarak başka ekran modülleri de sunuyoruz:TFT 1.14 İnç St7789vve3,5 inç TFT Yuvarlak LCD 800*800 Çözünürlük IPS LCD Ekran Modülü. Bu modüllerin farklı özellikleri ve spesifikasyonları vardır ve uygulamanıza en uygun olanı seçebilirsiniz.
6. Satın Alma ve Danışma İçin İletişim
TFT 2,4 inç Ili9341'i satın almakla ilgileniyorsanız veya bunu bir PIC mikro denetleyicisine entegre etme konusunda sorularınız varsa, lütfen bizimle iletişime geçmekten çekinmeyin. Projenizde size teknik destek ve yardım sağlayabilecek deneyimli mühendislerden oluşan bir ekibimiz var. Yüksek kaliteli ürünler ve mükemmel müşteri hizmetleri sunmaya kararlıyız.
Referanslar
- Microchip Technology Inc. PIC18F Ailesi Veri Sayfası.
- Ilitek Co., Ltd. Ili9341 Veri Sayfası.