💖 درس 69: حرف‌های سفارشی روی LCD

با createChar قلب، باتری و یک انیمیشن کوچک بساز.

سطح: پیشرفته · زمان: حدود 16 دقیقه · مفاهیم: LCD، createChar، بایت

قدم‌های این درس

  1. هر حرف، یک جدول ۵×۸
  2. قدم ۱ — LCD با I2C
  3. قدم ۲ — طراحی با بیت
  4. اشتباه رایج: حرف نهم
  5. چالش: آدمک دونده

نمونه‌ای از کد این درس

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

// each character is 5 dots wide, 8 rows tall: one byte per row
byte heart[8]   = {B00000, B01010, B11111, B11111, B01110, B00100, B00000, B00000};
byte batEmpty[8] = {B01110, B11011, B10001, B10001, B10001, B10001, B10001, B11111};
byte batHalf[8]  = {B01110, B11011, B10001, B10001, B11111, B11111, B11111, B11111};
byte batFull[8]  = {B01110, B11111, B11111, B11111, B11111, B11111, B11111, B11111};

void setup() {
  lcd.init();
  lcd.backlight();
  lcd.createChar(0, heart);      // slot 0..7 — only 8 slots!
  lcd.createChar(1, batEmpty);
  lcd.createChar(2, batHalf);
  lcd.createChar(3, batFull);

  lcd.setCursor(0, 0);
  lcd.print("I ");
  lcd.write(0);                  // print the heart
  lcd.print(" Arduino");
}

void loop() {
  // a little charging animation: empty -> half -> full
  for (int level = 1; level <= 3; level++) {
    lcd.setCursor(0, 1);
    lcd.print("Charging ");
    lcd.write(level);
    delay(500);
  }
}

چرا این درس؟

دوره‌ی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیه‌ساز انجام می‌دهی — مدار واقعی می‌چینی، کد واقعی اجرا می‌کنی و نتیجه را همان لحظه می‌بینی. این درس روی درس‌های قبلی ساخته شده، پس اگر تازه شروع کرده‌ای از درس ۱ بیا!

این درس را رایگان در شبیه‌ساز شروع کن 🎓

درس‌های دیگر دوره

🕹️

درس 68: جوی‌استیک: کنترل دو محوره

🗂️

درس 70: منوی چندصفحه‌ای روی LCD با دکمه