Arduino’nun en heyecan verici modüllerinden biri de LCD ekranlardır. Bu yazıda LCD ekranların ne olduğunu, inceliklerini ve Arduino’ya nasıl bağlandıklarını öğreneceğiz.
Seri Port Ekranı aracılığıyla Arduino üzerinden okuma yapabiliyoruz elbette, ancak LCD ekranlar bizi bilgisayara bağlı olma zorunluluğundan kurtarıyor. Böylece dijital termometre gibi projeler yapabiliyoruz.
LCD ekranların en uygun fiyatlı ve kolay bulunan modeli 16×2 adı verilen modeldir. Bu modeller karakter LCD olarak da adlandırılırlar. Çünkü her biri 16 karakter gösterebilen 2 satırdan oluşur. 16 karakter 4 satır veya 20 karakter 2 satır gibi nadir farklı modellerini de bulmak mümkün. 16×2 çoğu proje için yeterlidir ve ucuz şekilde tedarik edilebilir.
Kullanıma hızlıca devre kurulumu ile başlayalım. Aşağıdaki resme baktığımızda LCD ekranın Arduino’ya bağlanmasının oldukça zorlu bir iş olduğunu görebiliyoruz. Bolca kablo bağlandığı yetmiyormuş gibi bir de potansiyometre kullanmak zorundayız.
Bir diğer sorun da satın aldığımız LCD ekranın pin bağlantılarının lehimlenmemiş olasılığının çok yüksek olması. Yani resimde breadboard’a bağlanan LCD pinleri hiç yerinde olmayabilir. Satın almadan önce satıcıya bunu özellikle sormak gerekiyor. Pinleri lehimli gelmiyorsa LCD ekran ile birlikte 1×40 2.54mm erkek pin header da satın alıp kendimiz lehimlememiz gerekiyor.
Gelelim LCD ekranın temel bağlantılarına. Arduino’ya doğrudan bağlanan LCD pinleri D4, D5, D6, D7, RS ve E‘dir. VSS GND bağlantısı, VDD ise 5V bağlantısıdır. Ek olarak RW pini de GND’ye bağlanıyor.
LCD ekranların aydınlatma LED’leri de bulunuyor. En sağda bulunan A ve K pinleri bu LED’in anot ve katot bağlantıları. Çoğu Arduino LCD ekran projesinde bu LED için bir koruma direnci kullanmamız gerektiği anlatılıyor. Ancak çoğu LCD ekranın üzerinde bu koruma direnci yer alıyor. Bu yüzden A pinini doğrudan 5V’ye, K pinini ise GND’ye bağlamamız yeterli.
LCD ekran kullanımı bununla da bitmiyor. Ekranın kontrast değerini ayarlamamız gereken bir potansiyometreye de ihtiyacımız var. Bu pot gerilim bölücü olarak bağlanıyor ve 1K-22K Ohm arasındaki herhangi bir pot kullanabiliriz. Potun dış bacakları biri 5V’ye, diğeri GND’ye bağlanıyor ve ortadaki bacak ise LCD ekranın V0 pinine bağlanıyor.
Devreyi kurup, sketch’i yükleyip çalıştırdığımızda büyük ihtimalle ekranda hiçbir şey göremeyeceğiz. Yapmamız gereken ilk iş potansiyometreyi ayarlayarak bu kontrast değerini değiştirmek olmalı.
LCD ekranları Arduino’da çalıştırabilmek için bir kütüphane kullanmamız gerekiyor. Bunun için ek bir kütüphane indirmemize gerek yok. Arduino içinde dahili olarak gelen LiquidCrystal kütüphanesini kullanabiliyoruz.
Aşağıdaki sketch LCD ekranda Merhaba! yazarken alt satırda Arduino’nun açık olduğu süreyi sayıyor.
Arduino’da iyi olmak için öncelikle elektronikte iyi olmak gerekir. Türkiye’nin en iyi temel elektronik eğitim seti ARDUINO ÖNCESİ TEMEL ELEKTRONİK EĞİTİM VE DENEY SETİ‘ni keşfedin. Gereksiz bilgilerden arındırılmış basit ve eğlenceli anlatımla ELEKTRONİK öğrenin ve Arduino’ya METE HOCA farkıyla güçlü başlayın!
Sketch kodunu kopyalamak için pencerenin sağ üst köşesindeki butona tıklayabilir veya buraya tıklayarak ZIP dosyası olarak indirebilirsiniz.
Arduino LCD ekran kütüphanelerinde Türkçe karakterler desteklenmez. LCD ekranlarda Türkçe karakterleri de görüntüleyen kütüphane alternatifi için tıklayın.
Arduino gibi her şeyin kullanımının aşırı kolay olduğu bir ekosistemde LCD ekran kullanımı bu kadar zor olmamalı! Bu sorunun çözümü elbette bulunmuş durumda. Bunu da sıradaki yazıda inceleyeceğiz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
/* Arduino'ya 16x2 LCD Ekran Nasıl Bağlanır? 16x2 LCD ekranın detaylı açıklaması ve örnek projelerini web sitemizde bulabilirsiniz. Mete Hoca https://www.metehoca.com/ */ #include <LiquidCrystal.h> // Kütüphaneyi ekliyoruz // Burada kütüphaneye LCD ekranın Arduino'nun hangi // pinlerine bağlı olduğunu söylüyoruz. int RS = 8, E = 9, D4 = 4, D5 = 5, D6 = 6, D7 = 7; LiquidCrystal lcd(RS, E, D4, D5, D6, D7); // Diğer pinler: // VDD ve A=5V, VSS,RW ve K=GND // V0 ise iki uç bacakları 5V ve GND'ye bağlı // olan bir potansiyometrenin orta bacağına void setup() { lcd.begin(16, 2); // LCD'nin satır ve sütun sayısı belirtiliyor lcd.setCursor(0, 0); // İmleç 0. sütun ve 0. satıra getiriliyor lcd.print("Merhaba!"); // LCD'ye mesaj gönderiliyor lcd.setCursor(0, 1); // İmleç 0. sütun ve 1. satıra getiriliyor lcd.print("00:00"); // LCD'ye mesaj gönderiliyor } void loop() { // Ekranda öylece duracak yazılar için loop bölümüne ihtiyacımız yok. // Ancak bu örnekte burası boş kalmasın istedik. Bu yüzden // Arduino açıldığından itibaren sayan bir sayaç ekledik. for (int x = 0; x <= 5; x++) { lcd.setCursor(1, 1); lcd.print(0); lcd.setCursor(0, 1); lcd.print(x); for (int x = 0; x <= 9; x++) { lcd.setCursor(3, 1); lcd.print(0); lcd.setCursor(1, 1); lcd.print(x); for (int x = 0; x <= 5; x++) { lcd.setCursor(4, 1); lcd.print(0); lcd.setCursor(3, 1); lcd.print(x); for (int x = 0; x <= 9; x++) { lcd.setCursor(4, 1); lcd.print(x); delay(1000); } } } } } |