🔴 ماتریس LED هشت در هشت (MAX7219) (MAX7219 8x8 LED Matrix)

اسم انگلیسیMAX7219 8x8 LED Matrix
در ووکوی (Wokwi)wokwi-max7219-matrix
دسته💡 LED و نمایشگر
در شبیه‌ساز فارسیمود آردوینو · رایگان

ماتریس LED هشت در هشت با MAX7219 (MAX7219 8x8 LED Matrix) شصت‌وچهار LED را فقط با سه سیم داده کنترل می‌کند. آی‌سی MAX7219 روشن نگه داشتن نوبتی LEDها (Multiplexing) و تنظیم جریانشان را خودش انجام می‌دهد و آردوینو فقط می‌گوید هر سطر چه شکلی باشد. برای شکلک، فلش، تاس الکترونیکی، متن متحرک و بازی مار عالی است.

ماتریس MAX7219 در ووکوی (Wokwi)

شناسه‌اش wokwi-max7219-matrix است و پنج پایه دارد: VCC، GND، DIN، CS و CLK.

{
  "version": 1,
  "parts": [
    { "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0, "attrs": {} },
    { "type": "wokwi-max7219-matrix", "id": "matrix1", "top": -120, "left": 60, "attrs": {} }
  ],
  "connections": [
    [ "matrix1:VCC", "uno:5V", "red", [] ],
    [ "matrix1:GND", "uno:GND.1", "black", [] ],
    [ "matrix1:DIN", "uno:11", "green", [] ],
    [ "matrix1:CS", "uno:10", "orange", [] ],
    [ "matrix1:CLK", "uno:13", "blue", [] ]
  ]
}
پایه‌ی ماتریسوصل به
VCCuno:5V
GNDuno:GND.1
DINuno:11
CSuno:10
CLKuno:13

چرا 11 و 13؟ کتابخانه‌ی LedControl هر پایه‌ای را قبول می‌کند، ولی 11 و 13 پایه‌های MOSI و SCK سخت‌افزار SPI اونو هستند؛ اگر بعداً سراغ کتابخانه‌هایی بروی که از SPI سخت‌افزاری استفاده می‌کنند، سیم‌کشی‌ات آماده است. ماتریس MAX7219 در تینکرکد فارسی جزو اشتراک پلاس است؛ مثال‌هایش برای خواندن رایگان باز می‌شوند و برای اجرا پلاس لازم داری.

سیم‌کشی با آردوینو (مدار واقعی)

ماژول واقعی دو طرف دارد: یک طرف پنج پایه‌ی ورودی (VCC، GND، DIN، CS و CLK) و طرف دیگر پنج پایه‌ی خروجی که به‌جای DIN پایه‌ی DOUT دارد و برای ماژول بعدی است. سیم آردوینو همیشه به طرف DIN می‌رود.

پایه‌ی ماژولآردوینو Unoنکته
VCC5Vبرای یک ماژول با روشنایی متوسط، USB کافی است
GNDGNDزمین مشترک
DINپین 11داده
CS (گاهی LOAD)پین 10انتخاب تراشه
CLKپین 13کلاک

برای زنجیر چندتایی، پنج پایه‌ی خروجی هر ماژول را به پنج پایه‌ی ورودی ماژول بعدی وصل کن و در کد عدد آخر سازنده‌ی LedControl را تعداد ماژول‌ها بگذار. ماژول اول، همان که به آردوینو نزدیک‌تر است، شماره‌ی ۰ دارد و در setRow(0, ...) همین عدد اول را می‌بینی.

کد نمونه: قلب تپنده

// MAX7219 8x8 matrix with LedControl: a beating heart
#include <LedControl.h>

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

byte bigHeart[8] = {
  B00000000,
  B01100110,
  B11111111,
  B11111111,
  B11111111,
  B01111110,
  B00111100,
  B00011000
};

byte smallHeart[8] = {
  B00000000,
  B00000000,
  B00100100,
  B01111110,
  B01111110,
  B00111100,
  B00011000,
  B00000000
};

void show(byte img[]) {
  for (int row = 0; row < 8; row++) {
    lc.setRow(0, row, img[row]);
  }
}

void setup() {
  lc.shutdown(0, false);   // wake the MAX7219 up
  lc.setIntensity(0, 6);   // brightness 0..15
  lc.clearDisplay(0);
}

void loop() {
  show(bigHeart);
  delay(300);
  show(smallHeart);
  delay(500);
}

هر سطر تصویر یک بایت است و هر بیت یک LED؛ B01100110 یعنی در آن سطر LEDهای دوم، سوم، ششم و هفتم روشن‌اند. برای کشیدن شکل خودت، روی کاغذ شطرنجی هشت در هشت بکش و هر سطر را به صفر و یک تبدیل کن.

اشتباه‌های رایج

آموزش‌های مرتبط

سؤال‌های رایج

چرا تصویر ماتریس MAX7219 چرخیده یا برعکس است؟

ماژول‌ها جهت نصب متفاوتی دارند و در ووکوی هم ممکن است سطر و ستون با تصور تو یکی نباشد. یا ماژول را بچرخان یا در کد ترتیب سطرها و بیت‌ها را برعکس کن.

چند ماتریس MAX7219 را می‌شود پشت هم بست؟

بله؛ DOUT هر ماژول به DIN ماژول بعدی می‌رود و CS و CLK بین همه مشترک است. در LedControl عدد آخر سازنده تعداد ماژول‌هاست و تا هشت ماژول را پشتیبانی می‌کند.

📖 طرز کار، مشخصات فنی و نکته‌های خرید این قطعه در دانشنامه‌ی تینکرکد فارسی: ماتریس LED هشت در هشت (MAX7219) آمده است.

آموزش‌هایی که از این قطعه استفاده می‌کنند

🟥

ماتریس LED ۸×۸ با MAX7219 و آردوینو: شکلک، انیمیشن و تاس الکترونیکی

قطعه‌های دیگرِ LED و نمایشگر

📟

نمایشگر LCD 16×2 با ماژول I2C

LCD 16x2 I2C

⭕

حلقه‌ی نئوپیکسل ۱۲ تایی

NeoPixel Ring 12 (WS2812)

🌈

نوار نئوپیکسل ۸ تایی

NeoPixel Strip 8 (WS2812)

💡

LED (دیود نورانی)

LED (Light-Emitting Diode)

🌈

LED RGB (سه‌رنگ)

RGB LED

🔢

نمایشگر هفت‌قسمتی (سون سگمنت)

7-Segment Display

همه‌ی ۱۰۵ قطعه ← · آموزش مدار

ماتریس LED هشت در هشت (MAX7219) را در شبیه‌ساز امتحان کن 🚀