ARDUİNO İLE LCD EKRAN KULLANIMI KODLARI VE BAĞLANTILARI (I2C MODÜLLÜ VE MODÜLSÜZ)

Bu yazıda şu başlıklardan bahsedilecektir:

LCD NEDİR LCD EKRANLAR NASIL ÇALIŞIR

LCD ÇEŞİTLERİ NELERDİR?

ARDUİNO İLE KULLANILABİLEN LCD EKRANLAR NELERDİR

KARAKTER LCD ÇEŞİTLERİ NELERDİR?

LCD EKRANLAR İLE YAPILAN ARDUİNO PROJELERİ NELERDİR

ARDUİNO İLE LCD KULLANIMI, BAĞLANTILARI VE KODLARI NELERDİR

I2C İLE ARDUİNO KULLANARAK LCD KONTROL ETMEK BAĞLANTI VE KODLARI

I2C Lİ VE I2C SİZ LCD KULLANIMI KARŞILAŞTIRILMASI

LCD, HC-SR04 VE ARDUİNO KULLANARAK MESAFE ÖLÇÜM PROJESİ

LCD KULLANIRKEN NELERE DİKKAT ETMELİYİZ?

 

LCD NEDİR LCD EKRANLAR NASIL ÇALIŞIR

LCD, Liquid Crystal Display, sıvı kristal görüntüleme anlamına gelir. Elektronik cihazlarda görüntü veya veri göstermek için kullanılan bir ekran türüdür. LCD ekranlar enerji verimli, hafif ve ince olması nedeniyle birçok elektronik cihazda kullanılır, örneğin akıllı telefonlar, bilgisayarlar, televizyonlar, fotoğraf makineleri ve daha birçok cihaz.

LCD çalışma prensibi, sıvı kristallerin ışığı yansıtması ve filtrelemesi temel alır. LCD ekranın içinde birçok minik kristal bulunur, bu kristaller elektrik akımı uygulandığında şekillerini değiştirir ve ışığı yansıtır ya da engelleyebilir. Ekranda yer alan iki farklı polarizasyon filtresi, sıvı kristallerin yansıttığı ışığı belirli yönlere yönlendirir ve sıvı kristallerin şekil değiştirmesi sonucu belirli pikseller açık veya kapalı hale gelir. Bu şekilde, LCD ekranlarda resimler ve metinler görüntülenebilir.

LCD ÇEŞİTLERİ NELERDİR?

  • TN (Twisted Nematic) LCD: Bu tip LCD ekranların en eski ve yaygın türlerindendir. Basit tasarımları, düşük maliyeti ve hızlı tepki süresi ile popülerdir. Ancak renk doğruluğu ve görüntü açısı sınırlıdır.
  • IPS (In-Plane Switching) LCD: IPS LCD ekranlar renk doğruluğu ve görüntü açısının daha iyi olduğu bir LCD türüdür. Ancak bu tip ekranlar daha pahalı ve yavaş tepki süresine sahiptir.
  • PLS (Plane to Line Switching) LCD: PLS, IPS LCD’lerin gelişmiş bir varyantıdır. Renk doğruluğu ve görüntü açısı açısından IPS ekranlarla benzerdir, ancak daha ucuzdur ve daha hızlı tepki süresine sahiptir.
  • OLED (Organic Light Emitting Diode) LCD: OLED ekranlar, bir LED matrisinden oluşan ve her pikselin ayrı ayrı aydınlatabildiği ekran türleridir. Renkleri canlı ve kontrastı yüksektir. OLED ekranlar, düz ekranların yerini alabilecek şekilde tasarımlı ve incedir.
  • AMOLED (Active Matrix Organic Light Emitting Diode) LCD: AMOLED, OLED teknolojisinin bir varyantıdır. Her pikselin ayrı ayrı aydınlatabildiği gibi, görüntü kalitesi ve tepki süresi de yüksektir. AMOLED ekranlar, cep telefonları, tabletler ve televizyonlar gibi birçok elektronik cihazda kullanılır.
  • TFT (Thin Film Transistor) LCD: TFT, ekranın her pikselini ayrı ayrı aydınlatan ve dolayısıyla görüntü kalitesi yüksek olan LCD türüdür. TFT LCD’ler aynı zamanda hızlı tepki süresine sahiptir.
  • STN (Super Twisted Nematic) LCD: STN, TN LCD’lerin gelişmiş bir varyantıdır. Renk doğruluğu ve görüntü açısı daha iyidir, ancak tepki süresi yavaştır.
  • FSTN (Film Compensated Super Twisted Nematic) LCD: FSTN, STN LCD’lerin gelişmiş bir varyantıdır. Ekranlar daha iyi görüntü açısına ve renk doğruluğuna sahip olmasına rağmen, tepki süresi hala yavaştır. FSTN LCD’ler genellikle düşük fiyat ve düşük güç tüketimi gereksinimleri olan cihazlar için kullanılır.

