16x2 LCD Ekran Kullanımı etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
16x2 LCD Ekran Kullanımı etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Arduino 16x2 (2x16) LCD Ekran Kullanımı | 4bit parallel mode - 16x2 LCD ekran pin bağlantıları

 Birçok projede hem ucuz olması hem de kolay bulunması bakımından 16x2 LCD ekranları kullanıyoruz. Bu yazımızda Arduino ile LCD Ekran Kullanımı 'na bakıyor olacağız. Üzerinde Hitachi 'nin ürettiği HD44780 sürücü entegresi bulunmakta. Aşağıda görselde ekranla birlikte 16x2 LCD ekran pin bağlantıları da verilmiştir.

Arduino 16x2 ekran pinleri

Pin detayları şu şekilde:

  • GND : Ground
  • VCC : +5V
  • Contrast : Ekran kontrastını ayarlamamıza yardımcı olur, bir potansiyometre ile 5V voltaj bölücü şeklinde konfigüre edilerek kullanılabilir, potansiyometrenin kenar uçlarını +5v ve GND ye bağlayıp orta ucu da Contrast pinine bağlayarak kontrast ayarı yapabilirsiniz.
  • RS : Register Select pini, komut mu data mı gönderiyoruz onu seçmemizi sağlıyor LOW durumda instruction (yani komut) HIGH durumda data (yani karakter) gönderiyoruz.
  • RW : Read Write seçimi için kullanılıyor, LOW : write, HIGH : read; ekrandan veri okumayacağımız için direkt olarak GND 'ye bağlayabiliriz.
  • D0-D7 : data pinleri 8 bit mode için tamamı, 4 bit mode için D4,D5,D6,D7 kullanmak yeterli.
  • Backlight(+)(-) : Arkaplan ışıklarının voltaj girişleri 220 Ω bir dirençle kullanılması sağlıklı olur, Backlight(+) pinini PWM pinlerinden birine bağlayarak ışık şiddetini de ayarlayabilirsiniz, bu durumda da direnç kullanmanızı tavsiye ederim, PWM %100 duty 'ye ulaştığında ledleriniz bozulabilir.



16x2 LCD ekran arduino bağlantısı
16x2 LCD Ekran Arduino Bağlantı Şeması

Yukarıda bulunan şemadaki bağlantıları gerçekleştirdikten sonra kodumuza geçebiliriz. Bu ekran için herhangi bir kütüphane yüklemenize gerek yok, Arduino IDE kurulumuyla birlikte LiquidCrystal kütüphanesi geliyor.

Ekranımızı denemek için aşağıdaki örnek kodu yükleyebiliriz :

// include the library code:
#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis() / 1000);
}

Kodumuzu yükledikten sonra eğer 16x2 ekrana görüntü gelmiyorsa bu potansiyometrenin ayarsızlığından olabilir, potansiyometrenizi her iki tarafa da çevirerek görüntü alabiliyor musunuz denemenizi tavsiye ederim.

Kütüphanenin bazı fonksiyonlarına kısaca bakacak olursak:

LiquidCrystal lcd(rs, en, d4, d5, d6, d7); lcd nesnesini başlatır.
lcd.begin(16, 2); ekranı başlatır 16 ve 2 ekranımızın sütun ve satır numaralarıdır.
lcd.setCursor(0, 1);  imleçi pozisyonlar ilk parametre sütun ikinci parametre satır, 
yandaki parametreler için imleç 0. sütün 1. satırda yer alacak.
lcd.print("hello, world!"); ekrana bizim için hello, world! yazar, bir metin yazmak
istediğimizde bu fonksiyonu kullanabiliriz.

Diğer örneklere Arduino IDE -> Dosya -> Örnekler -> LiquidCrystal menüsünden ulaşabilirsiniz.
Ancak IDE ile gelen LiquidCrytal Kütüphanesi Türkçe karakterleri desteklemiyor. 16x2 LCD ekran Türkçe karakter kullanımı için yazmış olduğum kütüphaneyi aşağıdaki linkten indirerek aynı fonksiyonlarla kullanabilirsiniz.


Kütüphanenin tüm fonksiyonlarını detaylı incelediğim Youtube videom


Keyifli seyirler dilerim


Türksat Saat Kanalı ve IRIG-B Time Code

Türksat Saat Kanalından Saat Bilgisi Nasıl Alınır? Uyduda kanalları dolaşırken, şu Türksat Saat kanalı hep dikkatimi çekmiştir. Özellikle  S...