Ana Sayfa Arduino Arduino ile Dokunmatik TFT Ekran Kullanımı:Ekrana Yazı Yazdırma

Arduino ile Dokunmatik TFT Ekran Kullanımı:Ekrana Yazı Yazdırma

10 min read
14
1
25,624

 

Merhaba arkadaşlar bu yazımızda sizlerle Arduino ile dokunmatik TFT ekrana yazı yazdırmayı göreceğiz.Bu uygulamada SSD1289 LCD ekran sürücüsüne sahip 320×240 pixel ve 65K-16 bit renk çözünürlüğüne sahip TFT ekranı kullanacağız.Uygulamada programlama kartı olarak Arduino Mega’yı kullanacağız.Aşağıda kullanacağımız ekranın ön ve arka yüzü gösterilmiştir.

images (2)images

 

 

Kullanılan Malzemeler

  • Arduino Mega
  • TFT Ekran
  • Jumper Kablolar

Dokunmatik ekranın pinleri aşağıda verilmiştir.

3.2TFT_pinTft ekran ve Arduino MEGA bağlantı pinleri aşağıda verilmiştir.

baglantı pinleri

 

Programı yazmaya başlamadan önce UTFT kütüphanesini indirmemiz gerekmektedir.Aşağıda linki verilmiştir.

http://www.rinkydinkelectronics.com/library.php?id=51

Kütüphanemizi indirdikten sonra uygulamamıza başlayabiliriz.

[php]#include "UTFT.h"
extern uint8_t SmallFont[];
extern uint8_t BigFont[];
extern uint8_t SevenSegNumFont[];

UTFT myGLCD(ITDB32S,38,39,40,41);

void setup()
{
myGLCD.InitLCD(LANDSCAPE);
myGLCD.clrScr();
}

void bigFontTest()
{
myGLCD.clrScr();
myGLCD.setColor(255, 0, 0);
myGLCD.setBackColor(0, 0, 0);
myGLCD.setFont(BigFont);
myGLCD.print("ABCDEFGHIJKLMNOPQRST", LEFT, 0);
myGLCD.print("UVWXYZ[\\]^_ABCDEFGH", LEFT, 16);
myGLCD.print("0123456789:;<=>?0123", LEFT, 32);
myGLCD.print("`abcdefghijklmnopqrs", LEFT, 48);
myGLCD.print("tuvwxyz{|}~ 01234567", LEFT, 64);
myGLCD.print("ABCDEFGHIJKLMNOPQRST", LEFT, 80);
myGLCD.print("~~~~~~~~~~~~~~~~~~~~", LEFT, 96);
myGLCD.print("UVWXYZ[\\]^_ABCDEFGH", LEFT, 112);
myGLCD.print("0123456789:;<=>?0123", LEFT, 128);
myGLCD.print("`abcdefghijklmnopqrs", LEFT, 144);
myGLCD.print("tuvwxyz{|}~ 01234567", LEFT, 160);
myGLCD.print("ABCDEFGHIJKLMNOPQRST", LEFT, 176);
myGLCD.print("UVWXYZ[\\]^_ABCDEFGH", LEFT, 192);
myGLCD.print("0123456789:;<=>?0123", LEFT, 208);
myGLCD.print("`abcdefghijklmnopqrs", LEFT, 224);
}

void smallFontTest()
{
myGLCD.clrScr();
myGLCD.setColor(0, 255, 0);
myGLCD.setBackColor(0, 0, 0);
myGLCD.setFont(SmallFont);
myGLCD.print("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn", LEFT, 0);
myGLCD.print("opqrstuvwxyz[\\]^_0123456789`:;<=>?012345", LEFT, 12);
myGLCD.print("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn", LEFT, 24);
myGLCD.print("opqrstuvwxyz[\\]^_0123456789`:;<=>?012345", LEFT, 36);
myGLCD.print("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn", LEFT, 48);
myGLCD.print("opqrstuvwxyz[\\]^_0123456789`:;<=>?012345", LEFT, 60);
myGLCD.print("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn", LEFT, 72);
myGLCD.print("opqrstuvwxyz[\\]^_0123456789`:;<=>?012345", LEFT, 84);
myGLCD.print("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn", LEFT, 96);
myGLCD.print("opqrstuvwxyz[\\]^_0123456789`:;<=>?012345", LEFT, 108);
myGLCD.print("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn", LEFT, 120);
myGLCD.print("opqrstuvwxyz[\\]^_0123456789`:;<=>?012345", LEFT, 132);
myGLCD.print("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn", LEFT, 144);
myGLCD.print("opqrstuvwxyz[\\]^_0123456789`:;<=>?012345", LEFT, 156);
myGLCD.print("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn", LEFT, 168);
myGLCD.print("opqrstuvwxyz[\\]^_0123456789`:;<=>?012345", LEFT, 180);
myGLCD.print("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn", LEFT, 192);
myGLCD.print("opqrstuvwxyz[\\]^_0123456789`:;<=>?012345", LEFT, 204);
myGLCD.print("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn", LEFT, 216);
myGLCD.print("opqrstuvwxyz[\\]^_0123456789`:;<=>?012345", LEFT, 228);
}