ARDUİNO İLE KULLANILABİLEN LCD EKRANLAR NELERDİR

Arduino ile kullanılabilecek LCD ekranlar şunlardır:

  1. Character LCD: Bu tip LCD ekranlar, ASCII karakterlerini görüntüleyebilen basit bir matristen oluşur. Arduino ile kolayca kullanılabilir ve ucuzdur.
  2. Graphic LCD: Bu tip LCD ekranlar, grafikleri ve şekilleri görüntüleyebilen daha gelişmiş bir matristen oluşur. Arduino ile kullanımı daha zordur ve daha pahalıdır.
  3. TFT LCD: TFT (Thin Film Transistor) LCD ekranlar, renkli ve grafiksel görüntüler görüntüleyebilen LCD türleridir. Arduino ile kullanımı kolaydır ve geniş bir renk yelpazesine sahiptir.
  4. OLED LCD: OLED (Organic Light Emitting Diode) LCD ekranlar, düz ekranların yerini alabilecek şekilde tasarımlı ve incedir. Renkleri canlı ve kontrastı yüksektir. Arduino ile kullanımı kolaydır.
  5. AMOLED LCD: AMOLED (Active Matrix Organic Light Emitting Diode) LCD ekranlar, OLED teknolojisinin bir varyantıdır. Her pikselin ayrı ayrı aydınlatabildiği gibi, görüntü kalitesi ve tepki süresi de yüksektir. Arduino ile kullanımı kolaydır.

KARAKTER LCD ÇEŞİTLERİ NELERDİR?

Bu yazımızda Arduino ile karakter lcd kullanımından bahsedeceğiz. Bu nedenle karakter lcd çeşitlerinden de bahsetmemiz gerekmektedir.

  1. 16×2 Character LCD: En yaygın ve basit character LCD tipidir. İki satır ve her satırda 16 karakter sığar.
  2. 20×4 Character LCD: Daha fazla yazı görüntüleyebilen ve daha fazla satırı olan bir character LCD tipidir.
  3. 8×1 Character LCD: En küçük character LCD tipidir ve sadece bir satır ve 8 karakter sığar.
  4. 40×2 Character LCD: İki satır ve her satırda 40 karakter sığar.
  5. 128×64 Character LCD: Grafikleri de görüntüleyebilen ve daha gelişmiş bir character LCD tipidir.

 

LCD EKRANLAR İLE YAPILAN ARDUİNO PROJELERİ NELERDİR

