I2C LCD Ekran 2x16: Arduino'ya 4 Kabloyla Bağlanan Mavi Karakter Ekran
Bu I2C LCD ekran, 16 sütun ve 2 satırlık (16x2, 1602 olarak da bilinir) mavi zeminli bir karakter LCD ile arkasına lehimli gelen PCF8574 I2C dönüştürücü modülden oluşur. Standart 1602 LCD'yi Arduino'ya bağlamak için en az 6 veri hattı, kontrast potansiyometresi ve çok sayıda kablo gerekir; I2C modül sayesinde ekran yalnız 4 kabloyla (GND, VCC, SDA, SCL) çalışır ve kartınızda diğer işler için pin kalır.
Sensör değerlerini, sıcaklığı, menüleri ya da robotunuzun durumunu göstermek için kullanılan, Arduino projelerinin en yaygın arduino LCD ekran seçeneklerinden biridir. Lehim gerektirmez; jumper kabloyla takıp kütüphaneyi kurduktan sonra birkaç satır kodla yazı yazdırabilirsiniz.
I2C modül ve LCD ayrı gösterilmiştir; üründe modül LCD'nin arkasına lehimli gelir.
Öne çıkan özellikler
- Yalnız 4 kablo: I2C hattı sayesinde Arduino UNO ve Nano'da yalnız A4 ve A5 pinleri kullanılır; aynı hatta başka I2C sensörler de bağlanabilir.
- Lehimli gelir: I2C modül LCD'nin 16 pinine fabrikada lehimlenmiştir, ek montaj gerekmez.
- Kontrast ayarı modülde: Mavi trimpot ile yazının netliği ayarlanır, ayrı potansiyometre bağlamanız gerekmez.
- Arka ışık kontrolü: Arka ışık koddan açılıp kapatılabilir; LED jumper'ı çıkarılırsa tamamen kapanır.
- Özel karakter: HD44780 uyumlu denetleyici, yerleşik karakterlerin yanında 8 adede kadar kendi tasarladığınız 5x8 karakteri (ör. ş, ğ, ı ya da simgeler) gösterebilir.
Teknik özellikler
| Ekran | 2 satır x 16 karakter (1602), mavi zemin, açık renk yazı, arka aydınlatmalı |
| Karakter yapısı | 5x8 nokta |
| LCD denetleyici | HD44780 uyumlu; 4/8 bit arayüz, 8 özel karakter (CGRAM) |
| I2C dönüştürücü | PCF8574 (8 bit G/Ç genişletici), en fazla 100 kHz I2C saat hızı |
| I2C adresi | PCF8574: 0x20-0x27 (pedler açıkken 0x27) · PCF8574A: 0x38-0x3F (pedler açıkken 0x3F) |
| Bağlantı pinleri | GND, VCC, SDA, SCL (4 pin erkek header) |
| Çalışma gerilimi | 5 V |
| Ayarlar | Kontrast trimpotu, arka ışık (LED) jumper'ı, A0/A1/A2 adres pedleri |
Bağlantı ve Arduino ile kullanım
| Kart | SDA | SCL |
| Arduino UNO / Nano | A4 | A5 |
| Arduino Mega 2560 | 20 | 21 |
| ESP32 | GPIO21 | GPIO22 |
GND ve VCC'yi kartın GND ve 5V pinine bağlayın. ESP32 3,3 V mantıkla çalıştığı için modülü 5 V ile beslerken SDA ve SCL hatlarında I2C seviye dönüştürücü kullanın.
- Arduino IDE'de Araçlar menüsünden Kütüphaneleri Yönet seçeneğini açın, LiquidCrystal I2C araması yapın ve Frank de Brabander'ın kütüphanesini kurun.
- Adresten emin değilseniz önce aşağıdaki I2C tarayıcı kodunu yükleyin; Seri Monitör'ü 9600 baud ile açınca ekranın adresi yazılır (genellikle 0x27 ya da 0x3F).
- Bulduğunuz adresi ikinci koddaki 0x27 yerine yazıp yükleyin.
I2C tarayıcı:
#include "Wire.h"
void setup() {
Wire.begin();
Serial.begin(9600);
Serial.println("I2C taraniyor...");
for (byte adres = 1; adres != 127; adres++) {
Wire.beginTransmission(adres);
if (Wire.endTransmission() == 0) {
Serial.print("Cihaz bulundu: 0x");
Serial.println(adres, HEX);
}
}
}
void loop() {}
Ekrana yazı yazdırma:
#include "Wire.h"
#include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C lcd(0x27, 16, 2); // adres, sutun, satir
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Merhaba!");
}
void loop() {
lcd.setCursor(0, 1);
lcd.print(millis() / 1000);
lcd.print(" saniye");
}
Ekranın kendi yerleşik karakter setinde ş, ğ, ı, ç gibi Türkçe harfler yoktur; bu harfler createChar ile özel karakter olarak tanımlanabilir.
Kullanım alanları
- Sıcaklık, nem, mesafe gibi sensör değerlerini gösteren ölçüm projeleri
- Robot ve araç projelerinde durum, mod ve pil bilgisi
- Butonlarla gezilen menüler, sayaç ve zamanlayıcılar
- Okul projeleri ve Arduino ile ilk I2C LCD ekran uygulamaları
Uyumlu ürünler
- Arduino UNO R3 Klon (CH340) ve Arduino Nano Klon (CH340): ekranı A4 ve A5 pinlerinden sürmek için.
- Dişi-Erkek Jumper Kablo: modülün erkek pinlerini Arduino'ya bağlamak için.
- ESP32 WROOM-32 Geliştirme Kartı: Wi-Fi ile veri alıp ekranda göstermek için.
- Daha geniş ekran gerekiyorsa 20x4 I2C Seri LCD Ekran; I2C modülsüz sürüm için 2x16 LCD Ekran (Mavi Üzerine Beyaz). Diğer seçenekler karakter LCD kategorisinde.
Sık sorulan sorular
Ekranın ışığı yanıyor ama yazı görünmüyor, ne yapmalıyım?
En sık karşılaşılan durum budur ve çoğunlukla kontrast ayarından kaynaklanır. Modüldeki mavi trimpotu küçük bir tornavidayla yazılar belirene kadar yavaşça çevirin. Üst satırda yalnız dolu kutular görünüyorsa ekran enerji alıyor ama koddan komut almıyor demektir: SDA ve SCL bağlantısını ve koddaki I2C adresini kontrol edin.
Arka ışık yanmıyor, neden?
Modülün kenarındaki LED jumper'ının takılı olduğunu kontrol edin; jumper çıkarılırsa arka ışık kapanır. Kodda lcd.backlight() satırının bulunduğundan da emin olun.
I2C adresi 0x27 mi, 0x3F mi?
Modüldeki çipe bağlıdır: PCF8574 çipli modüller 0x27, PCF8574A çipli modüller 0x3F adresini kullanır (A0, A1, A2 pedleri açıkken). En kesin yol yukarıdaki I2C tarayıcı kodunu çalıştırmaktır. Aynı hatta iki ekran kullanacaksanız pedlerden birini lehimle köprüleyerek adresi değiştirebilirsiniz.
Türkçe karakter yazabilir miyim?
Yerleşik karakter setinde ş, ğ, ı, ç, ö, ü yoktur. Kütüphanenin createChar komutuyla 8 adede kadar kendi karakterinizi tanımlayıp ekrana yazdırabilirsiniz.
Kod derleniyor ama ekranda bozuk karakterler çıkıyor.
Kodda lcd.init() satırının bulunduğunu ve LiquidCrystal_I2C nesnesinde sütun ve satır sayısının 16 ve 2 yazıldığını kontrol edin. Kablolar uzun ya da gevşekse I2C iletişimi bozulabilir; bağlantıları kısa tutun.