Arduino İle LCD Kullanımı

Arduino programlamada önemli konulardan biride LCD kullanımıdır. LCD’ler uygulamış olduğumuz programın veya devrenin dış dünyaya açılan penceresi gibidir. Yaptığımız uygulama içerisinde gerçekleşen durumlardan kullanıcının bilgisi olması sağlanabilir veya çalışma aşamalarının ekrana yansıtılması ile program basamakları kontrol edilebilir. Bu şekilde sağlıklı projeler gerçekleştirilebilir. Ayrıca kullanıcıya seçenekler sunan menü hazırlanarak ekrana yazdırılır ve yine kullanıcının bunlar arasından butonlar aracılığıyla tercihler yapması sağlanabilir.

Piyasada karakter LCD’lerin birçok çeşidi bulunmaktadır. Nadiren pin bağlantılarında farklılık olsa da çoğu aynı şekilde kullanılmaktadır.

Karakter LCD kullanım aşaması üç aşamada gerçekleştirilebilir.

1- LCD pin bağlantılarının yapılması

2- Program üzerinde pin isimlerinin tanıtılması

3- LCD ile ilgili komutların kullanılarak ekrana dilediğimiz sayı ya da karakterlerin yazdırılması

Şimdi birlikte bu aşamaları üzerinde detaylı durarak gerçekleştirelim;

1- LCD pin bağlantılarının gerçekleştirilmesi:

16x2 LCD

Genellikle piyasada bulunan LCD çeşidi yanda görülmektedir. Pin isimleri sırasıyla verilmiştir. şimdi birlikte pinleri ve ne işe yaradıkları üzerinde duralım.

1- Vss pini LCD’nin ve LCD sürücü devresinin Ground yani şase denilen (-) pinidir ve Arduino kartın Gnd pini ile birleştirilmelidir.

2- Vdd, LCD’nin (+) pozitif besleme ucudur. Bu pine harici bir kaynaktan +5V ya da Arduino üzerinde bulunan +5V çıkışlarından herhangi birinden alınarak enerji giriş sağlanabilir.

3- Vee pini LCD ekranın kontrast ayarı (bir evi netlik/yoğunluk diyebileceğimiz) yapılan pinidir. Bu pine bir adet potansiyometre bağlanır. Bağlantı ise üç pine sahip olan potansiyometrenin ortada bulunan pini LCD’nin Vee pinine bağlanır. diğer iki pinden biri Gnd ucuna, diğeri ise +5V besleme ucuna bağlanır. daha sonra ise LCD çalıştırıldığında potansiyometre ile kontrast ayarı yapılabilir.

4- RS, register select isimlerinin kısaltması olarak kullanılır. Bu pin LCD’ye veri gönderildiğinde LCD sürücü devresinde bulunan kaydedicileri aktif etmek sinyal gönderilir. Tabi biz bu pini Arduino üzerinde belirlediğimiz pine bağladıktan sonra otomatik olarak yapılacaktır bizim herhangi bir kontrolümüz olmayacaktır. NOT: RS pinini Arduinonun hangi pinine bağladıysak bunu Arduino programı içerisinde belirtmemiz gerekecektir. bu konudan da bahsedeceğim.

5-  R/W, bu pin LCD ekrana veri yazdırma veya ekran içerisinde ki registerden veri okuma işlemlerinde seçme pini olarak kullanılır. Tabi tek fonksiyon kullanılacağı için bu pini Arduino üzerinde herhangi bir yere bağlamıyoruz. Bu pin Gnd’ye bağlanır.

6- E adı verilen bu pin Enable/izin kelimesinin kısaltmasıdır. Bu pinde LCD’ye veri alış verişi için izin isteme amacıyla kullanılır. Ancak yine bizim herhangi bir kontrolümüz olmayacaktır. Yapmamız gereken sadece bu pini Arduinonun hangi pinine bağladığımızı Program içerisinde belirtmektir.

