LCD Ekran Yazının Yanıp Sönmesi

Neden LCD yazısı yanıp sönüyor?

LCD’ye sürekli yazı yazmak (örneğin loop() içinde her seferinde lcd.print() demek) ekranın tekrar tekrar temizlenmesine ve yeniden yazılmasına neden olur. Bu da sanki yanıp sönüyormuş gibi görünür.


Hatalı Örnek (Yanıp sönme yapar)

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
lcd.begin(16, 2);
lcd.backlight();
}

void loop() {
lcd.clear(); // Bu satır ekranı sürekli temizler
lcd.setCursor(0, 0);
lcd.print("Merhaba");
delay(500); // Yarım saniye bekleyip tekrar başa döner
}

Bu kodda lcd.clear(); her loop döngüsünde ekranı temizlediği için yazı yanıp sönüyormuş gibi olur.


Doğru Örnek (Yanıp sönme yok)

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

bool yazildi = false; // sadece bir kez yazmak için

void setup() {
lcd.begin(16, 2);
lcd.backlight();
}

void loop() {
if (!yazildi) {
lcd.setCursor(0, 0);
lcd.print("Merhaba");
yazildi = true; // bir daha yazma
}
}

Bu şekilde yazı sadece bir kez yazılır, ekran sabit kalır.


Hareketli ya da Değişken Veri Yazacaksan

Eğer sürekli değişen bir bilgi yazıyorsan (sıcaklık, mesafe vs), lcd.clear() kullanmadan önce değişkeni güncellemen gerekir:

cppCopyEditint mesafe = 10;

void loop() {
  lcd.setCursor(0, 0);
  lcd.print("Mesafe: ");
  lcd.print(mesafe);
  delay(1000);  // Gerekirse güncellemeden önce biraz beklet
}

Eğer değer sabitse tekrar tekrar yazmaya gerek yok. Sadece değiştiğinde yazmak daha iyidir.


Özet

ProblemSebepÇözüm
Yazı yanıp sönüyorlcd.clear() her döngüde çağrılıyorlcd.clear() kullanma, sadece bir kez yaz
Ekran sürekli değişiyorYazı her loop’ta tekrar yazılıyorif kullanarak bir kere yaz
Değişken bilgi yanıp sönüyorEkran temizleniyor, sonra tekrar yazılıyorclear() yerine setCursor() kullan

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir