Likit (Sıvı) Kristal Ekran (LCD), hesap makinelerindeki küçük görüntü ekranından büyük televizyon ekranlarına kadar çeşitli aygıtların yapımında kullanılır. Sistemlerde LCD ekran kullanmanın ince boyutlu , düşük maliyetli ve gücünün verimli olması gibi çok fazla avantajı vardır. LCD tabanlı küçük ekran modülleri normal durumlarda tüm gömülü aygıtlarda bulunur. LCD basit görünür fakat aslında çalışmasını sağlamak zordur.
LCD sadece gerilim darbeleri, hassas zamanlama ve voltaj düzeyleriyle çalışır. Dolayısıyla, LCD sürücülerin özel çeşitleri LCD’yi çalıştırmak için geliştirilmiştir. Bu tür IC sürücülerin iki veya daha fazlasıyla birlikte LCD ekran formunun LCD modülleri normal durumlarda gömülü sistemlerde bulunur. LCD modül sistemin giriş alabilmesini ve ilgili çıktıyı görüntüleyebilmesini tek başına sağlar. Bu proje, Arduino kartı ile 16×2 LCD ekrana nasıl arayüz oluşturulduğunu gösterilmiştir.
Herhangi bir AVR mikrodenetleyici tabanlı kart standart Arduino taslağını takip eder ve Arduino bootloader ile görülür yani buna Arduino kartı da denebilir. Arduino’nun yaptığı gibi kolayca prototip oluşturmaya yardımcı mevcut başka hiçbir araç yoktur. Arduino kartı yerleşik AVR mikroetleyicisinin çalışmasını sağlamak için gereken tüm devre sistemine sahiptir. Arduino kartını programlamaya gelince, temel c programlama bilgisine sahip herkes kolayca Arduino IDE ile programlamaya başlayabilir. “Arduino’ya Başlarken” videosu Arduino kartına başlamak için gerekli adımları açıklamaktadır. Bu projede kullanılan Arduino kartı Arduino pro-mini kartıdır ve Arduino IDE’nin Windows için 1.0.3 sürümüdür. Arduino pro-mini kartı ve Arduino IDE görüntüsü aşağıdaki gibidir;
Arduino pro-mini kartı devre sistemine sahip olmadığı zamandan beri onunla arayüz oluşturmak için seri port veya bilgisayarın USB portuna, PC ile bağlanmak için harici bir USB /TTL dönüştürücü kartı gereklidir. Bu donanım Arduino kartını programlamaya ve ayrıca bilgisayarın USB portu ile seri haberleşmeye yardımcı olur.
Okuyucunun “Arduino’ya Nasıl Başlanır” projesini okumuş olduğu ve burada tartışılan her şeyi bildiği varsayılır.
Arduino IDE dört bitlik LCD modülüyle arayüz oluşturmaya yardımcı pek çok fonksiyona sahiptir. LCD modülünü başlatmak ve LCD modülünde karakter karakter yazmak için fonksiyonlar vardır. Bu projelerin kodlamasında kullanılan fonksiyonlar lcd.begin () ve lcd.print () ‘tir. Fonksiyonlar <LiquidCrystal.h> kütüphanesinde mevcuttur ve bu işlevleri kullanmaya başlamadan önce başlatma kütüphanesini başlatmak gerekir.
LiquidCrystallcd()
Bu işlev, dört bitlik LCD kütüphanesi başlatmak için çağırılmalıdır ve sonrasında kütüphane fonksiyonları sadece kodla çağırılabilir. Fonksiyonun Arduino kartı ve LCD modülü ile, her bir devre bağlantısını çağırmayı sağlayan altı parametresi vardır. Fonksiyon parametrelerinin detayları aşağıda sırasıyla listelenmiştir. Örneğin; aşağıdaki ifade bir LCD kütüphanesini başlatmak için devreyle yazılmış koddur; RS pimi pim12’ye, etkin pim 11’e ve D4, D5, D6 ve D7 de sırasıyla 5, 4, 3 ve 2’ye kullanılabilir.
Lcd.begin()
Bu fonksiyon, LCD modülü başlatmak için kullanılabilir. Kullanılan ilk parametre LCD modülün satır sayısı, ikinci parametre ise sütun sayısıdır.
Lcd.begin () fonksiyonu 16 * 2 LCD komutu ifadeyi başlatmak için kullanılabilir;
lcd.begin(16, 2);
Yukarıdaki açıklamalar dört bit modunda iki satır ekran modu ile 16 * 2 LCD’yi başlatacaktır. Bu fonksiyon LCD ekranda bir ASCII karakterini veya dizesini görüntülemek için kullanılır. Eğer bir fonksiyon parametresi değer olarak atanıyorsa, bu değeri biçimlendirecek dize görüntülenebilir ve daha sonra onu LCD ekranda gösterir.
Lcd.print () fonksiyonu “Arduino ile nasıl seri hata ayıklama yapılır”, “Arduino ile nasıl seri giriş ve çıkış yapılır” ve “Arduino’dan seri veriler nasıl gönderilir” projelerinde bahsedilen Serial.print ()fonksiyonuna benzer.
Aşağıda gösterildiği gibi lcd.print () fonksiyonu bir dize yazdırmak için kullanılabilir;
lcd.print(“Merhaba Dünya”);
Yukarıdaki açıklama LCD ekrana “Merhaba Dünya” dizesini yazdırır. Eğer değişken değerinin LCD ekrana basılması gerekirse aynı fonksiyonu biçimlendirebilmek için temsil eden ASCII dize değeri kullanılabilir.
lcd.print(100);
Yukarıdaki ifadede 100 değeri lcd.print ()fonksiyonu ile “100” dizesine dönüştürülür ve ardından LCD modül üzerinde görüntülenir.
Kod :
Kod öncelikle LCD modüle erişmek için gerekli tüm fonksiyonlara sahip <LiquidCrystal.h> kütüphanesini içerir. Bu projede kullanılan 16 * 2 LCD modül lcd.begin() fonksiyonu kullanılarak başlatılır. lcd.print () fonksiyonu daha sonra verileri LCD modülde yazdırmak için kullanılır.
// kitaplık kodunu dahil et: #include <LiquidCrystal.h> // Arayüz pim numaraları ile kütüphaneyi başlatın LiquidCrystallcd(12, 11, 5, 4, 3, 2); // LED pimine bir isim verin: int led = 6; void setup() { // LCD'nin sütun ve satır numaralarını yerleştirin: lcd.begin(16, 2); // LCD’ye bir mesaj yazdırın . lcd.print("Elektronikhobi"); //dijital pimi bir çıkış olarak başlatın. pinMode(led, OUTPUT); } void loop() { digitalWrite(led, HIGH); // LEDi yükseltin (HIGH gerilim seviyesidir) delay(1000); // Bir saniye bekleyin digitalWrite(led, LOW); // Gerilimi LOW yaparak LEDi alçaltın delay(1000); // Bir saniye bekleyin }
Kod <LiquidCrystal.h> kütüphanesinde mevcut fonksiyonları kullanarak modülde bir dize görüntüler ve modülü başlatır. Kod “Arduino’ya nasıl başlanır” ve “Arduino’nun dijital giriş ve çıkışı nasıl kullanılır” projelerinde bahsedilen pinMode () ve digitalWrite () fonksiyonlarını kullanarak bir ledi sonsuz döngüde yakıp söndürür.
Devre Şeması:
İlgili Video :