7-14- Pinlei arası 8 bit data pinleridir. Bunlardan 4 tanesi kullanılacaktır. Daha doğrusu yeterli olmaktadır. 7. pin D0, 8. pin D1, 9. pin D2, 10. pin D3, 11. pin D4, 12. pin D5, 13. pin D6, 14. pin D7 pinidir. Bu pinlerden kullanılacak olanlar; D4, D5, D6, D7 pinleridir.  Yine daha önce de söylendiği gibi bu bağlanacak olan 4 adet pini de Arduino program yazımında belirtmemiz gerekmektedir.

 

2- Program üzerinde pin isimlerinin tanıtılması:

Yukarıda belirtildiği gibi LCD bağlantılarının yapılmasından sonra hangi pinlerin Arduino üzerinde nerelere bağlanacağı hususu gelmektedir. Arduino üzerine bağlantısı yapılmayan pinler yukarıda belirtilmiştir. Yani 1. pin Vss(Gnd), 2. pin Vdd (+5V), 3. pin Vee (pot), 5. pin R/W (Gnd) pinleridir. Bunların dışında kalanlarda sırasıyla;

LCD üzerindeki 4. pin RS,  Arduino üzerinde 7. pine

LCD üzerindeki 6. pin E Arduino üzerinde 8. pine

LCD üzerindeki 7. 8. 9. 10. pinler kullanılmayacaktır.

LCD üzerindeki 11. pin D4, Arduino üzerinde 9. pine

LCD üzerindeki 12. pin D5, Arduino üzerinde 10. pine

LCD üzerindeki 13. pin D6, Arduino üzerinde 11. pine

LCD üzerindeki 14. pin D7, Arduino üzerinde 12. pine

bağlantıları yapılacaktır. Bu şekilde bağlantılar yapıldıktan sonra Arduino program ekranında (sketch) üzerinde ilk olarak, library

sekmeleri tıklanarak aşağıdaki satırın ekrana gelmesi sağlanır. Bu şekilde LCD ile ilgili olan kütüphane programımıza dahil olmuş olacaktır. Aksi takdirde LCD komutları için hata uyarısı alabilirsiniz.

#include <LiquidCrystal.h>

Kütüphane dosyası da eklendikten sonra bazı konfigirasyon ayarlarının yapılması gerekmektedir. Bunlar pinlerin Arduinoya tanıtılmasıdır.

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

Yukarıdaki komut satırını yazarak sırasıyla RS,E,D0,D1,D2,D3 bu pinlerin bağlanacağı pinleri belirtmiş oluruz.

Aşağıdaki komut satırı da setup bloğu içerisinde yer almalıdır. lcd.begin komutu kullanılacak LCD’nin sütun,satır sayılarını Arduinoya tanıtmak için kullanılır.

void setup(){

                      lcd.begin(16,2);

                     }

Bu tanımlama da yapıldıktan sonra LCD’ye yazı yazdırma işlemlerine geçilebilir.

3- LCD ile ilgili komutların kullanılarak ekrana dilediğimiz sayı ya da karakterlerin yazdırılması:

Aşağıdaki komut satırlarında öncelikle lcd.clear() komutu ile ekran tümüyle temizlenir. loop() döngüsü her tekrar ettiğinde clear komutu işletilir ve temizlenir. Burada dikkat edilecek nokta, sürekli ekrana yazılar yazılıp tekrar tekrar silindiğinden, ekrana yazılar basıldıktan sonra delay() komutu ile gecikme yapılmadığında yazılarda titremeye (yazının görünüp kaybolması) sebep olmaktadır.

lcd.setCursor(sütun,satır); bu komut ekrana herhangi bir yazı yazdırmadan önce yazının başlayacağı noktayı tanımlamak için kullanılır.

lcd.print(“-YAZDIRILACAK METIN-“); bu komut ise ekrana yazı yazdırmak için kullanılır. Ekranda görülmesini istediğimiz karakterleri/yazıları ise parantezler arasında bulunan tırnak işaretlerinin arasına yazılır.

void loop(){

lcd.clear();

lcd.setCursor(0,0);

lcd.print(“LCD Kullaniyorum”);

lcd.setCursor(0,1);

lcd.print(“dudigan”);

delay(1000);

}

Yukarıdaki gibi komutlar kullanıldığında istediğimiz yazıları ekran üzerinde görebiliriz.

Bir Cevap Yazın

%d blogcu bunu beğendi: