رسم محارف مخصصة
جزء من قسم الشاشات والمستشعرات في رحلة 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));التحدي
متوسطيحتوي التصميم الابتدائي على وجه مبتسم. ألقِ التحية به:
- خزّنه كمحرف 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() {
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الشاشات والمستشعرات
1شاشات العرض ذات الأجزاء السبعة
شاشة العرض ذات الأجزاء السبعةأنماط الأرقام في البايتاتالعدّ على الشاشةالعدّ التنازلي حتى الصفرمحاكي رمي النرد2شاشة LCD حرفية
مرحبًا على شاشة LCDتحديد موضع النص باستخدام setCursorعرض الأرقام مباشرةً على شاشة LCDمسح الأرقام المتبقيةرسم محارف مخصصةتمرير النصتدرّب بنفسك: Playground لـ Arduino