16x2 LCD ekran, 2 satırda 16'şar karakter gösteren ve HD44780 uyumlu sürücüye sahip bir karakter ekranıdır. Arduino'ya en kolay I2C adaptörüyle bağlanır: yalnızca VCC, GND, SDA ve SCL olmak üzere 4 kablo yeterlidir. I2C adaptörün adresi genellikle 0x27 ya da 0x3F'dir ve LiquidCrystal_I2C kütüphanesiyle kullanılır. Ekranda yalnızca kutucuklar görünüyor ya da hiçbir şey görünmüyorsa adaptördeki kontrast trimpotu ayarlanmalıdır.
Bir sıcaklık ölçer, bir sayaç ya da bir menü sistemi... Arduino projelerine bilgi göstermenin en klasik ve en ucuz yolu 16x2 karakter LCD ekrandır. Bu rehberde LCD ekranın I2C adaptörle ve paralel olarak nasıl bağlandığını, nasıl programlandığını ve en sık görülen sorunların nasıl çözüldüğünü anlatıyoruz.
16x2 LCD ekran nedir?
16x2 LCD, iki satırda 16'şar karakter gösterebilen, arka aydınlatmalı bir karakter ekranıdır. Çoğu model HD44780 uyumlu bir sürücü kullanır; bu sayede tüm 16x2 ve 20x4 LCD'ler aynı kütüphanelerle çalışır. Her karakter 5x8 noktadan oluşur ve kendi özel karakterlerinizi (ör. derece işareti, pil simgesi) tanımlayabilirsiniz. Örnekler: 2x16 LCD mavi, 2x16 LCD SMR1602A ve daha fazla bilgi için 4x20 LCD mavi.
I2C ve paralel bağlantı farkı nedir?
| Özellik | I2C adaptörlü | Paralel (4 bit) |
|---|---|---|
| Kullanılan Arduino pini | 2 (SDA, SCL) | 6 (RS, E, D4-D7) |
| Kablo sayısı | 4 | 12'ye kadar |
| Kontrast ayarı | Adaptördeki trimpot | Harici 10 kΩ potansiyometre |
| Aynı hatta başka cihaz | Evet (farklı adreslerle) | Hayır |
| Kütüphane | LiquidCrystal_I2C | LiquidCrystal (hazır) |
I2C adaptörler PCF8574 genişletme entegresi kullanır; LCD'nin arkasına lehimlenen hazır adaptörler bulunduğu gibi, genel amaçlı PCF8574 I2C giriş/çıkış modülü de aynı entegreyi taşır. Hazır I2C arayüzlü bir ekran isteyenler için 2x16 RGB LCD (I2C) seçeneği vardır.
I2C LCD Arduino'ya nasıl bağlanır?
- GND: GND
- VCC: 5V
- SDA: Arduino Uno'da A4 (Mega'da 20)
- SCL: Arduino Uno'da A5 (Mega'da 21)
LCD ekran adım adım nasıl programlanır?
- Kütüphaneyi kurun: Kütüphane Yöneticisi'nden "LiquidCrystal I2C" kütüphanesini yükleyin.
- Adresi bulun: Bir I2C tarayıcı (I2C scanner) kodu yükleyin; seri ekranda adres görünür. Yaygın adresler 0x27 ve 0x3F'dir.
- Ekranı tanımlayın: LiquidCrystal_I2C lcd(0x27, 16, 2); ile adres, sütun ve satır sayısını belirtin.
- Başlatın: setup() içinde lcd.init(); ve lcd.backlight(); çağırın (kütüphane sürümüne göre lcd.begin() olabilir).
- Yazdırın: lcd.setCursor(0, 0); ile imleci ilk satırın başına alın, lcd.print("Merhaba"); ile yazın. İkinci satır için setCursor(0, 1).
- Değer gösterin: Sensör değerlerini yazarken önce eski karakterleri boşlukla silin; lcd.clear() ekranı titreteceği için her döngüde kullanılmamalıdır.
Sensör değerlerini LCD'de göstermek için DHT22 nem sensörü ya da sıcaklık sensörü rehberlerimizdeki örnekleri kullanabilirsiniz.
Paralel bağlantı nasıl yapılır?
I2C adaptör yoksa LCD 4 bit modunda bağlanır: VSS → GND, VDD → 5V, V0 → 10 kΩ potansiyometrenin orta ucu (kontrast), RS → D12, RW → GND, E → D11, D4-D7 → D5, D4, D3, D2, A (arka ışık +) → 5V (modele göre seri dirençle), K → GND. Kod tarafında hazır gelen LiquidCrystal kütüphanesi kullanılır: LiquidCrystal lcd(12, 11, 5, 4, 3, 2);. Potansiyometrenin bağlantısını potansiyometre rehberimizde anlattık.
LCD ekran sorunları ve çözümleri
- Yalnızca üst satırda kutucuklar var: Ekran başlatılamamıştır; adresi, kabloları ve kütüphaneyi kontrol edin. Kontrast çok yüksek de olabilir.
- Arka ışık yanıyor ama yazı yok: Adaptördeki mavi kontrast trimpotunu yavaşça çevirin.
- Anlamsız karakterler: Gevşek bağlantı, yanlış adres ya da çok uzun kablolar olabilir.
- Türkçe karakterler görünmüyor: HD44780'in karakter tablosunda Türkçe karakterlerin çoğu yoktur; createChar() ile özel karakter tanımlanabilir (en fazla 8 adet).
Sık sorulan sorular
LCD ekran I2C adresi nasıl bulunur?
Arduino'ya bir I2C tarayıcı kodu yükleyip seri monitörü açarak bulunur. Adaptörlerin çoğu 0x27 ya da 0x3F adresini kullanır; bazı adaptörlerde adres, lehim köprüleriyle değiştirilebilir.
LCD ekran neden sadece kare gösteriyor?
Ekran enerji alıyor ama başlatılamıyor demektir. Adres yanlış olabilir, SDA ve SCL yer değiştirmiş olabilir ya da kontrast çok yüksek olabilir.
16x2 LCD 3,3V ile çalışır mı?
Standart 16x2 LCD'ler 5V için tasarlanmıştır. 3,3V'luk kartlarda ekran 5V ile beslenip I2C hattı uygun bir seviye dönüştürücüyle bağlanmalı ya da 3,3V uyumlu bir LCD seçilmelidir.
Aynı Arduino'ya iki LCD bağlanır mı?
I2C adaptörlerin adresleri farklı ayarlanırsa iki ya da daha fazla LCD aynı SDA-SCL hattına bağlanabilir.
LCD mi, OLED mi kullanmalıyım?
LCD ucuzdur, güneş altında iyi okunur ve basit metinler için idealdir. OLED ise grafik, simge ve küçük boyut gerektiren projelerde daha uygundur.
Özet
- 16x2 LCD, HD44780 uyumlu bir karakter ekranıdır.
- I2C adaptörle yalnızca 4 kabloyla bağlanır: VCC, GND, SDA, SCL.
- Adres genellikle 0x27 ya da 0x3F'dir; I2C tarayıcıyla bulunur.
- Kutucuk ya da boş ekran sorunlarında önce kontrast trimpotu ayarlanır.
- Paralel bağlantıda 6 pin ve harici kontrast potansiyometresi gerekir.