Arduino ile 16x2 LCD Ekran Kullanımı
- Arduino ile 16x2 LCD Ekran Kullanımı
- 1. 16x2 LCD Ekran Nedir?
- Özellikleri:
- 2. 16x2 LCD Ekranın Pin Yapısı
- 3. Arduino LCD Bağlantı Şeması (4-Bit Mod)
- 4. Arduino LCD Kodları (Temel Kullanım)
- Kod Örneği:
- Kod Açıklaması:
- 5. LCD’de Metin Kaydırma (Scroll)
- Örnek Kod:
- 6. LCD’ye Sensör Verisi Yazdırma (Uygulama)
- Gerekli Malzemeler:
- Kod:
- 7. I2C LCD Modülü ile Kolay Bağlantı
- Avantajları:
- I2C LCD Bağlantısı:
- I2C LCD Kod Örneği:
- 8. Sık Karşılaşılan Hatalar ve Çözümleri
- 1. Ekran Boş veya Karakterler Görünmüyor
- 2. I2C LCD’de Yazı Görünmüyor
- 3. Karakterler Bozuk Görünüyor
- 4. LCD Sürekli Aynı Değeri Gösteriyor
- 9. Arduino LCD Proje Fikirleri
- 10. LCD Ekranda Türkçe Karakter Kullanımı
- Örnek:
- 11. LCD Arka Işık ve Enerji Tasarrufu
- Örnek Kod:
- Sonuç: Arduino ile LCD Kullanımı Projelerinizi Görünür Kılar
Arduino ile 16x2 LCD Ekran Kullanımı
Elektronik projelerde verileri ekranda göstermek istiyorsanız, Arduino ile 16x2 LCD ekran kullanımı en pratik çözümlerden biridir.
Bu ekranlar sayesinde sensör verilerini, sıcaklık ölçümlerini, saat bilgilerini veya kullanıcı mesajlarını kolayca görüntüleyebilirsiniz.
Peki Arduino LCD ekran nasıl bağlanır, nasıl çalışır ve hangi kodlar kullanılır?
Bu yazıda 16x2 LCD ekranların yapısını, bağlantı şemasını, örnek kodları ve sık karşılaşılan hataların çözümlerini adım adım inceleyeceğiz.
1. 16x2 LCD Ekran Nedir?
LCD (Liquid Crystal Display), Türkçesiyle “Sıvı Kristal Ekran”, elektronik projelerde en sık kullanılan görüntü birimidir.
16x2 LCD ekran, adından da anlaşılacağı üzere 16 sütun ve 2 satırdan oluşur.
Yani aynı anda 32 karakter (16 karakter x 2 satır) görüntüleyebilir.
Bu ekranlar genellikle HD44780 denetleyici çipini kullanır ve Arduino LCD kütüphanesi (LiquidCrystal) ile uyumludur.
Özellikleri:
- 5V ile çalışır.
- 16 pinli bağlantı arayüzü vardır.
- Her karakter 5x8 piksel matristen oluşur.
- Işıklı arka plan (backlight) mevcuttur.
- Harici potansiyometre ile kontrast ayarı yapılabilir.
Bu özellikleri sayesinde Arduino 16x2 LCD ekran, veri görüntülemek için oldukça idealdir.
2. 16x2 LCD Ekranın Pin Yapısı
Bir Arduino LCD ekran tipik olarak 16 pine sahiptir.
Her bir pinin işlevi aşağıdaki gibidir:
Pin NoAdıAçıklama1VSSToprak (GND) bağlantısı2VDD+5V besleme3V0Kontrast ayarı (potansiyometre ile)4RSRegister Select: Komut veya veri seçimi5RWRead/Write: Okuma-yazma modu (genellikle GND’ye bağlanır)6EEnable: Veri gönderme sinyali7–14D0–D7Veri pinleri15LED+Arka ışık pozitif (+5V)16LED–Arka ışık negatif (GND)
Genellikle 4-bit mod kullanılır (D4–D7 aktif).
Bu sayede 6 pin yerine 4 veri piniyle bağlantı yapılır ve Arduino’da pin tasarrufu sağlanır.
3. Arduino LCD Bağlantı Şeması (4-Bit Mod)
16x2 LCD ekranı Arduino UNO ile bağlamak için şu bağlantıları yapabilirsiniz:
LCD Pin, Arduino Pin, Açıklama
- VSS GND Toprak bağlantısı
- VDD 5V Güç bağlantısı
- V0 Potansiyometre orta ucu Kontrast ayarı
- RS 12 Register Select pini
- RW GND Yazma modu
- E 11 Enable pini
- D 45 Veri pini
- D 54 Veri pini
- D 63 Veri pini
- D 72 Veri pini
- A (15) 5V Arka ışık pozitif
- K (16) GND Arka ışık negatif
Potansiyometre bağlantısı:
- Sol uç → GND
- Sağ uç → 5V
- Orta uç → LCD’nin V0 pinine
Bu şekilde kontrast seviyesini manuel olarak ayarlayabilirsiniz.
Bu devre, Arduino LCD bağlantısı için en yaygın kullanılan standarttır.
4. Arduino LCD Kodları (Temel Kullanım)
Şimdi Arduino LCD kullanımı için gereken kodları yazalım.
Bu örnekte “Merhaba Arduino!” mesajını ekranda göstereceğiz.
Kod Örneği:
#include <LiquidCrystal.h>
// RS, E, D4, D5, D6, D7 pinlerini tanımlıyoruz
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2); // 16x2 LCD ekranı başlat
lcd.print("Merhaba Arduino!"); // 1. satıra yazı yaz
}
void loop() {
lcd.setCursor(0, 1); // 2. satırın başına git
lcd.print("LCD Ekran Hazir");
delay(1000);
}Kod Açıklaması:
#include <LiquidCrystal.h>→ LCD kütüphanesini dahil eder.lcd.begin(16,2)→ Ekranın boyutunu belirler.lcd.print()→ Ekrana metin yazdırır.lcd.setCursor(sütun, satır)→ Yazının ekrandaki konumunu belirler.
Bu basit örnekle artık Arduino LCD 16x2 ekranınıza metin yazdırabilirsiniz.
5. LCD’de Metin Kaydırma (Scroll)
Ekranda metin kaydırmak için lcd.scrollDisplayLeft() veya lcd.scrollDisplayRight() fonksiyonları kullanılır.
Örnek Kod:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
lcd.print("3DPrinterDestek.com");
}
void loop() {
lcd.scrollDisplayLeft();
delay(300);
}Bu kod, metni soldan sağa doğru kaydırır.
Uzun yazıları göstermek için oldukça kullanışlıdır.
6. LCD’ye Sensör Verisi Yazdırma (Uygulama)
Birçok proje, sensör verilerini LCD’ye yazdırmak ister.
Örneğin sıcaklık ve nem ölçen bir sistem yapalım (DHT11 sensörü ile).
Gerekli Malzemeler:
- Arduino UNO
- 16x2 LCD
- DHT11 sensör
- 10K potansiyometre
- Jumper kablolar
Kod:
#include <LiquidCrystal.h>
#include <DHT.h>
#define DHTPIN 7
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
dht.begin();
}
void loop() {
float sicaklik = dht.readTemperature();
float nem = dht.readHumidity();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Sicaklik: ");
lcd.print(sicaklik);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Nem: ");
lcd.print(nem);
lcd.print("%");
delay(2000);
}Bu kod, sensörden alınan sıcaklık ve nem değerlerini LCD’de sürekli günceller.
Gerçek bir Arduino LCD projesi örneğidir.
7. I2C LCD Modülü ile Kolay Bağlantı
16x2 LCD ekranın en büyük dezavantajı, çok fazla pin kullanmasıdır.
Bu sorunu çözmek için I2C (Inter-Integrated Circuit) arayüzü kullanılır.
Avantajları:
- Sadece 4 pin kullanır (VCC, GND, SDA, SCL).
- Daha az kablo karmaşası.
- Daha kolay bağlantı.
I2C LCD Bağlantısı:
I2C LCD Pin Arduino Pin
GND GND
VCC 5V
SDA A4
SCL A5
I2C LCD Kod Örneği:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.init();
lcd.backlight();
lcd.print("I2C LCD Calisiyor!");
}
void loop() {
lcd.setCursor(0, 1);
lcd.print("Merhaba Arduino");
delay(1000);
}I2C adresi genellikle 0x27 veya 0x3F olur.
Eğer ekranda yazı görünmüyorsa, farklı adresi deneyin.
8. Sık Karşılaşılan Hatalar ve Çözümleri
1. Ekran Boş veya Karakterler Görünmüyor
- Kontrast potansiyometresini ayarlayın.
- VDD (5V) ve GND bağlantılarını kontrol edin.
- RS ve E pinlerinin doğru bağlandığından emin olun.
2. I2C LCD’de Yazı Görünmüyor
- I2C adresi yanlış olabilir (
0x27yerine0x3Fdeneyin). lcd.init()komutunun çağrıldığından emin olun.
3. Karakterler Bozuk Görünüyor
- D4–D7 pinlerinden biri yanlış bağlı olabilir.
- GND ve RW bağlantılarını gözden geçirin.
4. LCD Sürekli Aynı Değeri Gösteriyor
- Kodun içinde
lcd.clear()komutunu doğru yerde kullanın. - Sensör verileri güncellenmiyorsa delay değerini düşürün.
Bu adımlar, Arduino LCD hataları çözümünde en sık kullanılan yöntemlerdir.
9. Arduino LCD Proje Fikirleri
Arduino 16x2 LCD ekran ile yapabileceğiniz bazı yaratıcı projeler:
- Dijital Termometre: DHT11 sensörle sıcaklık ölçümü.
- Nem Göstergesi: DHT22 ile daha hassas nem ölçümü.
- Saat Uygulaması: RTC (DS3231) modülü ile gerçek zaman saati.
- Park Sensörü: Ultrasonik sensör (HC-SR04) ile mesafe ölçümü.
- Mini Menü Sistemi: Butonlarla kontrol edilen LCD arayüzü.
Bu projeler, Arduino LCD ekran kullanımını pratiğe dökmenin en iyi yollarıdır.
10. LCD Ekranda Türkçe Karakter Kullanımı
Varsayılan olarak LCD ekranlarda Türkçe karakterler (ç, ğ, ı, ö, ş, ü) desteklenmez.
Ancak özel karakter tanımlayarak bu harfleri oluşturabilirsiniz.
Örnek:
byte ozelChar[8] = {
B00000,
B00100,
B01010,
B01010,
B01110,
B01010,
B01010,
B00000
};Bu yapı, özel karakteri (örneğin “ö”) oluşturur.
Daha sonra lcd.createChar(0, ozelChar); ile tanımlayıp lcd.write(byte(0)); ile ekrana yazabilirsiniz.
11. LCD Arka Işık ve Enerji Tasarrufu
LCD ekranın arka ışığını (backlight) kontrol ederek enerji tasarrufu yapabilirsiniz.
Örnek Kod:
lcd.noBacklight(); // Işığı kapatır delay(2000); lcd.backlight(); // Işığı açar
Bu komutlar, Arduino LCD arka ışık kontrolü için kullanılır.
Özellikle pil ile çalışan sistemlerde önemlidir.
Sonuç: Arduino ile LCD Kullanımı Projelerinizi Görünür Kılar
Bu yazıda, Arduino ile 16x2 LCD ekran kullanımı konusunu baştan sona inceledik.
Pin yapısından bağlantıya, kod örneklerinden I2C modülüne kadar tüm adımları öğrendiniz.
Artık sensör verilerini, sıcaklık bilgilerini veya sistem durumlarını kolayca ekranda gösterebilirsiniz.
Kendi elektronik projelerinize profesyonel bir görünüm kazandırmak için LCD ekranları kullanmak harika bir başlangıçtır.