Menu
CoddyTech

ציור תווים מותאמים אישית

חלק מהיחידה צגים וחיישנים במסלול ה-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בחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה צגים וחיישנים

תרגלו בעצמכם: Arduino אונליין