I2C LCD Ekran: Dört Kabloyla Hızlı ve Temiz Çözüm

Geleneksel bir 16×2 karakter LCD ekranı, Arduino’ya bağlamak için en az 6, genellikle 10’dan fazla dijital pin kullanmayı gerektirir. Bu durum, özellikle çok sayıda sensör ve bileşenin olduğu karmaşık projelerde Arduino’nun pinlerini hızla tüketir. I2C LCD Ekran, bu sorunu çözmek için standart bir LCD ekranın arkasına küçük bir kart eklenmesiyle ortaya çıkar.
Bu ek kart (genellikle bir PCF8574 I/O genişletici çip içerir), I2C haberleşme protokolünü kullanarak ekranı kontrol eder. Böylelikle, bağlantı için sadece dört kabloya (Güç ve I2C) ihtiyaç duyulur.
I2C LCD Ekran Çalışma Prensibi: PCF8574 I/O Genişletici
I2C LCD modülünün temelinde PCF8574 (8-bit Uzaktan Giriş/Çıkış Port Genişletici) yatar.
- Genişletme: PCF8574, Arduino’dan gelen iki I2C sinyalini (SDA ve SCL) alır ve bunu LCD’nin ihtiyacı olan 8’den fazla kontrol sinyaline dönüştürür.
- Seri Haberleşme: I2C protokolü, veriyi seri olarak aktarır. Yani tüm kontrol bilgisi, sadece iki pin üzerinden (SDA ve SCL) tek tek gönderilir ve PCF8574 çipi bunu paralel verilere çevirerek LCD’ye iletir.
- Adresleme: I2C protokolü adres tabanlı çalıştığı için, aynı I2C pinlerine (SDA/SCL) birden fazla I2C LCD veya başka bir sensör bağlayabilirsiniz. Her cihazın benzersiz bir adresi (genellikle 0x27 veya 0x3F) bulunur.

I2C LCD Ekran Bağlantı Şeması
I2C-LCD ekranın bağlantısı, standart LCD’ye göre çok daha basittir:
| I2C LCD Modülü Pini | ESP32 Pini | Fonksiyon |
| VCC | 5V | Güç Girişi |
| GND | GND | Toprak |
| SDA | GPIO 21 | I2C Veri Hattı |
| SCL | GPIO 22 | I2C Saat Hattı |
Not: Arduino, Arduino Mega ve diğer kartlarda SDA ve SCL pinleri farklı yerlerde olabilir.
I2C LCD’yi kullanmak için genellikle “LiquidCrystal_I2C” kütüphanesine ihtiyaç duyulur.
- I2C Adresi: Kütüphaneyi kurduktan sonra, kodun ilk adımı ekranın I2C adresini doğru tanımlamaktır. En yaygın adresler 0x27 ve 0x3F‘tir. Eğer ekranınız çalışmazsa, bu iki adresi deneyebilir veya bir I2C Tarayıcı (Scanner) kodu kullanarak doğru adresi bulabilirsiniz.
- Kütüphane Başlatma: Kodu başlatırken
LiquidCrystal_I2C lcd(I2C_ADRES, SÜTUN, SATIR)formatı kullanılır:// Adres, sütun (16) ve satır (2) tanımlanır LiquidCrystal_I2C lcd(0x27, 16, 2); - Temel Komutlar:
lcd.init();: Ekranı başlatır.lcd.backlight();: Arka ışığı açar.lcd.setCursor(sütun, satır);: İmleci istenen konuma taşır.lcd.print("Metin");: Ekrana metin yazar.
I2C LCD Ekran Kontrast ve Arka Işık Ayarı
I2C LCD modüllerinde iki ayar bileşeni bulunur:
- Kontrast Potansiyometresi: Modül üzerindeki küçük mavi veya siyah bir trimpot (ayarlanabilir direnç) bulunur. Bir tornavida ile bu potansiyometreyi çevirerek, ekrandaki karakterlerin koyuluğunu (kontrastını) ayarlayabilirsiniz. Karakterler görünmüyorsa veya çok silikse bu ayar yapılmalıdır.
- Arka Işık Jumper’ı: Arka ışığı kalıcı olarak kapatıp açmak için bir Jumper (atlama teli) bulunabilir. Eğer güç tüketimini minimuma indirmek istiyorsanız bu jumper’ı çıkarabilirsiniz. Yazılımla kontrol için ise
lcd.backlight()velcd.noBacklight()komutları kullanılır.
I2C LCD ekranlar, basit metin tabanlı çıktılar gerektiren tüm Arduino projelerinde (termometreler, sayaçlar, basit menüler) pin tasarrufu ve temiz bağlantı avantajlarıyla öne çıkar. Yalnızca doğru I2C adresini bulduğunuzdan ve kontrast ayarını yaptığınızdan emin olmanız yeterlidir.

