Menu
CoddyTech

Özel Karakterler Çizme

Coddy'nin Arduino Journey'sinin Ekranlar ve Sensörler bölümünün bir parçası. Ders 10 / 24.

LCD'deki her karakter, 5'e 8 noktalı bir ızgaradır. Numaraları 0 ile 7 arasında olan en fazla sekiz karakter tasarlayabilirsin. Bir karakteri 8 satırla tanımla; her satırda 1, yanan bir nokta anlamına gelen 5 bitlik bir desen bulunur:

byte heart[8] = {
  0b00000,
  0b01010,
  0b11111,
  0b11111,
  0b01110,
  0b00100,
  0b00000,
  0b00000
};

lcd.createChar(0, heart) karakteri 0 numaralı karakter olarak kaydeder. lcd.write(byte(0)) karakteri imlecin bulunduğu yere çizer. print(0) ise bunun yerine 0 rakamını çizer.

Dikkat edilmesi gereken bir nokta: Bir karakteri kaydetmek için kitaplık, ekranı karakter belleğine yönlendirir ve ekran oraya yönlendirilmiş olarak kalır. Sonraki yazdırılan her şey ekrana değil, bu belleğe gider. Bu nedenle yazdırmadan önce, createChar() çağrısından sonra lcd.setCursor() (veya lcd.clear()) çağır.

lcd.createChar(0, heart);
lcd.setCursor(0, 0);   // ekrana geri dön
lcd.write(byte(0));
challenge icon

Görev

Orta

Başlangıç kodunda bir gülen yüz tasarımı var. Onunla selam ver:

  • onu 0 karakteri olarak lcd.createChar() ile kaydet
  • imleci sol üst köşeye taşı
  • Hi yazdır (sonunda bir boşluk olacak şekilde), ardından gülen yüzü çiz

Run'a, ardından Check'e bas.

Kendin dene

#include <LiquidCrystal.h>

// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

byte smiley[8] = {
  0b00000,
  0b01010,
  0b01010,
  0b00000,
  0b10001,
  0b01110,
  0b00000,
  0b00000
};

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

  // gülen yüzü 0 karakteri olarak kaydet, ardından "Hi " ve gülen yüzü yazdır
}

void loop() {
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Ekranlar ve Sensörler bölümündeki tüm dersler

Kendi başına pratik yap: Arduino playground