Arduino
OKUDUĞUNUZ KONU
Arduino LCD I2C Protokolü Kullanımı
26

Arduino LCD I2C Protokolü Kullanımı

Yazar : Murat Duran29 Ekim 2015

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
icc1602lcm1bilmektesiniz.Ö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

LCD Ekran Satın Al

Kod ile uyumlu LCD Ekranı Proje Hocam garantisi ile satın alabilirsiniz.Malzemeler kod ile %100 uyumludur.“Satın Almak İçin Yukarıda Butona Basınız”

Bazı LCD Ekranlar 0x3f olarak çalışmaktadır.Koddaki bu satırı değiştirmeniz yeterlidir.

LiquidCrystal_I2C lcd(0x3f, 16, 2);

Arduino LCD I2C Bağlantı

//Proje Hocam - I2C LCD Test Kodu
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup()
{
// LCD yi çalıştır
lcd.begin();
lcd.backlight();

// Ekrana yazdırılacak metin
lcd.print("Proje Hocam");
}

void loop()
{
}
SİZCE NASIL OLMUŞ?
Beğendim
57%
İlginç
10%
Eh İşte
4%
Anlamadım
10%
Kötü
5%
Berbat
13%
YAZAR HAKKINDA
Murat Duran
Murat Duran
Açık kaynak donanım ve yazılım geliştiricisiyim , mekanik ve robotik sistemler üzerinde çalışmalar yapmaktayım.Ayrıca bir start-up firması olan Proje Hocam 'ın kurucuyum.
26 YORUMLAR
  • Matti Virta
    30 Ekim 2015 at 21:03

    # include must be liguidceystal_i2c.H and wire.h library

  • nietzschenin bıyığı
    31 Ekim 2015 at 18:15

    peki düz i2c yi nasıl kullanacagız ?

    herhangi bir eprom yada aygıtı ?

    bi örnek paylaşır mısınız ?

  • Erhan
    10 Kasım 2015 at 21:48

    Bazı i2c modülleri 0x27 değil, farklı olabilmektedir.
    Mesela bende 0x3f olarak çalışıyor. Sizdeki 0x27 çalışmıyorsa i2c nizin hangi rakama sahip olduğunu öğrenebileceğiniz kodlar var. İsteyen olursa yollarım

    • Slruzgar
      31 Ocak 2017 at 00:08

      merhaba kardeşim bana yardımcı olabilirmisin. 0x27de hiç bişe yazmıyor 0x3f de tek harf gösteriyor.şimdiden teşekkürler

      • serkan gündoğdu
        26 Mart 2017 at 23:16

        bende iki tane modül var birisi 0x27 adreslemesi ile çalışıyor ama ilk harften sonrası gelmiyor ikinici modül 0x3F adreslemesi ile çalışıyor ama o da sıkıntılı ilk harften sonrası yok proje hocam yazısının sadece p harfi görüntüleniyor. bu sıkıntıyı nasıl çözebiliriz acaba

    • Ali GÜZEL
      11 Ekim 2017 at 15:42

      bana lazım yolayabilir misiniz ?

    • nevzat demir
      23 Kasım 2017 at 17:05

      işte şu bilgi için 3 tam gün dolaştım site site . ve sonunda burada buldum hemde türkçe olarak teşekkürler 🙂

    • ismail kanbur
      4 Ocak 2018 at 21:23

      Abi yollar misin

  • ali can
    18 Aralık 2015 at 18:06

    yukarıdaki uygulamayı yaptığımda tek karakter çıkıyor ekrana sebebi nedir

  • Okan KILINÇ
    15 Ocak 2016 at 18:46

    Hocam LiquidCrystal_I2C.h bunu nasıl yukleyebılırım yardımcı olurmusunuz

  • ugur kocaman
    11 Nisan 2016 at 21:35

    hocam mesafe ölçer yapmaya çalışıyorum I2C lcd için mesafe ölçer kodu yollarmısınız

    • ilker zeki
      27 Şubat 2017 at 20:59

      mesafe ölçer kodu yok, siz hangi bileşenleri kullanacaksanız ona göre programı yapıcaksınız, ultrasonik mi laser mi ır mi kullanıcaksınız mesela ??

  • sahin yıldırım
    4 Mayıs 2016 at 20:36

    hocam ben ardinou ile bir sey sormak istyrm yardımcı olabilen var mı

  • Bilal Furkan Kesgin
    5 Mayıs 2017 at 19:50

    İşlemleri yaptığımda sadece P harfi çıkmaktadır. Yardımcı olabilirmisiniz?

  • Musa Emir Kaytan
    14 Mayıs 2017 at 12:05

    hocam #include bu hatayı alıyorum yardımcı olailirmisiniz

    • Musa Emir Kaytan
      14 Mayıs 2017 at 12:07

      hocam no matching function for call to ‘LiquidCrystal_I2C::begin()’ bu hatayı alıyorum yardımcı olailirmisiniz

  • aslı fidan
    28 Kasım 2017 at 17:40

    kütüphane hatası alıyorum kütüphane ili ilgili bir sıkıntı olabilir mi

  • Batıkan
    21 Ocak 2018 at 18:37

    Merhaba,
    Yazınız için ben de teşekkür ederim. Ben kütüphaneyi indirip, Arduino/libraries klasörüne çıkarttım ve kodu yazdım fakat ne 0x27 ile ne de 0x3f ile LCD ekranda yazı gözükmüyor. 🙁

  • malatya44
    1 Şubat 2018 at 14:15

    hocam teşekkürler modullü lcd yi çalıştıramamıştım 0x3f notunu okuyunca çözdüm teşekkürler

  • Yunus Emre
    4 Mart 2018 at 20:58

    “Özellikle uzak doğu ülkelerinden alınan aduino setlerin içinden çıkan modüllerin adresi 0x3F oluyor.
    bir ekleme daha yapmak istiyorum. Eğer kodları atıyorsanız ve ekrana sadece bir karakter yazdırıyorsa. Yapmanız gereken kütüphaneye girip

    inline size_t LiquidCrystal_I2C::write(uint8_t value) {
    send(value, Rs);

    değerinin altına
    return 1;
    attığınız takdirde düzelecektir. iyi çalışmalar cümleten.” (Fatih Mehmet’den alıntıdır.)

  • Tolga T.
    30 Mayıs 2018 at 12:57

    Tek karakter gösterme sorunu için; lcd.begin(); yerine lcd.init(); yaparsanız düzgün çalışıyor.

  • mehmet
    7 Temmuz 2018 at 00:48

    Yunus Emre kardeşim çok teşekkür ederim . sorun çözüldü.

YORUM YAP