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

۶۴ LED با فقط سه سیم — و نقاشی با صفر و یک.

سطح: متوسط · زمان: حدود 18 دقیقه · مفاهیم: MAX7219، بایت، بیت

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

  1. چطور ۶۴ LED با سه سیم؟
  2. قدم ۱ — سیم‌کشی MAX7219
  3. قدم ۲ — لبخند و فلش
  4. اشتباه رایج: ماتریس هیچ چیز نشان نمی‌دهد
  5. چالش: قلب تپنده

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

// MAX7219 8x8 LED matrix: a smiley and an arrow from byte arrays.
#include <LedControl.h>

LedControl lc = LedControl(12, 11, 10, 1);   // DIN, CLK, CS, number of modules

byte smile[8] = {
  B00111100,
  B01000010,
  B10100101,
  B10000001,
  B10100101,
  B10011001,
  B01000010,
  B00111100
};
byte arrow[8] = {
  B00011000,
  B00111100,
  B01111110,
  B11011011,
  B00011000,
  B00011000,
  B00011000,
  B00011000
};

void drawPicture(byte pic[]) {
  for (int row = 0; row < 8; row++) {
    lc.setRow(0, row, pic[row]);     // each byte = one row, each bit = one LED
  }
}

void setup() {
  lc.shutdown(0, false);    // wake the chip up (it starts asleep)
  lc.setIntensity(0, 8);    // brightness 0..15
  lc.clearDisplay(0);
}

void loop() {
  drawPicture(smile);
  delay(1500);
  drawPicture(arrow);
  delay(1500);
}

چرا این درس؟

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

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

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

⏰

درس 75: ساعت زنگ‌دار

📜

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