Arduino Devreleri #26 Arduino LCD I2C 16X2 Ekran Bağlantısı ve Komutları
Merhabalar, bu yazımızda Arduino uygulamaları serisinden Arduino LCD I2C 16X2 Ekran Bağlantısı ve Komutları hakkında bilgi vereceğim.
LCD I2C 16X2 Arduino devre bağlantı şeması ve görüntüleme seçenekleri şu şekildedir.
ARDUİNO LCD I2C 16X2 EKRAN KULLANIMI
I2C, bir haberleşme protokolüdür. Bu modül sayesinde LCD ekranınızı enerji pinleri hariç 2 tane pin yardımı ile (Sda ve Scl üzerinden) çalıştırabilmekteyiz. Öncelikle bunun için bir I2C kütüphanesine ihtiyacımız bulunmaktadır. Bu kütüphaneyi buradan indirebilirsiniz. Ayrıca bu modül üzerinde bir de potansiyometre vardır. Bu potansiyometre sayesinde modülün ekran parlaklığını ayarlayabilmektedir.
LCD göstergemize I2C arabirim takılı ise yada sonradan takmış isek Arduino UNO kartına bağlantı yukarıdaki resimdeki gibi olacaktır. I2C arabirim kartında VCC, GND, SDA, SCL olmak üzere toplam 4 bağlantı noktası vardır. I2C arabirim kartında;
VCC pini, Arduino UNO kartımızda 5V girişine,
GND pini GND girişine,
SDA pini Analog A4 girişine,
SCL pini ise Analog A5 girişine bağlanıyor.
Arduino UNO son sürüm kartlarda ise digital pinlerin sonunda SDA ve SCL pinleri ayrıca bulunmaktadır. Bu pinlerde kullanılmaktadır.
LCD GÖRÜNTÜLEME SEÇENEKLERİ:
LiquidCrystal kütüphanesinde kullanabileceğimiz bazı fonksiyonları tanıyalım.
LiquidCrystal ( )
İşlevi Arduino’nun LCD’ye bağlanmak için kullandığı pinleri ayarlar. Bu işlev, programın void setup () bölümünün önüne yerleştirilmelidir.
lcd.begin ( )
Bu işlev LCD’nin boyutlarını ayarlar. Programın void setup () bölümünde herhangi bir LiquidCrystal işlevinin önüne yerleştirilmelidir. Satır ve sütunların sayısı lcd.begin (sütunlar, satırlar) olarak belirtilir. 16×2 LCD için, lcd.begin (16, 2) kullanmanız gerekiyor ve 20×4 LCD için lcd.begin (20, 4) kullanmanız gerekiyor.
Not: I2C bağlantılı LCD ekranda LiquidCrystal kütüphanesi sonuna eklenerek kullanılır.
Örn: LiquidCrystal_I2C_AvrI2C lcd(0x27,16,2);
0x27 değeri, karta ait arabirim değeridir. Bazı kartlarda arabirim adresi 0x3f olabilmektedir.
lcd.clear ( )
Bu işlev, LCD’de hâlihazırda görüntülenen herhangi bir metni veya veriyi siler. lcd.print ( ) ile lcd.clear ( ) öğesini ve void loop ( ) bölümünde delay ( ) işlevini kullanırsanız, basit bir yanıp sönen metin programı oluşturabilirsiniz.
lcd.setCursor ( )
Bu işlev, imleci (ve herhangi bir yazılı metni) ekranın herhangi bir yerine yerleştirir. Programınızın void setup ( ) veya void loop ( ) bölümünde kullanılabilir.
lcd.write ( )
LCD’ye farklı tipte veri yazmak için bu işlevi kullanabilirsiniz. Örneğin bir sıcaklık sensöründen okuma veya bir GPS modülünden gelen koordinatlar. Kendiniz oluşturduğunuz özel karakterleri yazdırmak için de kullanabilirsiniz. Programınızın void setup ( ) veya void loop ( ) bölümünde lcd.write ( ) öğesini kullanabilirsiniz.
lcd.print ( )
Bu işlev, LCD’ye metin yazdırmak için kullanılır. Programın void setup () bölümünde veya void loop () bölümünde kullanılabilir.
Harfleri ve sözcükleri yazdırmak için, metnin etrafına tırnak işaretleri (” “) yerleştirilir. Örn: lcd.print(“merhaba”);
Sayıları yazdırmak için tırnak işaretleri gerekmez. Örneğin; 123456789’u yazdırmak için lcd.print(0123456789); yazabilirsiniz.
lcd.Cursor( )
Bu işlev görünür bir imleç oluşturur. İmleç, LCD’ye yazdırılacak bir sonraki karakterin altına yerleştirilmiş yatay bir çizgidir.
lcd.noCursor ( )
Bu işlev imleci kapatır. lcd.cursor ( ) ve lcd.noCursor ( ) birçok metin giriş alanında void loop ( ) bölümünde birlikte kullanılabilir.
lcd.blink ( )
Bu işlev, döngü başına yaklaşık 500 milisaniyede bir yanıp sönen blok stili bir imleç oluşturur. Bunu void loop ( ) bölümünde kullanın. lcd.noBlink ( ) işlevi yanıp sönen blok imlecini devre dışı bırakır.
lcd.display ( )
Bu işlev, LCD ekrana yazdırılmış herhangi bir metin veya imleci açar.
lcd.noDisplay ( )
LCD’nin belleğinden silmeden LCD’ye yazdırılan herhangi bir metni veya imleci kapatır.
lcd.scrollDisplayLeft ( )
Bu işlev, LCD’ye yazdırılan her şeyi alır ve sola taşır. Bunu takiben bir gecikme komutu ile void loop ( ) bölümünde kullanılmalıdır.
lcd.scrollDisplayRight( )
Bu işlev, lcd.scrollDisplayLeft ( ) gibi davranır ancak metni sağa taşır.
lcd.autoscroll( )
Bu işlev bir metin dizisi alır ve dizinin karakter sayısının artışlarıyla sağdan sola kaydırır. Örneğin; 3 ka lcd.noAutoscroll( )
lcd.noAutoscroll ( ), lcd.autoscroll ( ) işlevini kapatır. Kayan metin veya animasyon dizileri oluşturmak için void loop ( ) bölümünde lcd.autoscroll ( ) işlevinden önce veya sonra bu işlevi kullanabilirsiniz. Karakter uzunluğunda bir metin diziniz varsa, her adımda metni 3 alan sola kaydırır.
lcd.createChar ( )
Bu komut kendi özel karakterlerinizi oluşturmanıza izin verir. 16×2 LCD’nin her bir karakterinin 5 piksel genişliği ve 8 piksel yüksekliği vardır. Tek bir programda 8 farklı özel karakter tanımlanabilir.
Bir sonraki yazımızda bu komutlar ile oluşturduğumuz Arduino kod yazımını görebilirsiniz.
Arduino LCD I2C 16X2 Ekran Bağlantısı ve Komutları
Devre hakkında yorumlarınızı aşağıdaki yorum kısmına yazabilirsiniz. Youtube kanalımızda da mBlock ve Arduino ile ilgili ders videoları bulabileceksiniz. Youtube kanalıma abone olmayı da unutmayınız.
https://www.youtube.com/@candemirahmet
Yorum Yap