Arduino ile LCD ekranlarla yapılabilecek projeler şunlardır:

  1. Zaman ve Tarih Göstergesi: LCD ekran kullanarak real-time clock modülü ile zaman ve tarihi göstermek.
  2. Menü ve Seçeneklerin Göstergesi: Kullanıcıların seçebileceği seçenekleri ve menüyü LCD ekran üzerinde görüntülemek.
  3. Sensör Okuma ve Göstergesi: Örneğin, sıcaklık, nem, aydınlatma gibi sensör verilerini okuyup LCD ekran üzerinde görüntülemek.
  4. Uyku ve Meditasyon Yardımcısı: LCD ekran kullanarak kullanıcıların uyku ve meditasyon sürelerini göstermek ve takip etmek.
  5. Sınav Sonuçlarının Göstergesi: LCD ekran kullanarak sınav sonuçlarını görüntülemek ve kaydetmek.
  6. Bluetooth Kontrollü Egzersiz Cihazı: LCD ekran kullanarak Bluetooth modülü ile egzersiz cihazını kontrol etmek ve verileri görüntülemek. LCD Tablo: LCD ekran kullanarak çoklu oyunlar, skorlar ve verileri görüntülemek için bir LCD tablo oluşturmak.
  7. Dijital Termostat: LCD ekran kullanarak sıcaklık sensörü ve termistör modülü ile evin ısısını kontrol etmek ve görüntülemek.
  8. Otomatik Su Seviyesi Kontrol Sistemi: LCD ekran kullanarak su seviyesi sensörü ile su seviyesini kontrol etmek ve görüntülemek.
  9. Otomatik Bitki Sulama Sistemi: LCD ekran kullanarak nem sensörü ile bitki nem seviyesini kontrol etmek ve görüntülemek.

 

I2C MODÜLLÜ VE I2C MODÜLSÜZ GRAFİK LCD FARKLARI

I2C modülü, Inter-Integrated Circuit (I2C) adı verilen bir veri transfer protokolü kullanarak, bir LCD ekranı ve bir Arduino gibi bir mikrodenetleyici arasındaki veri transferini kolaylaştıran bir ara birimdir. I2C modülü, sadece 2 hat (SDA ve SCL) kullanarak veri ve güç taşır ve bu da daha az breadboard kullanımı ve daha az kablo bağlantısı anlamına gelir.

I2C modülünün avantajları şunlardır:

  1. Daha az pin gerektirir: I2C modülü, daha az sayıda pin gerektirir, bu da daha az breadboard kullanımı ve daha az kablo bağlantısı anlamına gelir.
  2. Daha kolay yapılandırma: I2C modülü, sadece bir I2C adresine bağlanır ve bu da daha kolay yapılandırma ve kullanım anlamına gelir.
  3. Daha hızlı veri transfer hızı: I2C modülü, daha hızlı veri transfer hızına sahiptir.
  4. Daha az kod yazma gerekliliği: I2C modülü kullanarak, LCD ekranı ile mikrodenetleyici arasındaki veri transferi için daha az kod yazma gerekliliği vardır.

Bu avantajlar, I2C modülü kullanarak LCD ekranı ve mikrodenetleyici arasındaki veri transferini daha kolay, daha hızlı ve daha az kod yazma gerekliliği ile yapmanıza olanak tanır.

 

I2C MODÜLLÜ 1602 LCD ARDUİNO İLE KULLANMAK BAĞLANTI VE KODLARI

arduino lcd hcsr04 mesafe sensörü koldar ve bağlantılar
arduino lcd hcsr04 mesafe sensörü koldar ve bağlantılar

İ2c modüllü 1602 lcd ekranınızı arduinoya şu şekilde bağlayabilirsiniz:

  1. I2C modüllü LCD ekranının 5V ve GND pini ile Arduino kartının 5V ve GND pini arasında bir bağlantı kurun.
  2. I2C modüllü LCD ekranının SDA pini ile Arduino kartının A4 pini arasında bir bağlantı kurun.
  3. I2C modüllü LCD ekranının SCL pini ile Arduino kartının A5 pini arasında bir bağlantı kurun.

