5110 LCD’ nin genel özellikleri ve LCD5110_Basic.h kütüphanesi kullanılarak Arduino uygulaması dersi için tıklayınız. Bu derste 5110 LCD ekranına çizgi, daire, dikdörtgen vb. şekillerin çizilmesi anlatılmaktadır.
Malzemeler
- 1 adet Arduino
- 1 adet 5110 LCD
- 5 adet 10K direnç
- 1 adet 1K direnç
Bağlantı şeması
Kaynak kod
Arduino için LCD5110_Graph kütüphanesini indirmek için tıklayınız.
LCD5110_Graph.h kütüphanesindeki fonksiyonların kılavuzu için tıklayınız.
#include <LCD5110_Graph.h> LCD5110 lcd(8,9,10,11,12); extern uint8_t SmallFont[]; extern uint8_t MediumNumbers[]; void setup() { lcd.InitLCD(); lcd.setContrast(68); } void loop() { lcd.clrScr(); lcd.drawRect(0,0,83,23); // Ekrana bir dikdörtgen çiz lcd.drawLine(1,28,1,33); // Ekrana bir çizgi çiz lcd.setFont(SmallFont); lcd.print("hbmacit.com", CENTER, 0); lcd.setFont(MediumNumbers); int sayi = 0; lcd.printNumI(sayi, CENTER, 24); lcd.update(); }
LCD’ nin Arduino’ ya bağlandığı data pinleri
LCD5110(SCK, MOSI, DC, RST, CS)
sıralamasıyla gösterilir. Kaynak kodda, lcd adında bir nesne, sırasıyla pin numaralı yazılarak
LCD5110 lcd(8,9,10,11,12)
şeklinde tanıtılmıştır.
LCD’ de gösterilecek yazı tipleri önceden programa eklenir. Karakterler için küçük yazı tipi
extern uint8_t SmallFont[]
ve rakamlar için orta boy yazı tipi
extern uint8_t MediumNumbers[]
komutları ile programa eklenir.
lcd.InitLCD()
komutu ile LCD başlatılır.
lcd.setFont(SmallFont)
ve lcd.setFont(MediumNumbers)
komutları ile programın bundan sonrasında kullanılacak yazı tipi seçilir. Bir sonraki komut gelene kadar ekranda seçilen yazı tipi ile yazdırılır.
lcd.clrScr()
komutu ile lcd ekran temizlenir.
lcd.print(metin, x_koordinat, y_koordinat)
komutu ile ekranın istenilen konumundan başlatılarak bir metin yazdırılır. x ve y koordinatları sayısal olarak girilebileceği gibi CENTER (ortala), LEFT (sola yasla) ve RIGHT (sağa yasla) parametrelerini alabilir. Yukarıdaki kaynak kodda
lcd.print("Hello World!", CENTER, 12)
komutu ile 12.satırı ortalayarak Hello World! yazılmıştır. Benzer şekilde
lcd.printNumI(sayi, x_koordinat, y_koordinat)
komutu ile tamsayı bir değişken ekrana numerik olarak yazdırılabilir.
lcd.update()
komutu ile ekran güncellenir. Ekranda bir değişiklik planlandıktan sonra bu komutun kullanılması gerekir.
lcd.fillScr()
komutu ile ekrandaki tüm pikseller siyaha boyanır.
lcd.setPixel(x, y)
komutu ile koordinatları verilen piksel siyaha boyanır. Örneğin
lcd.setPixel(7, 12)
komutu ile 8. sütun 13. satırdaki piksel siyaha boyanır. (LCD’ nin pikselleri sol üst köşeden itibaren sayılır ve ilk pikselin koordinatları (0,0) dır. Bu nedenle (7,12) koordinatı verildiğinde 8. sütun 13. satırdaki piksele işlem yapılır. )
clrPixel(x, y)
komutu ile verilen x, y koordinatındaki piksel beyaza döndürülür.
drawLine(x1, y1, x2, y2)
komutu ile x1, y1 koordinatındaki pikselden x2, y2 koordinatındaki piksele bir çizgi çekilir. Örneğin ekranın ekranın sol üst köşesindeki pikselden sağ alt köşesindeki piksele bir çizgi çekmek için aşağıdaki komut kullanılır;
lcd.drawLine(0,0,83,47)
clrLine(x1, y1, x2, y2)
komutu ile x1, y1 pikselinden x2, y2 pikseline kadar çizgi şeklinde tüm pikseller temizlenir. Örneğin bir önceki adımda köşeden köşeye çizilen çizgiyi silmek için aşağıdaki komut kullanılabilir;
clrLine(0, 0, 83, 47)
drawRect(x1, y1, x2, y2)
komutu ile bir köşesi x1, y1 pikseline ve bu köşenin çaprazındaki köşesi x2, y2 pikseline denk gelecek şekilde bir dikdörtgen çizilir.
clrRect(x1, y1, x2, y2)
komutu ile bir köşesi x1, y1 pikseline ve bu köşenin çaprazındaki köşesi x2, y2 pikseline denk gelecek şekilde bir dikdörtgen silinir.
drawRoundRect(x1, y1, x2, y2)
komutu ile bir köşesi x1, y1 pikseline ve bu köşenin çaprazındaki köşesi x2, y2 pikseline denk gelecek şekilde köşeleri yuvarlatılmış bir dikdörtgen çizilir.
clrRect(x1, y1, x2, y2)
komutu ile bir köşesi x1, y1 pikseline ve bu köşenin çaprazındaki köşesi x2, y2 pikseline denk gelecek şekilde köşeleri yuvarlatılmış bir dikdörtgen silinir.
drawCircle(x1, y1, r)
komutu ile merkez noktası x1, y1 pikseli ve çapı r olan bir daire çizilir. Örneğin;
drawCircle(41, 23, 10)
komutu ile ekranın tam ortasına çapı 10 piksel olan bir daire çizilir.
clrCircle(x1, y1, r)
komutu ile merkez noktası x1, y1 pikseli ve çapı r olan bir daire silinir.