Menu
CoddyTech
flag Ar iconالعربيةdown icon

رسم محارف مخصصة

جزء من قسم الشاشات والمستشعرات في رحلة Arduino على Coddy. الدرس 10 من 24.

كل حرف على شاشة LCD عبارة عن شبكة من 5 في 8 نقاط. يمكنك تصميم ما يصل إلى ثمانية أحرف خاصة بك، مرقّمة من 0 إلى 7. صِف أحدها باستخدام 8 صفوف، كل صف منها نمط من 5 بتات حيث تمثل 1 نقطة مضيئة:

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

يخزّن lcd.createChar(0, heart) الحرف باعتباره الحرف 0. وترسم lcd.write(byte(0)) الحرف في موضع المؤشر. أما print(0) فستطبع الرقم 0 بدلًا من ذلك.

هناك أمر مهم يجب الانتباه إليه: لتخزين حرف، توجّه المكتبة الشاشة إلى ذاكرة الأحرف، وتظل موجّهة إليها. أي شيء يُطبع بعد ذلك يُكتب في تلك الذاكرة، لا على الشاشة. لذا استدعِ lcd.setCursor() (أو lcd.clear()) بعد createChar() وقبل الطباعة.

lcd.createChar(0, heart);
lcd.setCursor(0, 0);   // العودة إلى الشاشة
lcd.write(byte(0));
challenge icon

التحدي

متوسط

يحتوي التصميم الابتدائي على وجه مبتسم. ألقِ التحية به:

  • خزّنه كمحرف 0 باستخدام lcd.createChar()
  • انقل المؤشر إلى أعلى اليسار
  • اطبع Hi (مع مسافة)، ثم ارسم الوجه المبتسم

اضغط على تشغيل، ثم تحقّق.

جرّب بنفسك

#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);

  // خزّن الوجه المبتسم بوصفه المحرف 0، ثم اطبع "Hi " والوجه المبتسم
}

void loop() {
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الشاشات والمستشعرات

تدرّب بنفسك: Playground لـ Arduino