Aşağıdaki adımlar I2C modüllü 1602 karakter LCD’yi Arduino ile nasıl kullanabileceğinizi ve ekrana “robotyapimi.com” yazdırabileceğinizi açıklar:

  1. Gerekli malzemelerin bağlantısı: I2C modüllü 1602 karakter LCD’yi Arduino’ya bağlamak için gerekli malzemeler: LCD, I2C modül, jumper kablolar.
  2. Arduino IDE’yi açın ve aşağıdaki kodu yapıştırın:

///////////////

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

 

LiquidCrystal_I2C lcd(0x27, 16, 2);

 

void setup() {

lcd.begin();

lcd.backlight();

lcd.clear();

}

 

void loop() {

lcd.clear();

lcd.print(“robotyapimi.com”);

delay(1000);

lcd.noDisplay();

delay(1000);

lcd.display();

}

//////////////

  1. Kodu yükleyin: Arduino’ya bağlı olan I2C modüllü 1602 karakter LCD ekrana “robotyapimi.com” yazacak, 1 saniye sönecek ve 1 saniye yanacak.

Bu adımları izleyerek I2C modüllü 1602 karakter LCD’yi Arduino ile nasıl kullanabileceğinizi ve ekrana “robotyapimi.com” yazsın sönsün yansın isteğinizi yerine getirebileceğinizi öğrenebilirsiniz.

KODLARI AÇIKLAYALIM

  1. İlk olarak “Wire.h” ve “LiquidCrystal_I2C.h” kütüphanelerini dahil etmemiz gerekir. Bu kütüphaneler arduino’da I2C haberleşmesini kolaylaştıran fonksiyonlar içerir.
  2. Ardından, I2C modülünün özelliklerini tanımlayan “LiquidCrystal_I2C lcd(0x27, 16, 2)” ifadesini kullanırız. Burada, “0x27” adresi modülün I2C adresidir, “16” modülün karakter sayısıdır ve “2” ise satır sayısıdır.
  3. “setup()” fonksiyonu ile LCD’nin başlangıç ayarlarını yaparız. Bunun için “lcd.begin()” fonksiyonunu çağırarak başlatırız. “lcd.backlight()” fonksiyonu ile arka ışığı açarız ve “lcd.clear()” ile ekranı temizleriz.
  4. “loop()” fonksiyonunda ise “robotyapimi.com” yazısının gösterilmesi ve ardından ekranın kapatılması ve tekrar açılması için kodları yazırız. Bunun için “lcd.clear()” ile ekranı temizleriz, “lcd.print(“robotyapimi.com”)” ile yazıyı ekrana yazdırırız, “delay(1000)” ile bir saniye bekler ve “lcd.noDisplay()” ile ekranı kapatırız. Son olarak tekrar açmak için “lcd.display()” fonksiyonunu çağırırız ve tekrar “delay(1000)” ile bir saniye bekleriz.

 

I2C MODÜLÜ OLMAYAN 1602 KARAKTER LCD Yİ ARDUİNOYA NASIL BAĞLARIZ VE NASIL YAZI YAZDIRIRIZ?

arduino lcd hcsr04 mesafe sensörü koldar ve bağlantılar
arduino lcd hcsr04 mesafe sensörü koldar ve bağlantılar

1602 LCD ekranınız I2C modülü olmadan Arduino’ya bağlamak için aşağıdaki malzemelere ihtiyacınız olabilir:

  1. 1602 LCD ekranı
  2. 10k potentiometer
  3. breadboard
  4. Jumper kablolar
  5. Resistörler (4.7k ve 10k)
  6. Arduino UNO gibi bir mikrodenetleyici

Bağlantıları yaparken, LCD ekranının sıvı crystal (LCD) pinlerini breadboard üzerinden Arduino’ya bağlamanız ve gerekli pull-up ve pull-down dirençlerini yerleştirmeniz gerekir. Potentiometer, LCD’nin parlaklık seviyesini ayarlamanıza yardımcı olacaktır.

ŞU KODLARI KULLANABİLİRSİİNİZ

///////////

#include <LiquidCrystal.h>

 

LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // LCD pin bağlantıları

 

void setup() {

lcd.begin(16, 2); // LCD’nin kullanılacağı konfigürasyon

lcd.clear(); // Ekranı temizle

}

 

void loop() {

lcd.setCursor(0, 0); // İlk satır başlangıç noktası

lcd.print(“robotyapimi.com”); // Yazı yaz

delay(500); // Yarım saniye bekle

lcd.clear(); // Ekranı temizle

delay(500); // Yarım saniye bekle

}

/////////////

ARDUİNO İLE LCD EKRAN KONTROLÜNDE SIK KULLANILAN FONKSİYON VE KOMUTLAR

Arduino ile LCD ekran kullanmak için sık kullanılan komutlar ve fonksiyonlar:

  1. lcd.begin(cols, rows) – Ekrana verilen sütun ve satır sayısını ayarlar.
  2. lcd.clear() – Ekranı temizler.
  3. lcd.setCursor(col, row) – İmleci verilen sütun ve satırda pozisyona getirir.
  4. lcd.print(data) – Ekrana verilen veriyi yazdırır.
  5. lcd.display() – LCD ekranını açar.
  6. lcd.noDisplay() – LCD ekranını kapatır.
  7. lcd.scrollDisplayLeft() – Ekranı sola kaydırır.
  8. lcd.scrollDisplayRight() – Ekranı sağa kaydırır.
  9. lcd.leftToRight() – Yazının soldan sağa doğru yazılmasını ayarlar.
  10. lcd.rightToLeft() – Yazının sağdan sola doğru yazılmasını ayarlar.
  11. lcd.createChar(location, charmap) – LCD ekranına özel karakter oluşturmak için kullanılır.
  12. lcd.write(value) – Ekrana verilen değeri (ASCII kodlu bir karakter veya özel karakter) yazdırır.
  13. lcd.blink() – İmlecin yanıp sönmesini açar.
  14. lcd.noBlink() – İmlecin yanıp sönmesini kapatır.
  15. lcd.cursor() – İmleci ekranda görünür hale getirir.
  16. lcd.noCursor() – İmleci ekranda görünmez hale getirir.
  17. lcd.home() – İmleci en sol üst noktaya getirir.

LCD, HC-SR04 VE ARDUİNO KULLANARAK MESAFE ÖLÇÜM PROJESİ

 

arduino lcd hcsr04 mesafe sensörü koldar ve bağlantılar
arduino lcd hcsr04 mesafe sensörü koldar ve bağlantılar

Aşağıdaki adımlar ile I2C modüllü LCD, HC-SR04 ve Arduino kullanarak mesafe ölçüm projesi yapabilirsin:

  1. Malzemelerin toplanması: Projeyi yapmak için gerekli olan malzemeler, I2C modüllü LCD ekran, HC-SR04 mesafe sensörü, Arduino kartı ve bağlantı kablolarıdır.
  2. Malzemelerin bağlantısı: HC-SR04 mesafe sensörünün VCC, GND, TRIG ve ECHO pinnlerini Arduino’nun +5V, GND, PIN 11 ve PIN 12 pinnleri ile bağla. I2C modüllü LCD ekranının VCC, GND, SDA ve SCL pinnlerini Arduino’nun +5V, GND, A4 ve A5 pinnleri ile bağla.
  3. Kodların yazılması: Aşağıdaki kodları Arduino IDE programına kopyala ve yükle:

////////////////////

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include <Ultrasonic.h>

 

LiquidCrystal_I2C lcd(0x27,16,2);

Ultrasonic ultrasonic(11, 12);

 

void setup() {

lcd.init();

lcd.backlight();

lcd.begin(16, 2);

lcd.setCursor(0,0);

lcd.print(“Mesafe: “);

}

 

void loop() {

lcd.setCursor(8,0);

lcd.print(ultrasonic.distanceRead()/2.54);

lcd.print(” cm”);

delay(100);

}