void hugeFontTest()
{
myGLCD.clrScr();
myGLCD.setColor(0, 0, 255);
myGLCD.setBackColor(0, 0, 0);
myGLCD.setFont(SevenSegNumFont);
myGLCD.print("0123456789", LEFT, 0);
myGLCD.print("0123456789", LEFT, 50);
myGLCD.print("0123456789", LEFT, 100);
myGLCD.print("0123456789", LEFT, 150);
}

void loop()
{
smallFontTest();
delay(1000);
bigFontTest();
delay(1000);
hugeFontTest();
delay(1000);
} [/php]

 

12389031_10153428945744773_1763151990_o

 

[php]#include <UTFT.h>
// kullanılacak fontlar bildiriliyor.
extern uint8_t SmallFont[];
extern uint8_t BigFont[];
extern uint8_t SevenSegNumFont[];
// bu değerler kullandığınız dokunmatik ekranın özelliğine göre değişebilir.
UTFT myGLCD(ITDB32S,38,39,40,41);

void setup()
{
myGLCD.InitLCD(); //LCD ekran kurulumu yapılıyor
myGLCD.clrScr(); //Ekran temizlenir
myGLCD.setColor(VGA_BLUE); //yazılan degerin rengi
//myGLCD.setColor(0,0,255) bu şekildede kullanılır
myGLCD.setBackColor(255,0,0); //yazının arka plan rengi
myGLCD.fillScr(30,60,120); //Ekranı belirtilen renkte basar
myGLCD.setFont(BigFont);
myGLCD.print("ROBOTURKA.COM", CENTER, 50);
myGLCD.setFont(BigFont);
myGLCD.print("MUHAMMET OZCAN", CENTER, 150);

}
void loop()
{

//while(1) { };
}[/php]

20151215_203558

[php]#include <UTFT.h>

extern uint8_t SmallFont[];
extern uint8_t BigFont[];
extern uint8_t SevenSegNumFont[];
UTFT myGLCD(ITDB32S,38,39,40,41);

void setup()
{
myGLCD.InitLCD();

myGLCD.clrScr();
}

void loop()
{
myGLCD.setColor(0, 255, 0);
myGLCD.setBackColor(0, 0, 0);

myGLCD.setFont(BigFont);
myGLCD.print(" !\"#$%&'()*+,-./", CENTER, 0);
myGLCD.print("0123456789:;<=>?", CENTER, 16);
myGLCD.print("@ABCDEFGHIJKLMNO", CENTER, 32);
myGLCD.print("PQRSTUVWXYZ[\\]^_", CENTER, 48);
myGLCD.print("`abcdefghijklmno", CENTER, 64);
myGLCD.print("pqrstuvwxyz{|}~ ", CENTER, 80);

myGLCD.setFont(SmallFont);
myGLCD.print(" !\"#$%&'()*+,-./0123456789:;<=>?", CENTER, 120);
myGLCD.print("@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_", CENTER, 132);
myGLCD.print("`abcdefghijklmnopqrstuvwxyz{|}~ ", CENTER, 144);

myGLCD.setFont(SevenSegNumFont);
myGLCD.print("0123456789", CENTER, 190);

while(1) {};
}[/php]

20151215_203631

 

 

[php]#include "UTFT.h"

extern uint8_t BigFont[];

UTFT myGLCD(ITDB32S,38,39,40,41);

void setup()
{
myGLCD.InitLCD();
myGLCD.clrScr();
}

