Menu
Sepet

1602 LCD Kullanımı

PCB rehberleri · Sensör ve modüller

1602 LCD Kullanımı

Okuma süresi: yaklaşık 4 dkHazırlayan: Elektromall Teknik Ekibi Yayın: 28 Eylül 2026Güncelleme: 20 Ekim 2026

Kısa cevap 1602 LCD Arduino'ya nasıl bağlanır?

1602 LCD 4 bit modda RS, E ve D4 – D7 pinleriyle Arduino'ya bağlanır; RW toprağa, V0 kontrast için 10 kΩ potansiyometrenin orta ucuna bağlanır. LiquidCrystal kütüphanesiyle begin(16, 2) ve print() kullanılır. I2C adaptörlü modüllerde yalnızca VCC, GND, SDA ve SCL bağlanır; adres genellikle 0x27 veya 0x3F'dir.

1602 karakter LCD, 16 sütun ve 2 satır metin gösterebilen, HD44780 uyumlu bir ekrandır. Sıcaklık, menü, sayaç ve durum bilgisi göstermek için yıllardır en çok tercih edilen ekranlardan biridir. Bu rehberde 1602 LCD'nin pinlerini, paralel (4 bit) bağlantıyı, kontrast ayarını, I²C adaptörüyle yalnızca iki kabloyla kullanımını ve örnek kodları anlatıyoruz.

Pinler

PinAdGörev
1VSSGND
2VDD+5 V
3V0Kontrast (10 kΩ potansiyometrenin orta ucu)
4RSKomut / veri seçimi
5RWOkuma/yazma — yalnızca yazma için GND'ye
6EEtkinleştirme (enable)
7 – 14D0 – D7Veri; 4 bit modda yalnızca D4 – D7 kullanılır
15 – 16A / KArka ışık LED'i (+ / −); A ucuna genellikle 220 Ω seri direnç

Paralel (4 bit) bağlantı

RS → D12, E → D11, D4 → D5, D5 → D4, D6 → D3, D7 → D2; RW → GND. V0'ı 10 kΩ potansiyometrenin orta ucuna, potansiyometrenin uçlarını 5 V ve GND'ye bağlayın. İlk açılışta ekran boş görünüyorsa sorun çoğu zaman kontrasttır: potansiyometreyi, üst satırda dolu kutucuklar görünene kadar çevirin.

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);   // RS, E, D4, D5, D6, D7

void setup() {
  lcd.begin(16, 2);
  lcd.print("Elektromall");
}

void loop() {
  lcd.setCursor(0, 1);                     // 2. satırın başı
  lcd.print("Sure: ");
  lcd.print(millis() / 1000);
  lcd.print(" sn   ");
  delay(250);
}

I²C adaptörüyle iki kablo

PCF8574 tabanlı I²C adaptör kartı LCD'nin arkasına lehimlenir ve bağlantıyı dört kabloya indirir: VCC, GND, SDA (Uno'da A4), SCL (A5). Kontrast ayarı adaptör üzerindeki trimpottan yapılır. Adaptörün adresi genellikle 0x27 veya 0x3F'dir; emin değilseniz bir I²C tarayıcı kodu çalıştırın.

// Kütüphane: "LiquidCrystal I2C" (Frank de Brabander)
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  lcd.init();
  lcd.backlight();
  lcd.print("Merhaba!");
}

void loop() {}

I²C hattındaki pull-up dirençleri adaptörün üzerindedir; uzun kablolarda veya çok cihazlı hatlarda değerleri I²C pull-up hesaplama aracıyla kontrol edin.

Türkçe karakterler

HD44780'in dahili karakter tablosunda ç, ğ, ı, ö, ş, ü yoktur. lcd.createChar() ile en fazla 8 özel karakter tanımlanabilir; bu yöntemle Türkçe harfler çizilebilir.

Bu yazıda kullanılan ürünler

I²C adresini bulma: tarayıcı taslağı

I²C adaptörlü ekranların adresi genellikle 0x27 veya 0x3F'dir. Emin değilseniz şu taslak bağlı cihazların adreslerini seri monitöre yazar:

#include <Wire.h>