/////////////////

 

  1. Projenin çalıştırılması: Arduino kartını bilgisayarına bağla ve projeyi çalıştır. Ekranda “Mesafe: ” yazısının yanında sensör tarafından okunan mesafe değeri (cm cinsinden) görüntülenecektir.

Bu projede, HC-SR04 sensörü tarafından okunan mesafe verileri I2C modüllü LCD ekrana yazdırılır.

 

KODLARI AÇIKLAYALIM

  1. Başlık kütüphaneleri: Kodun başında gerekli olan kütüphaneler Wire.h, LiquidCrystal_I2C.h ve Ultrasonic.h şeklinde tanımlanır.
  2. LCD tanımlama: LiquidCrystal_I2C lcd(0x27,16,2); satırıyla I2C modüllü LCD ekran tanımlanır ve ekranın adresi 0x27, sütun sayısı 16 ve satır sayısı 2 şeklinde belirlenir.
  3. HC-SR04 tanımlama: Ultrasonic ultrasonic(11, 12); satırıyla HC-SR04 mesafe sensörü tanımlanır ve TRIG pininin 11 ve ECHO pininin 12 olarak belirlenir.
  4. setup() fonksiyonu: Bu fonksiyon projenin başlama noktasıdır ve LCD ekranının başlangıç ayarlarını yapar. lcd.init(); ile ekran başlatılır, lcd.backlight(); ile aydınlatma açılır ve lcd.begin(16, 2); ile ekranın sütun ve satır sayısı belirlenir. Ayrıca, lcd.setCursor(0,0); ile kursorun ilk satır başlangıç noktası belirlenir ve lcd.print(“Mesafe: “); ile “Mesafe: ” yazısı ekrana yazdırılır.
  5. loop() fonksiyonu: Bu fonksiyon programın tekrar tekrar çalışmasını sağlar ve mesafe değerlerinin güncellenmesini sağlar. lcd.setCursor(8,0); ile kursorun 8. sütunun 0. satırına taşınır ve lcd.print(ultrasonic.distanceRead()/2.54); ile mesafe sensörü tarafından okunan mesafe değeri cm cinsinden ekrana yazdırılır. lcd.print(” cm”); ile ” cm” eklendi. delay(100); satırı ile 100 ms bekleme yapılır ve program tekrar başlar.

 

LCD KULLANIRKEN NELERE DİKKAT ETMELİYİZ?

Arduino ile LCD kullanırken şu noktalara dikkat etmelisiniz:

  1. Doğru pinde bağlantı: LCD’nin RS, EN, D4, D5, D6, D7 girişleri Arduino’nun digital pinnlerine bağlanmalıdır.
  2. Eksik kütüphaneler: LCD kullanmak için LiquidCrystal kütüphanesi kullanılmalıdır.
  3. Pin modelleri: LCD’nin 4 veya 8 pinli modelleri bulunabilir. Doğru pin modelini seçmelisiniz.
  4. Güç kaynağı: LCD, güç kaynağı gerebilir, bu nedenle ek bir güç kaynağı kullanmanız gerekir.
  5. Bağlantı hızı: Bağlantı hızı olarak doğru değeri belirlemelisiniz.
  6. Karakter seti: LCD’de görüntülenecek karakterlerin belirli bir karakter seti olduğunu unutmayın.
  7. Ekran boyutu: LCD ekranının boyutunu ve karakter sayısını belirleyin.
  8. Görüntüleme modu: LCD’nin görüntüleme modunu (yatay veya dikey) belirleyin ve gerekli ayarlamaları yapın.
  9. Aydınlatma: LCD’nin aydınlatma seviyesini ayarlayın ve gerekiyorsa ek bir aydınlatma kaynağı kullanın.
  10. Pull-up veya pull-down dirençleri: LCD bağlantıları için pull-up veya pull-down dirençleri kullanılabilir. Bağlantı şemasına göre doğru dirençleri seçin.