LCD ekranlar kullanılarak bir çok projeyi gerçekleştirmek mümkündür. Arduino ile LCD ekran kullanarak ister takvim saat projeleri yapın isterseniz menülerden oluşan projeler yapın. LCD ekranlara yazdırabileceğiniz bilgi yada ayarları içeren bilgilerle projelerinizi geliştirebilirsiniz.
LCD EKRAN NEDİR?
LCD, Liquid Crystal Display yani Sıvı Kristal Ekran elektrikle kutuplanan sıvının ışığı tek fazlı geçirmesi ve önüne eklenen bir kutuplanma filtresi ile gözle görülebilmesi ilkesine dayanan bir görüntü teknolojisidir.
LCD lerde bulunan sıvı kristaller sıcaklığa ve madde yapısına göre termotropik ve liyotropik fazlarda bulunabilirler. Nematik sıvı kristaller, LCD lerin yapılmasını mümkün kılan sıvı kristal fazıdır. LCD lerin yapılabilmesi için ışık polarize edilebilmeli, sıvı kristaller polarize edilmiş ışığı geçirebilmeli, sıvı kristallerin molekül dizilimi elektrik akımı ile değiştirilebilmeli ve elektriği ileten bir yapıya sahip olunmalıdır.
LCD panelleri robot projelerinde ya da otomasyon projelerinde kullanmak için bilgisayarınızın seri ya da parelel portundan veya bir PIC mikrodenetleyici kullanarak kontrol edebilirsiniz. LCD paneller piyasada satır ve sütun sayılarına göre 1×8, 2×8, 1×16, 2×16, 1×20, 2×20, 1×40 ve 2×40 gibi farklı boyutlarda bulunmaktadır. Bunlar arasında robot projelerinde yaygınlıkla 2×16 boyutlarındaki LCD paneller kullanılmaktadır.
LCD Pinleri | Fonksiyonları |
1) Vss | Toprak (Ground) |
2) Vcc | +5 V |
3) VEE | Kontrast |
4) RS | Register Select |
5) RW | Read / Write |
6) E | Enable |
7 – 14) D0 – D7 | Data girişleri |
15) BL+ | Arka panel ışığı pozitif ucu |
16) BL – | Arka panel ışığı negatif ucu |
VEE : Kontrast girişine bağlanan direnç ile LCD panelin kontrastı ayarlanabilir. Direnç değeri yükseldikçe kontrast düşer, azaldıkça ise kontrast yükselir.
RS : Lcd ye komut mu yoksa data mı gönderileceğini belirler. RS girişi “0” (ground) durumundayken komut saklayıcısı, +5V oldugundaysa veri saklayıcısı seçilmiş olur.
RW : Lcd den okuma mı yoksa lcd ye yazma yapılacağını belirler. RW girişi toprağa bağlandığında yani “0” durumundayken LCD yazma modundadır.
E : Enable ucu LCD ve pinler arasındaki gerçek veri alışverişini sağlayan bacaktır. Bu girişi mikrodenetleyiciye program aracılığıyla tanıttıktan sonra PIC kendisi veri gönderileceği zaman bu bacaga enable pulsu gönderir.
D0 – D7 : Data hattı olan bu pinler doğrudan mikrodenetleyicinin bir portuna bağlanır. Veri 4 ya da 8 bitlik veri yolu ile gönderilebilir.
LCD lerin kontrolü için farklı programlama dillerini kullanabilirsiniz. Aşağıdaki tabloda örnek olarak Pic Basic dilinde LCD kontrolü için kullanılan bazı komutların listesi verilmiştir. LCD ‘nin verileri göstermeye başlaması kısa bir zaman aldığı için bir LCD ‘ ye ilk komutu göndermeden önce programda en az 0,5 saniye bekleme yapılmalıdır.
Komut | Fonksiyon |
$ FE,1 | Ekranı temizler. |
$ FE,2 | Satır başına dönülür. |
$ FE, $ 0C | Kursörün gözükmemesini sağlar. |
$ FE, $ 0E | Kursörü alt çizgi haline getirir. |
$ FE, $ 0F | Kursörü yanıp söner hale getirir. |
$ FE, $ 10 | Kursörü bir karakter sola getirir. |
$ FE, $ 14 | Kursörü bir karakter sağa getirir. |
$ FE, $ c0 | Kursörü 2. satırın başına getirir. |
LCDOUT | LCD ye istenilen veriyi göndermek için kullanılır. |
Biz sizlerle Arduino uno r3 kullanarak 2×16 lcd ekrana yazı yazdıracağız.
//Görsel İşitsel Teknoloji Kanalı
//wwww.teknikerler.com
//Kerim Arı Youtube kanalı 2x16 LCD Kodları - kullanımı örnek Kodları
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
lcd.setCursor(1,0);
lcd.print("2x16 LCD EKRAN");
lcd.setCursor(3,1);
lcd.print("KULLANIMI");
delay(3000);
lcd.clear();
}
void loop() {
lcd.setCursor(5,0);
//lcd.clear();
//lcd.home();
lcd.display();
lcd.print("GORSEL");
lcd.setCursor(4,1);
lcd.print("ABONE OL");
delay(1000);
lcd.setCursor(4,0);
lcd.print("iSiTSEL");
lcd.setCursor(4,1);
lcd.print("ABONE OL");
delay(1000);
lcd.setCursor(3,0);
lcd.print("TEKNOLOJi");
lcd.setCursor(4,1);
lcd.blink();
lcd.print("ABONE OL");
delay(1000);
lcd.clear();
}