ESP32 (Arduino IDE) Örnek Kodu
Gerekli Kütüphane: “LiquidCrystal_I2C by Frank de Brabander”
//muratdonmez.com.tr
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// (I2C_Adresi, Sütun_Sayısı, Satır_Sayısı)
// Adres 0x27 veya 0x3F olabilir.
LiquidCrystal_I2C lcd(0x27, 16, 2); // 16 Sütun, 2 Satır
void setup() {
Serial.begin(115200);
lcd.init(); // LCD'yi başlat
lcd.backlight(); // Arka ışığı aç
Serial.println("I2C LCD Testi.");
Serial.println("Ekranda bir şey görmezseniz, kontrast potansiyometresini çevirin.");
lcd.setCursor(0, 0); // (Sütun, Satır)
lcd.print("ESP32 LCD Testi");
lcd.setCursor(0, 1);
lcd.print("Merhaba!");
}
void loop() {
lcd.setCursor(10, 1);
lcd.print(millis() / 1000); // Geçen saniyeyi yaz
delay(500);
}
Eğer akıllı ev, IOT projeleri ile ilgili sorularınız veya yapmak istediğiniz bir projeniz varsa, yedek alma ve yedekten dönme planınız veya felaket kurtarma planınız yoksa, işletmeniz için nasıl bir Sunucu, Bilgisayar veya Kesintisiz Güç Kaynağı seçmeniz gerektiğini bilmiyorsanız danışmanlık hizmetlerimden faydalanmak isterseniz bana WhatsApp üzerinden ulaşabilirsiniz.
İlgili Yazılar
- DS18B20 (Dijital Sıcaklık Sensörü)
- DHT11 / DHT22: Doğru Sıcaklık ve Nem Sensörünü Seçme Rehberi
- BME280: 3’ü 1 Arada Yüksek Hassasiyetli Ortam Sensörü
- BME680: Evinizdeki Havayı Kapsamlı Analiz Edin
- BMP388 ve BMP180: İrtifa ve Basınç Sensör Rehberi
- BH1750 Dijital Işık Sensörü: Lüx (Lux) Ölçer Rehberi
- TDS Sensörü: Su Kalitesi ve PPM Ölçer Rehberi
- Anemometre: Rüzgar Hızı Sensörü Nedir, Nasıl Çalışır?
Sık Sorulan Sorular
- Standart LCD yerine neden I2C LCD kullanmalıyım?
Standart 16×2 LCD ekranlar 10’dan fazla Arduino pini gerektirirken, I2C LCD ekranlar sadece 2 veri pinine (SDA ve SCL) ihtiyaç duyar. Bu, diğer sensörler ve aktüatörler için pin tasarrufu sağlar. - I2C LCD modülündeki PCF8574 çipi ne işe yarar?
PCF8574, bir I/O Genişletici çipidir. Arduino’nun I2C (Seri) sinyalini alarak, LCD ekranın ihtiyacı olan çoklu (Paralel) kontrol sinyallerine dönüştürür. - I2C LCD ekranımın doğru adresini nasıl bulabilirim?
En yaygın adresler 0x27 veya 0x3F’tir. Ekranınız bunlardan biriyle çalışmazsa, internette bulabileceğiniz bir “I2C Scanner” (I2C Tarayıcı) kodu ile tüm olası adresleri tarayarak ekranınızın doğru adresini otomatik olarak tespit edebilirsiniz. - Ekranda sadece kareler/bloklar görünüyor, metin neden görünmüyor?
Bunun iki temel nedeni olabilir: 1) Ekranın I2C Adresi yanlış tanımlanmıştır. 2) Modül üzerindeki kontrast potansiyometresi doğru ayarlanmamıştır. Bir tornavida ile potansiyometreyi yavaşça çevirerek karakterlerin görünürlüğünü ayarlamalısınız. - I2C LCD’de kontrast ayarını nasıl yaparım?
Kontrast, modül kartının üzerinde bulunan küçük mavi veya siyah renkli potansiyometre (trimpot) ile manuel olarak ayarlanır. Bir tornavida kullanarak bu potansiyometreyi yavaşça çevirerek en net metin görüntüsünü elde edebilirsiniz.




Henüz yorum yapılmamış.