void loop()
{
myGLCD.clrScr();
myGLCD.setColor(255, 255, 0);
myGLCD.setBackColor(0, 0, 0);
myGLCD.setFont(BigFont);
myGLCD.print("Hello, world", 20, 20);
for (int a=10; a<=90; a+=10)
{
myGLCD.print("Hello, world", 20, 20, a);
}
do {}while (1);
} [/php]

 


  • STM32F4 Discovery Dokunmatik Ekran Yazı Uygulaması

    Merhabalar arkadaşlar, STM32F4 Discovery kartımızın,dokunmatik ekran ile olan bağlantısınd…
Buna Benzer Yazılar Göster !
Daha Fazlasını Yükle - Muhammet Özcan
Daha Fazla Göster -  Arduino

14 Yorumlar

  1. Berat

    17 Aralık 2015 at 21:07

    Merhaba. 480×320 3.0/3.2′ hvga var bu örnek kodlarla ekrana yazı yazdıramadım. Nasıl yapabilirim yardımcı olursanız sevinirim.

    Reply

  2. Muhammet Özcan

    Muhammet Özcan

    18 Aralık 2015 at 17:44

    Merhaba.LCD ekranın sürücüsünün modeline göre kod da değişiklik yapmanız gerekebilir.
    UTFT myGLCD(CTE32HR,38,39,40,41); programda bu kısmı değiştirip tekrar deneyiniz.Kolay gelsin.

    Reply

    • Berat

      22 Aralık 2015 at 18:34

      Çalıştı çok teşekkür ederim 🙂

      Reply

  3. Muhammet Özcan

    Muhammet Özcan

    22 Aralık 2015 at 21:00

    Rica ederim kolay gelsin:)

    Reply

  4. ömer

    23 Mart 2016 at 08:33

    merhabalar bu uygulama uno modeli ile yapılabilir mi? tft ekran ile arduino bağlantısını gösteren bir şema verme imkanınız var mı? okul projemiz için lazım. sizden başka kaynak bulamadım. yardımcı olabilirseniz çok sevinirim .

    çok teşekkür ederim.

    Reply

  5. ömer

    27 Mart 2016 at 05:47

    Hocam merhabalar. bir sorum olacaktı. 2×16 lcd ekrana 4 adet buton bağlayıp her birine basınca ekranda bir yazı yazmasını istiyorum. Yani her butonda bir yazı bilgisi olacak. Kullandığım buton çıt çıt buton. Ancak mantığını bir türlü kuramadım. Bir butonla deneme yapıyorum ama bir türlü işin içinden çıkamadım. Arduinoda yeniyim daha. Yazdığım kodlar şu şekilde. Yanlışım nerede acaba?

    #include
    const int butonPin=13;
    int butondurum = 0;

    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
    void setup() {
    pinMode(butonPin, INPUT_PULLUP);

    }
    void loop() {

    butondurum=digitalRead(butonPin);

    if (butondurum == HIGH){
    lcd.begin(16, 2);
    lcd.print(“OMER”);

    delay(5000);
    }
    else{
    lcd.print(“Butona basilmadi”);
    }
    }

    Reply

  6. şükrü

    6 Nisan 2016 at 07:00

    muhammet aliexpresten 2,4 tft lcd modülü aldım ama caliştiramadim yardimci olursan sevinirim

    Reply

    • Muhammet Özcan

      Muhammet Özcan

      6 Nisan 2016 at 07:37

      merhabalar,lcd’nın model ve sürücünün tam adı ne

      Reply

  7. Şükrü

    7 Nisan 2016 at 02:35

    Linki attım muhammet yardımcı olursan çok sevinirim

    Reply

  8. Şükrü

    7 Nisan 2016 at 02:43

    Muhammet linkler galiba gitmiyor ama şu ucuz olan ekranlardan aliexpresse arduino 2.4 tft lcd yazarsan çıkacaktır rengi kırmızı ekran şuan arkadaşda modelini hatırlamıyorum

    Reply

  9. Şükrü

    7 Nisan 2016 at 02:45

    Ayrıca e posta adresinizi yazarmısınız veya facebook hesabiniz varsa ordan konuşalım ben daha arduinoda yeniyim sormam gereken daha bir çok şey var 🙂

    Reply

  10. Emirhan

    3 Mayıs 2023 at 02:01

    Hocam merhabalar, tft bir ekrana düzenlediğimiz fotoğraf veya gifleri yansıtmak istiyoruz. Bunu nasıl yapabiliriz acaba ?

    Reply

Berat için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bak Bakalım ?

IEEE YTÜ 16. İLTEK Günleri

“Sadece Derse Girerek Mühendis Olunmaz!” sloganı ile yıllardır profesyonel işle…