📜 درس 77: متن متحرک روی ماتریس LED

مثل تابلوهای اعلانات: نوشته‌ای که از روی صفحه‌ی ۸×۸ رد می‌شود.

سطح: پیشرفته · زمان: حدود 20 دقیقه · مفاهیم: MAX7219، انیمیشن، باقی‌مانده %

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

  1. ترفند پنجره
  2. قدم ۱ — همان مدار
  3. قدم ۲ — لغزاندن پنجره
  4. اشتباه رایج: بیرون زدن از آرایه
  5. چالش: اسم خودت

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

// Scrolling "HI!" on the MAX7219: a long strip of columns slides past an 8-wide window.
#include <LedControl.h>

LedControl lc = LedControl(12, 11, 10, 1);

// Each byte is ONE COLUMN (bit 0 = top row). 8 blank columns at both ends.
byte message[] = {
  0, 0, 0, 0, 0, 0, 0, 0,
  B01111111, B00001000, B00001000, B01111111, 0,   // H
  B01000001, B01111111, B01000001, 0,              // I
  B01011111, 0,                                    // !
  0, 0, 0, 0, 0, 0, 0, 0
};
int len = sizeof(message) / sizeof(message[0]);
int offset = 0;
int speedMs = 120;

void setup() {
  lc.shutdown(0, false);
  lc.setIntensity(0, 5);
  lc.clearDisplay(0);
}

void loop() {
  for (int col = 0; col < 8; col++) {
    lc.setColumn(0, col, message[(offset + col) % len]);
  }
  offset = (offset + 1) % len;     // move the window one column
  delay(speedMs);
}

چرا این درس؟

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

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

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

🙂

درس 76: ماتریس LED ۸×۸

⏲️

درس 78: نمایشگر ۴ رقمی TM1637