📜 ماموریت ۸۲: متن متحرک روی ماتریس

حروف را ستون‌به‌ستون در یک آرایه بذار. هر بار یه ستون جلو برو (offset++) و ۸ ستون را روی ماتریس بکش.

سطح: چالشی ⭐⭐⭐ · مود: آردوینو — با کد

هدف‌ها

قطعه‌های لازم

▶ همین ماموریت را در شبیه‌ساز امتحان کن
💡 گیر کردی؟ داخل شبیه‌ساز راهنما را ببین، و اگر باز هم نشد دکمه‌ی «برام حلش کن» مدار را برایت می‌چیند تا ببینی چطور کار می‌کند.

جواب کامل

اول خودت امتحان کن! بعد جواب را ببین 👀

سیم‌کشی

  1. Arduino Uno (VCC5) ⟷ LED Matrix 8×8 (MAX7219) (VCC)
  2. LED Matrix 8×8 (MAX7219) (GND) ⟷ Arduino Uno (GND1)
  3. Arduino Uno (D12) ⟷ LED Matrix 8×8 (MAX7219) (DIN)
  4. Arduino Uno (D10) ⟷ LED Matrix 8×8 (MAX7219) (CS)
  5. Arduino Uno (D11) ⟷ LED Matrix 8×8 (MAX7219) (CLK)

کد

// Scrolling text "HI" on the 8x8 matrix
#include <LedControl.h>

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

// One byte per column, bit 0 = top row. "H I" plus blank space.
byte cols[16] = {
  0x7E, 0x08, 0x08, 0x08, 0x7E, 0x00,   // H
  0x42, 0x7E, 0x42, 0x00,               // I
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
int offset = 0;

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

void loop() {
  for (int r = 0; r < 8; r++) {
    byte row = 0;
    for (int c = 0; c < 8; c++) {
      byte col = cols[(offset + c) % 16];
      if ((col >> r) & 1) row = row | (B10000000 >> c);
    }
    lc.setRow(0, r, row);
  }
  offset = (offset + 1) % 16;   // move one column to the left
  delay(120);
}

ماموریت‌های مشابه

⏰

ماموریت ۸۰: ساعت زنگ‌دار

🚪

ماموریت ۸۴: در هوشمند با کارت RFID

🔋

ماموریت ۷۵: زمان شارژ خازن

🌐

ماموریت ۸۹: کلید LED در صفحه‌ی وب

📚 برای یاد گرفتن پایه‌ها سری به دوره‌ی آموزش آردوینو بزن · 🎯 همه‌ی ماموریت‌ها