Son zamanlarda Arduino kartları için çıkarılmış i^2c lcd arayüzleri meşhur oldu.  Sebebi 7, 8 pin kullanarak yapacağınız işi sadece 2 pin ile hallediyor olmanızdan kaynaklanıyor. Zaten endüstriyel elektronikte kullanılan çoğu lcd de i^2c protokolünü kullanıyor.  Bu yüzden bu protokolü öğrenmek ve kullanabilmek önem arz ediyor.

51Xwer+frSL._SY300_

Bu arayüzü Arduino da kullanmak oldukça kolay ve zevkli.  Kullanışlı olmasının diğer bir sebebi de işin çok teknik detayını bilmenize gerek kalmıyor olması.  Arduino için hazırlanmış bir çok hazır kütüphane mevcut. Bu yüzden işinizi iki satır kod ile halledebiliyorsunuz. Peki ya bu arayüzü PIC ve ya diğer mikrodenetleyicilerle kullanacak olsaydık?  Bu yazımda kısaca bu konudan bahsetmeye çalışacağım.

Öncelikle bu arayüzü kullanırken hem LCD nin hem de i2c arayüz entegresinin teknik detaylarını bilmek durumundayız.  İlk önce LCD den başlayacak olursak, normal bir 2*16 karakter LCD, 16 pine sahiptir. Bu pinlerden 3 tanesi, güç pinleri(VEE,VDD,VSS), 3 tanesi kontrol pinleri(RW,RS,EN), 2 tanesi LCD ışık kontrol pini (LED+, LED-), geri kalanları ise verileri LCD ye yazdığımız data pinleridir. (D1-D7).

 

Lcd_0

LCD lerin kendi içerisinde de bir çok kaydedici ve işlemci mevcuttur.  LCD nin her bir kaydedicisi belli bir görev dahilindedir.  Örneğin komut kaydedicilerine kaydedilen bilgiler LCD yi kontrol etmek için kullanılırken, data kaydedicilerine kaydedilen bilgiler LCD ye karakter yazmak için kullanılır.  LCD ye gönderilen tüm bilgiler Data pinlerinden 8 bit veya 4 bit olmak üzere ikilik tabanda gönderilir.  Ve gönderdiğimiz bu bilgilerin ne işe yaradığını da kontrol pinleri aracılığı ile LCD ye bildirip onunla ilişkili kaydedicilere kaydederiz.   Aslında i2c arayüz kartının bize sağladığı şey, verileri  8 ve ya 4 kablo kullanarak göndermektense tek bir hat üzerinden gönderme olanağı sunmasıdır.

i2c protokolü genellikle denetleyicilerin kendi içerisindeki veri transferleri için de kullanılır. Bu protokol bir adet belli bir frekansta kare dalga gönderen clock(sck)  hattına bir de asıl verinin gönderildiği data(SDA) pinine ihtiyaç duyar.   Araya bir de i2c kart girince bu sefer bu kartın kaydedicilerii ve adreslerini ilmek durumunda kalıyoruz. Çünkü tüm veri transferleri belli bir kaydedici adresinden yapılıyor. Bu kaydedici adresleri ürünün katalog bilgilerinde mevcuttur.  Bu bilgilerle kendi kütüphanemizi oluşturabiliriz.   Kullanılan LCD i2c arayüz entegresinin ismi PCF8574T dir. Google üzerinden ismini aratarak datasheet’ine ulaşmanız mümkün. 

 

İşte bir i2c kütüphanesi yazmış olduk. Şimdi yusuf_lcd.c ismindeki bu fonksiyonları içeren kütüphaneyi kendi yazacağım basit programa dahil ederek kullanabilirim.

 

 

  • Kahraman

    Makalenizden faydalandık. Teşekkür ederiz.