Print this page
LCD 16x2 I2C Kullanımı, arduino ve mblock kodları (Arduino Dersleri, 15)

LCD 16x2 I2C Kullanımı, arduino ve mblock kodları (Arduino Dersleri, 15) Featured

Rate this item
(1 Vote)

Bu dersimizde LCD 16x2 I2C kullanımıyla ilgili temel bir uygulama yapacağız. Burada kullanacağımız ekranın sütun sayısı 16, satır sayısı ise 2dir.

Gerekli Malzemeler

1 adet Arduino Uno R3
1 adet LCD 16x2, i2c
4 adet jumper kablo (DE)

LCD 16x2 i2c nedir?

LCD ekranın yanında bulunan 16x2sütun ve satır sayısını temsil etmektedir. I2C ise lcd ekranla birlikte kullanılan ve lcd ekran kullanımını çok kolaylaştıran bir donanım modülüdür. Eğer projelerinizde lcd ekran alıyorsanız mutlaka i2c modülünü alın, yoksa yapacağınız devre biraz karışık olabilir, özellikle öğrenciler için karmaşık gelebilir. Bu bu uygulamayı yapmadan önce 2 farklı lcd ekranla bir devre kurmuştum, birinde i2c kullandım diğerinde kullanmadım. Fotoğraflara bakarak i2cnin bize sağladığı kolaylığı görebilirsiniz. Sadece 4 kablo ile lcd bağlantımızı yapacağız.

Arduino, diğer Arduino veya sensörlerle haberleşmek için bazı haberleşme protokolleri kullanır. Bu protokollerden birisi de I2C'dir. I2C (Inter-Integrated Circuit), seri haberleşme türlerinden senkron haberleşmeye bir örnektir. Haberleşme için toprak hattı dışında SDA ve SCL olmak üzere iki hatta ihtiyaç duyulmaktadır. Hat sayısının fazla olması nedeniyle, uzun mesafeli haberleşmelerde tercih edilmez. Genellikle kısa mesafeli ve düşük veri aktarım hızının yeterli olduğu yerlerde kullanılır.  (Turkcel, Geleceği Yazanlar  https://gelecegiyazanlar.turkcell.com.tr/konu/arduino/egitim/arduino-401/i2c-protokolu)

Not: LCD ekran ile i2c modülü ayrı ayrı gelmektedir ve bu iki parçayı birbirine lehimlemeniz gerekmektedir. Eğer lehim makinanız ve teliniz varsa internetten bakarak basit bir şekilde yapabilirsiniz. Veya bu konu için bir dükkandan yardım alabilirsiniz.

 

LCD 16x2 i2c Kullanımı Devresi

i2c modülünde 4 pin vardır bunlar SDA, SCL, GND ve VCC. GND pini arduinoda GND pinine, VCC 5V'a bağlanır. SDA ve SCL pinleri ise arduino modellerine göre değişiklik gösterir. Arduino Uno kullandığımız bu projede SDA pini A4'e ve SCL pini de A5 pinine bağlanır.         

Kütüphane nedir? Arduino'ya kütüphane nasıl eklenir?

Bu uygulamamızda lcd ekranı kullanırken bir kütüphaneden yararlanacağız. O yüzden kütüphane nedir ve arduinoya nasıl kütüphane eklenir sorularına cevap bulmaya çalışalım.