void setup() {
  Wire.begin();
  Serial.begin(9600);
  Serial.println("I2C taraniyor...");
  for (byte adr = 1; adr < 127; adr++) {
    Wire.beginTransmission(adr);
    if (Wire.endTransmission() == 0) {
      Serial.print("Cihaz bulundu: 0x");
      Serial.println(adr, HEX);
    }
  }
}

void loop() {}

Türkçe karakterler: özel karakter tanımlama

HD44780 denetleyicisinde Türkçe harflerin çoğu yoktur; ancak 8 özel karakter belleği vardır. ğ, ş, ı, İ gibi harfleri 5×8 piksel olarak tanımlayabilirsiniz:

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

byte g_[8] = {0b10001, 0b01110, 0b01111, 0b10001, 0b10001, 0b01111, 0b00001, 0b01110}; // ğ
byte s_[8] = {0b00000, 0b01110, 0b10000, 0b01110, 0b00001, 0b11110, 0b00100, 0b01100}; // ş
byte i_[8] = {0b00000, 0b00000, 0b01100, 0b00100, 0b00100, 0b00100, 0b01110, 0b00000}; // ı
byte I_[8] = {0b00100, 0b00000, 0b01110, 0b00100, 0b00100, 0b00100, 0b01110, 0b00000}; // İ

void setup() {
  lcd.init();
  lcd.backlight();
  lcd.createChar(0, g_);
  lcd.createChar(1, s_);
  lcd.createChar(2, i_);
  lcd.createChar(3, I_);
  lcd.setCursor(0, 0);
  lcd.print("Ba");  lcd.write(byte(0));  lcd.print("lant");  lcd.write(byte(2));  // Bağlantı (ğ ve ı)
}

void loop() {}

Güç bütçesi

Ekran denetleyicisi yaklaşık 1 – 2 mA çeker; asıl tüketim arka ışıktadır (tipik olarak 5 V'ta 20 – 40 mA). Pille çalışan projelerde arka ışığı kapatmak (lcd.noBacklight()) veya PWM ile kısmak pil ömrünü belirgin biçimde uzatır. Örneğin 1000 mAh'lik pille yalnızca ekran ve arka ışık için yaklaşık 25 – 40 saat ömür beklenir.

Sorun giderme tablosu

BelirtiOlası nedenÇözüm
Yalnızca ilk satırda kutularKontrast ayarı yüksek, başlatma eksikAdaptördeki trimpotu çevirin; lcd.init() çağrıldığından emin olun
Hiçbir şey görünmüyor, arka ışık yanıyorYanlış I²C adresiTarayıcı taslağıyla adresi bulun (0x27 / 0x3F)
Metin bozukBesleme gerilimi düşük, kablo uzun5 V besleyin, kabloyu kısaltın
Türkçe harfler yanlışDahili yazı tipi Türkçe harfleri içermezÖzel karakter tanımlayın (yukarıdaki örnek)

Sıkça sorulan sorular

Ekranda yalnızca kutucuklar görünüyor, neden?

Ekran enerji alıyor ama başlatılmamış. Pin tanımlarını ve kablo bağlantılarını kontrol edin; I²C'de adres yanlış olabilir.

Ekran hiç görünmüyor ama arka ışık yanıyor?

Kontrast ayarı yanlıştır. Potansiyometreyi veya I²C adaptör üzerindeki trimpotu yavaşça çevirin.

3,3 V ile çalışır mı?

Standart 1602 modülleri 5 V içindir; 3,3 V'ta kontrast yetersiz kalır. 3,3 V sistemlerde ekranı 5 V ile besleyip I²C adaptör üzerinden bağlamak genellikle sorunsuz çalışır.

LCD 1602 ile OLED arasında nasıl seçim yaparım?

LCD 1602 ucuz, okunaklı ve düşük gerilim/akım gerektiren basit metin ekranıdır. OLED ise daha az yer kaplar, grafik çizebilir ve arka ışık gerektirmez; ancak ömrü ve yanma riski nedeniyle sürekli sabit görüntü için LCD daha uygundur.

Direnç, kondansatör ve diğer komponentler için ürünlerimize göz atın.

LCD ve Ekranlar