Arduino LCD I2C Kullanımı

Giriş

Merhaba. Bu yazımda sizlere Arduino’da I2C protokolü kullanımı hakkında bilgiler vereceğim. (Güncellendi: 31 Ocak 2018)

I2C, bir haberleşme protokolüdür. Bunun ile iki aygıt birbiriyle haberleşebilir. Yani bu “iki aygıt” bir çift arduino veya arduino ve sensörler veya iki adet mikrodenetleyici olabilir 🙂 Bu protokol, SDA ve SCL hatlarını kullanarak data (veri) aktarımı yapar. (i2c protokolünü anlatan ayrıntılı bir yazı gelecek 🙂 )

Şimdi gelelim I2C’yi LCD ile kullanmak bize ne kazandırır. Bildiğimiz gibi karakter LCD’ler genelde 16 pin ile bağlantı sağlar. Biz bu 16 pinin en az 6’sını sadece data amaçlı mikrodenetleyiciye bağlamak zorundayız. Bazı projelerimizde mikrodenetleyicimizin port sayısı yetersiz kalabilmektedir. İşte sağ olsunlar bizi düşünmüşler demişler ki biz LCD ekranı toplam 4 kablo ile çalıştıralım. Bu kablolar şunlar: VCC, GND; SDA, SCL. Bu dört kabloyu bağlıyorsunuz, hazır. 🙂

Yani bu modülün görevini kısaca özetleyecek olursak i2c protokolünden gelen veriyi LCD ekranın anlayacağı dile çeviriyor diyebiliriz.

Bağlantılar:

Modülümüz bu. Gördüğünüz siyah eklenti LCD I2C dediğimiz modül.  İnternet’ten yaptığınız alışverişlerde büyük olasılıkla lehimsiz gelecektir. Onun için öncelikle benim yaptığım gibi lehimleyin modülünüzü. Aman pinlerin birbirine değmemesine dikkat edin elektrik vermeden önce. Çalışmaz veya bozulur 🙂 Daha sonra bağlantı kısmına geçiyoruz. Aşağıdaki tabloyu kullanarak bağlantılarınızı yapabilirsiniz.

 Modül
 Arduino
 VCC (Besleme Gerilimi)  Herhangi bir 5v çıkışı
 GND (TOPRAK)   GND (TOPRAK)
 SDA  SDA
 SCL  SCL

Kodlar:

Öncelikle şunu belirtmek istiyorum arkadaşlar. Ben burada kodu ekran alıntısı olarak atmıyorum. Fakat sizlerin de kodu kopyalayıp yapıştırdıktan sonra neyin ne olduğunu anlamanız için orasını burasını değiştirmeniz gerekiyor.  Başka türlü öğrenmeniz mümkün değil arkadaşlar. Unutmayın yazılım ezberle öğrenilmez.

Kütüphane dediğimiz şey önceden yazılmış kodlardır. Projeye bir kütüphane eklediğimizde birçok satır kod eklemiş oluruz aslında. Bu projede kullanacağımız kütüphaneyi  bu bağlantıdan indirebilirsiniz. https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //  LCD I2C addresi
  void setup() // Yanlızca 1 kere çalışacak komutlar
   {
Serial.begin(9600);   // Seri port ekranı buandı.
lcd.begin(16,2);      // LCD Mizin 12 karakter 2 satır olduğunu belirttik.
lcd.backlight();      // Arka plan ışığını açtık
delay(250);           //250 ms bekledik
lcd.noBacklight();    //Arkaplan ışığını kapattık
delay(250);           //250 ms bekledik
lcd.backlight();      // Arkaplan ışığını açtık
lcd.setCursor(0,0);   //Kursör konumunu belirttik
lcd.print("Merhaba"); //Yazı yazdık
}
void loop(){
 //Döngü kullanmadık. Siz kullanabilirsiniz.
}

Anlamadığınız bir şey olması durumunda veya yeni içerik talepleriniz için lütfen yorumları kullanın 🙂 Bu yazım da bu kadar. Görüşmek üzere…