Arduino üzerinde kullanılan kütüphaneler ise ayrıca bir öneme daha sahiptirler. Bilindiği üzere arduino projeleri sadece programlama  ile gerçekleştirilmiyor. Programlamanın yanında elektronik bileşenler, çeşitli sensörler, butonlar vesaire bir sürü ek elemana da ihtiyaç duyuluyor. Bu elemanlardan bir çoğu ise kendi içerisinde başlı başına bir yapıya, çalışma örgüsüne sahip oluyor. Kısacası bu elemanlar ile arduino programlamasını birleştirecek ve köprü görevi görecek yapıları kütüphaneler oluşturuyor. (https://www.muhendisbilim.com/1363-arduinoda-kutuphaneler-ve-kullanimlari)
1- Taslak /  librar ekle / librarylieri düzenle menüsü seçilir ve arama kısmından ilgili kütüphane aranarak, bulunur ve yükleme işlemi yapılır.
2- .zip formatında indirdiğiniz kütüphaneleri eklemek için
Taslak/ library ekle/.zip kitaplığı ekle seçilir ve bilgisayarımıza indirdiğimiz zip uzantılı kütüphane dosyası seçilir.
3-zip/rar (sıkıştırılmış dosya) olarak herhangi bir yerden bilgisayarımıza indirdiğimiz kütüphaneyi önce zip/rar dan çıkarınız. Daha sonra klasörü arduinonun kurulu olduğu klasörde yer alan libraries klasörü içine kopyalarız. Genellikle belgelerim / arduino /libraries şeklindedir.

 

LCD 16x2 i2c Kodları

Arduino'da bu uygulamada i2c modülü için bir kütüphane kullanmamız gerekmektedir.  Bu uygulamada LiquidCrystal_I2C isimli kütüphaneyi kullandık. Kodların doğru çalışması için aşağıda anlatılan şekilde kütüphaneyi bilgisayarınıza yüklemeniz gerekmektedir.
LiquidCrystal_I2C Kütüphanesini indirmek için tıklayınız. 

#include <LiquidCrystal_I2C.h>
//kütüphaneyi ekledik.
LiquidCrystal_I2C lcd(0x27, 16, 2);
// i2c'nin adresini ve tipini ekledik.
//adres bazı i2c modülleri için 0x27 yerine 03f yazmamız gerekebilir
//16 ,2 değerleri ise 16 sütun, 2 satırlık bir lcd olduğunu belirtiyor.



void setup()
{
  lcd.begin();     //lcd başladı
}

 
 
void loop()
{
  lcd.home();
  lcd.print("KONTROL BIZDE");  // yazdırılacak yazı
  lcd.setCursor(0, 1);  //yazının yazılacağı satır ve sütün sayısı
  lcd.print("ctrlbizde.com");
  lcd.setCursor(0, 2);

}

 

LCD 16x2 i2c Mblock Kodları

Mblockta lcd 16x2 i2c kullanmak için öncelikle Uzantılar / Uzantıları Yönet kısmını tıklıyoruz ve arama kısmından arama yaparak LCD with I2C Interface Plus isimli kütüphaneyi indiriyoruz. 
Kütüphaneyi doğrudan dizine atmak için, mblock programının yüklü olduğu dizine giriyoruz (masaüstündeki simgeyi sağ tıklayıp/ özellikler/dosya konumunda aç) ve burada Arduino/Libraries klasörü içine ilgili kütüphane klasörünü yapıştırıyoruz.

 

LCD ile Neden I2C kullandık?

Not1: I2C kullanmadan da lcd ekranı kullanabilirdik, ancak çok fazla kablo kullanmamız gerekirdi. I2C olmadan lcd ekran kullanımının kodlarını ve devresini es geçiyoruz. Aşağıdaki fotoğrafı görünce i2c ile kullanmanın daha mantıklı olduğunu göreceksiniz :)

 

 

Not2: LiquidCrystal_I2C_AvrI2C lcd(0x27,16,2) satırındaki 0x27 sizin I2C arabiriminizin adresi olacaktır. Genelde 0x27 olmakla beraber bazen başka adreslerde olabiliyor. 0x27 çalışmazsa 0x3f deneyin. O da olmazsa bu adresi öğrenebileceğiniz bir kod var. i2cscanner şeklinde aratabilirsiniz dilerseniz. Veya buraya tıklayarak indirebilirsiniz. Kodu çalıştırıp, seri port ekranından i2c adresini öğrenebilirsiniz.
https://gist.github.com/tfeldmann/5411375#file-i2c_scanner-ino
(http://www.cazda.com/lcd-panel-i2c-arabirimi-adresi-nasil-tespit-edilir/)

 

 

Not3: Arduino 16×2 / 20×4 LCD Panellerde Sadece İlk Karakter Gösterme Sorunu

http://www.cazda.com/arduino-16x2-20x4-lcd-panellerde-sadece-ilk-karakter-gosterme-sorunu/

 

 

Mutlaka Ziyaret edin, izleyin, öğrenin

Lezzetli Robot Tarifleri LCD i2c anlatımı
https://www.youtube.com/watch?v=NPsSUCNJxJI

Robotistan LCDuygulaması

https://www.youtube.com/watch?v=8uCDdassd-g

Mblock ile ilgili güzel bir anlatım vardır.
Fenkolikler
https://www.youtube.com/watch?v=vOcIHUqWqLg

 

 

Share:

Latest from RAM