✅ Giriş
Arduino projelerinde, verileri sadece seri monitörde görmek yeterli olmayabilir. LCD ekranlar sayesinde sensör verilerini, mesajları veya kullanıcı bilgilerini görsel olarak gösterebilirsin. Bu yazıda, 16×2 LCD ekranın Arduino ile nasıl kullanılacağını adım adım öğreneceksin.
🧾 LCD Nedir? (16×2 LCD Nedir?)
16×2 LCD ekran, iki satırda toplam 32 karakter (her satırda 16 karakter) gösterebilen bir ekrandır. Genellikle Hitachi HD44780 sürücü çipini kullanır ve Arduino ile oldukça kolay bir şekilde çalışır.
🔧 Gerekli Malzemeler
- Arduino UNO veya benzeri bir kart
- 16×2 LCD ekran
- 10K potansiyometre (ekran kontrastı için)
- Jumper kablolar
- Breadboard
- 220 ohm direnç (LCD arka ışığı için)
🔌 16×2 LCD Ekran Devre Bağlantısı
LCD ekran Arduino’ya aşağıdaki gibi bağlanmalıdır:
LCD Pin | Açıklama | Arduino Pin |
---|---|---|
1 (GND) | Toprak | GND |
2 (VCC) | Güç (+5V) | 5V |
3 (V0) | Kontrast Ayarı | Potansiyometre Orta Uç |
4 (RS) | Register Select | 12 |
5 (RW) | Okuma/Yazma Seçimi | GND |
6 (E) | Enable | 11 |
11–14 | Veri Pinleri (D4–D7) | 5, 4, 3, 2 |
15 | Arka Işık (+) | 5V (direnç ile) |
16 | Arka Işık (–) | GND |
Potansiyometre, kontrast ayarını yapmak için kullanılır. Bir ucu GND’ye, diğer ucu 5V’a, orta ucu ise LCD’nin 3. pinine bağlanır.
🧠 Arduino LCD Kodu
Aşağıdaki kod, LCD ekranına “Merhaba Dunya” yazdırır:
#include <LiquidCrystal.h>
// RS, E, D4, D5, D6, D7 pinleri
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2); // 16 karakter, 2 satır
lcd.print("Merhaba Dunya"); // Ekrana yazı
}
void loop() {
// Bu örnekte loop boş, çünkü sürekli yazdırma yapılmıyor
}
✨ lcd.print() ve lcd.setCursor() Kullanımı
LCD üzerinde farklı satırlara ve konumlara yazı yazmak için:
lcd.setCursor(0, 1); // 2. satır, 1. sütuna git
lcd.print("Arduino LCD");
Örnek Çalışma

#include <LiquidCrystal.h> // LCD ekranı kullanmak için gerekli kütüphane dahil edilir
int seconds = 0; // Geçen süreyi tutacak sayaç değişkeni tanımlanır
// LCD ekranı Arduino üzerindeki belirli pinlere bağladığımızı belirtiriz
// Sırasıyla: RS=12, E=11, D4=5, D5=4, D6=3, D7=2
LiquidCrystal lcd_1(12, 11, 5, 4, 3, 2);
void setup()
{
lcd_1.begin(16, 2); // LCD ekranın 16 sütun ve 2 satırdan oluştuğunu belirtiriz
lcd_1.print("hello world!"); // Ekranın ilk satırına "hello world!" yazısı yazılır
}
void loop()
{
lcd_1.setCursor(0, 1); // İmleci 2. satırın başına (0. sütun, 1. satır) getirir
lcd_1.print(seconds); // Ekrana geçen saniye sayısı yazdırılır
delay(1000); // 1 saniye (1000 milisaniye) beklenir
seconds += 1; // Sayaç 1 artırılır
}