💖 درس 69: حرفهای سفارشی روی LCD
با createChar قلب، باتری و یک انیمیشن کوچک بساز.
سطح: پیشرفته · زمان: حدود 16 دقیقه · مفاهیم: LCD، createChar، بایت
قدمهای این درس
- هر حرف، یک جدول ۵×۸
- قدم ۱ — LCD با I2C
- قدم ۲ — طراحی با بیت
- اشتباه رایج: حرف نهم
- چالش: آدمک دونده
نمونهای از کد این درس
#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);
}
}
چرا این درس؟
دورهی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیهساز انجام میدهی — مدار واقعی میچینی، کد واقعی اجرا میکنی و نتیجه را همان لحظه میبینی. این درس روی درسهای قبلی ساخته شده، پس اگر تازه شروع کردهای از درس ۱ بیا!
این درس را رایگان در شبیهساز شروع کن 🎓