LCD I2C protokolü olmadan Arduino ‘da bu iş gerçekten çok zahmetli olabilmektedir, çünkü LCD modülünü çalıştırabilmek için arduino ya tam 9 adet kablo çekmeniz gereklidir.Buda hem bağlantılarda soruna yol açabileceği gibi hemde arduino da çok fazla pin işgal eder.Bu sorunu I2C protokolü kullanarak düzeltebilirsiniz.Bazı modüllerin üzerinde geldiği gibi ayrı olarak da satılan IIC i2c modülü ile bu sorunu çözebilirsiniz.
Bu modül sayesinde LCD ekranınızı enerji pinleri haric 2 tane pin yardımı ile Sda ve Scl üzerinden süre
bilmektesiniz.Öncelikle bunun için bir I2C kütüphanesine ihtiyacınız var. Bu kütüphaneyi buradan indirebilirsiniz. Ayrıca bu modül üzerinde birde potansiyemetre vardır. Bu pot sayesinde modülün ekran parlaklığını
ayarlaya bilmektesiniz.
I2C Nedir?
I2C veriyolu çok master’lı (multi-master) veri yoludur. Yani, birden fazla sayıda data transferini başlatabilme özelliğindeki tümdevre, veriyoluna bağlanabilir. Bu durumda data(“veri” diyelim ki daha Türkçe olsun) transferini başlatan tümdevre(IC-Integrated Circuit) Bus-Master(Veriyolu Efendisi) durumunda olacak, veriyolundaki tüm diğer IC’ler ise Bus-Slave(Veriyolu Köleleri) durumunda olacaktır.
Arduino ve I2C LCD Modülün Bağlantı Şeması , SDA = A4 ve SCL = A5

Önemli Not: Bazı LCD Ekranlar “0x27” olarak çalışmaktadır. Koddaki bu satırı değiştirmeniz yeterlidir.
LiquidCrystal_I2C lcd(0x3f, 16, 2);
Arduino Kodları
#include <LiquidCrystal_I2C.h> // I2C kütüphanemizi ekledik. #include <Wire.h> // Wire.h kütüphanesi ekliyoruz. LiquidCrystal_I2C lcd(0x3f, 16, 2); // LCD Ekran özelliklerini tanımladık. void setup() { lcd.begin(); // LCD Ekranı çalıştır. lcd.print("KodlaBafra"); // Ekrana yazdırılacak metin } void loop() { }
“Wire.h” kütüphanesini I2C haberleşmesi yapacağımız her zaman eklememiz gerekiyor. Çünkü haberleşme için gerekli kodlar (mesajlar) bu sayede gidiyor.
Daha önceki LCD ekran kodlarını aynen burada geçerlidir. LCD Ekran kodları ile ilgili yazımız için aşağıdaki bağlantıya tıklayınız.
Yazar hakkında