Liquid Crystal Display(LCD) olarak geçen 16 sütün 2 satırdan oluşan ve mavi arkaplan ışıklı bir yazı ve karakter göstergesidir. Üzerinde 16 tane pin bulunmaktadır. Bacak bağlantılarına baktığımızda ;
VSSucu Gnd girişidir. 0 volt negatif gerilime bağlanır. VDD ucu 5 volt pozitif gerilime bağlanır. VE girişi Ekrandaki yazının netliğini ayarlamak için kullanılan giriştir. RS(Register Select) LCD ekranın ne yapacağını, register da bir deger olup olmadığını kontrol eder. R/W(Read/Write) pinlerin modlarını okuma veya yazma olarak değiştirmek için kullanılır. E(Enable) Pinleri okuma modunda aktif hale getirir. D0-D7 Bit bit aldığı değerleri okur. Buradan ekrana yazdırılacak yazılar bit bit gönderilir. LCD de okur. Devremiz görsel amaçlı olarak programda çizilmiş olup sayfaya eklenmiştir.
Devremizde LCD bacak bağlantıları:
LCD RS pin to digital pin 9
LCD Enable pin to digital pin 10
LCD D4 pin to digital pin 2
LCD D5 pin to digital pin 3
LCD D6 pin to digital pin 4
LCD D7 pin to digital pin 5
Malzemeler ve Tavsiye Ürün Linkleri
1 x Arduino UNO R3
1Kohm Potansiyometre
216lık LCD
Breadboard
Devre Programı
[php]
#include <LiquidCrystal.h>
LiquidCrystal lcd(9, 10, 2, 3, 4, 5);
void setup()
{
funduszeue.info(16, 2); //16 sütun 2 satır bir ekranımız olduğunu belirtir.
funduszeue.info("SAKARYA_UNIVERSITESI"); // Ekrana yazı yazdırır.
}
void loop()
{
int f;
for(f=1; 15>f; f++)
{
funduszeue.infosor(f, 1); //Ekranın alt satırına yazı yazdırmak için kullanılır.
delay(); //Gecikme.
funduszeue.info("ROBOTURKA"); // Ekrana yazı yazdırır.
}}[/php]
Devre Videosu
Önceki uygulamalarımızda sonuçları görmek için, sayı tabanlı çıktıları 7 segmentli ekranlara ve diğer verileri de seri haberleşme ile başka cihazlara göndermiştik. Sonuçların kullanıcıya bilgisayar gibi bir ortama gerek kalmadan devre üzerinde göstermek için LCD ekranları kullanabilirsiniz.
LCD ekranın bağlantı kabloları dikkatlice takılmalıdır. Genellikle LCD uygulamalarında yapılan en büyük hata yanlış veya eksik takılan kablolardır. LCD üzerindeki pin sıralaması üretici firmaya göre değişiklik gösterebilir. Bu yüzden devre kurulumundan sonra LCD bağlantıları bir kere daha kontrol edilmelidir.
LCD ekran 5 volt ile çalışmaktadır. VCC ve GND bağlantıları buna göre yapılmalıdır. LCD'nin Vo bağlantısı, ekran üzerinde oluşacak karakterlerin görünürlüğünü ayarlamaktadır. Bu ayar ortama ve üretici firmaya göre değiştiği için Vo pini potansiyometreye bağlanır. Potansiyometrenin diğer iki ucu 5 volt ve GND'ye bağlanır. Böylece potansiyometre ile yazıların görünürlüğü ayarlanabilir. Eğer bu bağlantı düzgün bir şekilde yapılmaz ise ekran üzerinde görüntü oluşmayacaktır.
Yukarıdaki şemaya göre devrenizi dikkatlice kurduktan sonra programlama kısmına geçebilirsiniz. LCD ekrana yazı yazabilmeniz için kullanacağınız karakterler, daha önce Arduino geliştiricileri tarafından tanımlanmıştır. Tanımlanmış karakterleri kullanabilmeniz için öncelikle LCD kütüphanesini 'LiquidCrystal.h' projenize eklemelisiniz. Kütüphane eklendikten sonra LCD'ye bağlanan Arduino pinleri programda belirtilmelidir. Setup fonksiyonu içerisinde LCD türünü de belirttikten sonra LCD ekran kullanıma hazırdır.
Önemli LCD Fonksiyonları:
Aşağıdaki kod ile LCD'yi test edebilirsiniz. Eğer tüm ayarlamalar doğru bir şekilde yapıldıysa, ekranda Arduino'nun çalışma süresi yazacaktır.
Merhaba arkadaşlar, bu uygulamamızda 216 lcd ekran ile sağa sola çarpan yazı uygulamasını yapacağız. Kablo bağlantılarının karmaşık ve çok kablo olmaması için de I2C modülünü kullanacağız. Hemen uygulamamıza geçelim.
Malzeme listesindeki malzemeleri kullanarak devremizi aşağıdaki şemaya uygun olarak kuralım. I2C modülünü kullanmasak devremiz çok karışık olacaktı. Devremizi kurarken hata yapma ihtimalimiz yüksek olduğu için en ufak hatada ekranımız çalışmayacaktı. I2C modülü sayesinde çok kolay bir şekilde ekranımızı kullanabiliyoruz. GND(-) VCC(+) çıkışlarını arduinomuzun GND ve 5V çıkışlarına bağlıyoruz. Modülümüzün SDA çıkışını analog girişlerden olan A4e , SCL çıkışını ise A5 analog girişine bağlıyoruz. Devremiz bu kadar 🙂
I2C modülü kullandığımız için bu modüle ait kütüphaneyi yüklememiz gerekiyor. Kütüphaneyi indirmek için bu linke tıklayabilirsiniz. Linke tıkladıktan sonra bir zip dosyası inecektir. Arduino IDEden yeni bir dosya açarak, Taslak->Library Ekle->.ZIP kitaplığı ekle kısmına tıklayalım. Daha sonra ise indirdiğimiz zip dosyasını seçelim ve OPEN diyelim. Bu şekilde kütüphanemiz yüklenmiş oluyor. Şimdi kod kısmına geçebiliriz.
Kod kısmında ilk önce kütüphanemizi projemize ekliyoruz. Daha sonra LiquidCrystal_I2C türünden bir nesne oluşturuyoruz. Nesnenin adı lcd oluyor ve parametre olarak 0x27,16,2 değerlerini veriyoruz. Buradaki 0x27 değeri I2Cnin haberleşme adresidir. 16 ve 2 değerleri ise ekranımızın 216 olduğunu tanımlamak içindir.
Setup fonksiyonumuzda funduszeue.info() komutu ile lcdyi başlatıyoruz.
Loop fonksiyonumuzda ise yazdır isimli fonksiyonumuzu çağırıyoruz. Bu fonksiyona ilk parametre olarak bir metin veriyoruz, ikinci parametre olarak da yazıyı sağa sola kaydırma yaparken bekleme süresini veriyoruz. Burada önemli olan bir detay var. Süreyi istediğiniz gibi verebilirsiniz ama yazıyı maksimum 16 vermelisiniz. Çünkü lcd ekranımız 16 karakterlik. Yazımızı 16 verirsek sağa sola kayma yapamayacağı için yazımız hareket etmeyecektir. Bu yüzden size tavsiyem 16 dan küçük yazılar girmeniz. Ben örnek olarak Robolink girdim.
Yazdır fonksiyonunu anlatmaya geçmeden önce neden ayrı fonksiyon oluşturma sebebimi anlatmak istiyorum. Direk yazdır fonksiyonunun içindeki kodu loop fonksiyonuna atsak da çalışırdı ama daha düzgün, anlaşılır bir şekilde olması için böyle yaptım. Fonksiyonumuz yukarıda da dediğim gibi bir metin ve süre parametrelerini alıyor. İlk olarak girilen metinin uzunluğunu bulup size isminde bir değişkene aktarıyoruz.
Daha iyi anlamanız için Robolink metni üzerinden örnek vererek anlatmak istiyorum. Uzunluğumuz 8 olarak hesaplandı ve size değişkenine attık. For döngümüz 0 dan başlayarak size yani = 8e kadar gidecektir. Buradaki amaç Robolink metninin sırayla 1er olarak sağa kaydırmaktır. Tam olarak sığması için i değerimiz 0 dan 8e kadar ilerliyor. Yani Robolink metnimiz sağ tarafa dayanmış şekilde oluyor.
For döngümüzün her aşamasında funduszeue.info() ile lcd ekran temizleniyor, funduszeue.infosor() ile lcd ekranda konumlandırma yapıyoruz ve funduszeue.info() ile de konumlandığımız yerden veriyi ekrana yazdırıyoruz. Buradaki funduszeue.infosor() 2 parametre alıyor. İlk parametre yatay olarak konumlanma indisi yani sütun , ikinci parametre ise dikey olarak konumlanma indisi yani satır oluyor. Biz bu örnekte ilk satıra yazacağımız için ikinci parametre kısmını sabit olarak 0 ayarladık. İlk parametremiz de kaydırma işlemi yaptığımız için değişiklik gösteriyor.
İlk for döngümüz sağa doğru kaydırıyor ve ikinci for döngümüze geçiyoruz. Bu for döngüsü de ilk for döngüsünün tam tersi işlemleri yapıyor. Metinimizi sola doğru kaydırıyor. Bu şekilde metin sağa ve sola çarpıyor. Bu uygulamaya kayan yazı uygulaması da denebilirdi ama kayan yazılarda genellikle tek yöne doğru kayma oluyor. Bu uygulamamızda metinimiz iki yönlü olarak hareket ediyor.
Kodları yazdıktan sonra arduinomuzu bilgisayara bağlayıp yükleme işlemini yapabiliriz. Bu sayede sağa sola çarpan yazı uygulamamız gerçekleşmiş olacak.
Yazımı okuduğunuz için teşekkür ederim. Bir sonraki uygulamamızda görüşmek üzere
Yunus Emre EKE
funduszeue.info
Merhabalar ben Yunus Emre Eke. Trakya Üniversitesi Bilgisayar Mühendisliği 4.Sınıf Öğrencisiyim. Uzun süredir yazılım ve elektronik ile uğraşıyorum. Arduino projelerimi paylaştığım instagram sayfasına profilimden göz atabilirsiniz.
LiquidCrystalTUR kütüphanesi nihayetinde hazır, biraz uğraştırdığını söyleyebilirim ancak neticeye de ulaşmış bulunmaktayım. Arduino 'nun ide yüklemesiyle birlikte gelen LiquidCrystal kütüphanesi, print fonksiyonuyla ne yazık ki türkçe karakterleri yazamıyor, bunun yerine custom karakterler tasarlayıp her biri için ayrı birer fonksiyon kullarak çağırmak gerekiyor.
Normal şartlarda bu kütüphaneyi kullanarak print fonksiyonuyla funduszeue.info("Türkçe Yazı"); yazdığınızda karşılaştığınız manzara sol taraftaki gibi olacaktır, ayrıca bu kütüphaneyle ilgili benim gördüğüm bir iki eksiklik daha var, örneğin noDisplay fonksiyonuyla ekranın kapanmasını sağlayabiliyorsunuz, ancak kütüphanenin içinde ve Arduino 'nun resmi sitesindeki referanslarındaki bağlantı şemasını kullandığınızı düşünürsek, sadece ekrandaki görüntü gidiyor ve ışıklar yanmaya devam ediyor. İkincisi de kontrast problemi, kontrastı mutlaka bağladığınız pot üzerinden ayarlamak durumundasınız, peki ya bunu kod tarafında ayarlanabilir yapsaydık? yani eski LCD telefonların olduğu dönemlerden hatırlarsınız: bir kontrast ayarı olurdu ve kullanıcı oradan kontrast seviyesini ayarlayabilirdi, hatta ekran ışığı seviyesi de ayarlanabilirdi. İşte bu iki özellik de düzenlendiğimiz kütüphanenin içinde geliyor, ayarlanabilir kontrast ve arkaplan ışığı seviyesi.
Söz konusu kütüphane 16x2 HD chip kullanan ve A00 Rom a sahip ekranların 4 bit Mode sürülmesi için geçerli, elinizde A02 rom lu bir ekran varsa zaten türkçe karakterleri kullanabiliyor olacaksınız? Acaba öyle mi bundan emin olamadım? ama denemesi bedava : funduszeue.info(); yazdığınızda ö harfi görüyorsanız rom kodunuz A02 demektir, hayır toplam işareti (sum) => Σ görüyorsanız, bu kütüphaneyi kullanabilirsiniz, normal şartlarda LiquidCrystal kütüphanesini kullandığınız bir projede sadece LiquidCrytalTUR kütüphanesini indirip (indirme linki yazının sonunda) projenize include ettiğinizde Türkça karakter özelliğini kullanabiliyor olacaksınız. Zira ayarlanabilir kontrast ve arkaplan ışığını da kullanmak isterseniz bağlantınızda ve kodunuzda ufak değişiklikler yapmanız gerekecek
const int bl = 10, cr = 9, rs = 12, en = 11,d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, bl, cr, d4, d5, d6, d7);
bl değişkeni backligh için seçilmiş, cr değişkeni kontrast için seçilmiş, BL Arduino'nun pinine Cr, de 9. pinine bağlanıyor olacak, tabii ki bunları değiştirebilirsiniz, ancak her ikisi için de PWM pinlerinden birini seçtiğinizden emin olun. Ekran ışığı için ekstra direnç kullanmanıza gerek yoktur.
funduszeue.infoklight(20); fonksiyonuyla ekran ışığı seviyesini 0 ile 30 seviyesi arasında
funduszeue.infostLevel(91); fonksiyonuyla kontrast seviyesini ayarlayabilirsiniz 0 ile arasında ayarlayabilirsiniz benim ekranımda 91 gayet düzgün çalıştı, bu ekrandan ekrana değişkenlik gösterebilir, dolayısıyla deneyerek optimum seviyeyi belirleyebilirsiniz.
Kütüphane en başından bu seviyeye gelene kadar yapılan tüm güncellemeler youtube kanalımda mevzut yanılmıyorsam 7 bölümlük bir seri oldu, izlerseniz size çok şey katacağına eminim. Linkleri ve nasıl kullanıldığına dair videomu aşağıya bırakıyorum. Konuyla alakalı sorunuz/öneriniz olursa yorumlara yazabilirsiniz.
-Herkese kolay gelsin.
indirme linki LiquidCrystalTUR
çamaşır makinesi ses çıkarması topuz modelleri kapalı huawei hoparlör cızırtı hususi otomobil fiat doblo kurbağalıdere parkı ecele sitem melih gokcek jelibon 9 sınıf 2 dönem 2 yazılı almanca 150 rakı fiyatı 2020 parkour 2d en iyi uçlu kalem markası hangisi doğduğun gün ayın görüntüsü hey ram vasundhara das istanbul anadolu 20 icra dairesi iletişim silifke anamur otobüs grinin 50 tonu türkçe altyazılı bir peri masalı 6. bölüm izle sarayönü imsakiye hamile birinin ruyada bebek emzirdigini gormek eşkiya dünyaya hükümdar olmaz 29 bölüm atv emirgan sahili bordo bereli vs sat akbulut inşaat pendik satılık daire atlas park avm mağazalar bursa erenler hava durumu galleria avm kuaför bandırma edirne arası kaç km prof dr ali akyüz kimdir venom zehirli öfke türkçe dublaj izle 2018 indir a101 cafex kahve beyazlatıcı rize 3 asliye hukuk mahkemesi münazara hakkında bilgi 120 milyon doz diyanet mahrem açıklaması honda cr v modifiye aksesuarları ören örtur evleri iyi akşamlar elle abiye ayakkabı ekmek paparası nasıl yapılır tekirdağ çerkezköy 3 zırhlı tugay dört elle sarılmak anlamı sarayhan çiftehan otel bolu ocakbaşı iletişim kumaş ne ile yapışır başak kar maydonoz destesiyem mp3 indir eklips 3 in 1 fırça seti prof cüneyt özek istanbul kütahya yol güzergahı aski memnu soundtrack selçuk psikoloji taban puanları senfonilerle ilahiler adana mut otobüs gülben ergen hürrem rüyada sakız görmek diyanet pupui petek dinçöz mat ruj tenvin harfleri istanbul kocaeli haritası kolay starbucks kurabiyesi 10 sınıf polinom test pdf arçelik tezgah üstü su arıtma cihazı fiyatları şafi mezhebi cuma namazı nasıl kılınır ruhsal bozukluk için dua pvc iç kapı fiyatları işcep kartsız para çekme vga scart çevirici duyarsızlık sözleri samsung whatsapp konuşarak yazma palio şanzıman arızası