Posted by : MC 27 Kasım 2015 Cuma

Merhabalar arkadaşlar,
Önceki yazılarımızda lcd konularına girmiş, örnekler vermiş ve lcd kütüphane fonksiyonları üzerinde durmuştuk.Bu yazımıza ise grafik lcd ler üzerinde duracağız.

Daha önce kullanmış olduğumuz lcd ekranlar 2 satır içerirken grafik lcd ekran ise daha fazla piksel ile bize hizmet sunmaktadır.Üzerinde barındırdığı her bir piksel ile bize kullanıcı arayüzümüz için bir tuval olmaktadır.

Bu projemizde samsungun KS0108 GLCD sini kullanacağız.

Arduino ide tarafında yapmamız gereken arduino sitesine giderek GLCDks0108 kütüphanesini ide mize eklemek.

Peki bu kütüphane bizlere hangi fonksiyonları sağlar ?

Init(bool inverted): kütüphanemizi başlamaya hazır hale getirir.

ClearScreen() : grafik lcd ekranı tamamen temizler

DrawBitmap(bitmap,int x,int y,color) : x ve y koordinatları ile belirtilen noktaya bitmap uzantılı resmi ekler

SelectFont(font) : önceden tanımlı olan fontlar arasından seçim yapmamıza olanak tanır

PutChar(char c) : işaretçinin son kaldığı noktaya karakter yazdırır

GotoXY(int x, int y) : işaretçiyi x ve y ile belirtilen koordinata çeker

PrintNumber(long n) : ekranda son kalınan noktaya sayı yazdırır.

Puts(string t) : ekranda son kalınan noktaya string yazılmasını sağlar

DrawLine(int x1,int y1,int x2, int y2, color) : x1 y1 ve x2 y2 koordinatları başlangıç ve bitiş noktaları olacak şekilde ekrana çizgi çeker

DrawVertLine(int x,int y,long length , color) : x ve y koordinatıdan başlayarak length kadar uzunlukta bir dikey çizgi çeker

DrawHoriLine(int x,int y,long length , color) : x ve y koordinatıdan başlayarak lenght kadar uzunlukta yatay bir çizgi çeker

DrawRect(int x, int y, int width, int height) : x ve y koordinatlarından başlayarak width ile verilen genişlik ve height ile verilen yükseklikte bir dikdörtgen çizer

InvertRect(int x, int y, int width,int radius, int height) : x ve y koordinatlarından başlayarak widht ile verilen genişlik ve height ile verilen yükseklik kadar dikdörtgen alanın piksellerini tersine çevirir.

DrawRoundRect(int x, int y, int width, int height, color) : x ve y koordinatlarından başlayarak width ile verilen genişlik ile height ile verilen yükseklik kadar bir dikdörtgen çizer.Ancak verilen radius kadar dikdörtgenin köşelerini ovalleştirir.

FillRect(int x, int y, int width, int height, color) : x ve y koordinatlarından başlayarak width ile verilen genişlik ve height ile verilen yükseklik kadar alanı dikdörtgen şeklinde doldurur.

DrawCircle(int x, int y, int radius, color) : Dairenin merkezi x ve y ile verilen koordinatlarda yer alacak şekilde ve radius ile belirtilen yarıçapta bir daire çizer

SetDot(int x, int y, color) : x ve y koordinatları ile verilen tek bir pikseli doldurur

Bu devrede kullanacağımız malzeme listesi : 

1 adet arduinı mega
1 adet glcd
1 adet parlaklık ayarı için potansiyometre
1 adet 10k ohm direnç fazla akımı engellemek için

Gelelim devre şemamıza



Gelelim Ardunino kodlarımıza

#include <ks0108.h>

int x=0;  // x eksen koordinatımızı sıfırladık
int y=0; // y eksen koordinatımızı sıfırladık

void setup ()
{
    GLCD.Init(NON_INVERTED); // grafik lcd mizi beyaz bir şekilde başlattık
    GLCD.ClearScreen(); // başlamak için lcd mizi önce temizledik
}
void loop()
{
    GLCD.DrawCircle(63,31,5,BLACK); // 63-31 merkezli 5 yarıçaplı siyah bir daire çizdik
    delay(1000); // 1 sn kadar gecikme
    GLCD.ClearScreen(); // ekranı temizledik
    GLCD.DrawRoundRect(30,30,20,20,5,BLACK); //sol alt köşesi 30-30 koordinatında 20 genişlik ve 20 uzunlukta ve herbir köşesi 5 birimlik ovalleştirilmiş bir siyah dikdörtgen çizdirdik
    delay(1000); // 1 sn lik gecikme
     GLCD.ClearScreen(); // ekranı temizledik
     GLCD.FillRect(30,30,30,10,BLACK); // 30-30 koordinatına 30 genişlik 10 yüksekliğe sahip içi siyah dikdörtgen çizdirdik
    delay(1000); // 1 snlik gecikme
     GLCD.ClearScreen();// ekranı temizledik
   
}

Yukarıdaki örnekte sırası ile ekrana daire ,oval köşeli dörtgen ve içi siyah diktörgen sırası ile 1 er sn aralıkla çizdirelecek ve her sekil arasındaki 1 sn lik zaman aralığından sonra ekran temizlenecektir.

{ 4 Comments... read them below or Comment }

  1. kutup haney nasıl indiriyoruz

    YanıtlaSil
    Yanıtlar
    1. arduino resmi sitesinde bulabilirsiniz

      Sil
    2. Bu kodlar kopyalanmıyor,bana kopyalanmışı varsa gönderebilir misiniz?Ekranın çalışıp çalışmadığına bakacağım.

      Sil

ELEKTRO BLOGGER A HOŞGELDINIZ

ARAMA YAP

EN COK OKUNANLAR

- Copyright © ELEKTRO-BLOGGER Blogger