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

ماژول ماتریس LED 8×8 با آی‌سی MAX7219 چیست؟ ۶۴ LED که فقط با سه سیم به آردوینو وصل می‌شوند. سیم‌بندی، کتابخانه‌ی LedControl، کد کامل شکلک و چراغ دونده، و اشتباه‌های رایج.

MAX7219
ماتریس LED هشت در هشت (MAX7219)

ماتریس LED چیست؟

ماتریس ۸×۸ یعنی ۶۴ عدد LED که در هشت ردیف و هشت ستون کنار هم چیده شده‌اند. اگر بخواهی هر LED را جدا به آردوینو وصل کنی، ۶۴ پایه لازم داری که آردوینو Uno ندارد. آی‌سی MAX7219 این مشکل را حل می‌کند: خودش همه‌ی ۶۴ LED را می‌گرداند و از آردوینو فقط سه سیم می‌خواهد.

مشخصهمقدار
تعداد LED۶۴ (۸ ردیف × ۸ ستون)، معمولاً قرمز
آی‌سی راه‌اندازMAX7219
سیم‌های دادهسه تا: DIN، CS و CLK
ولتاژ۵ ولت
شدت نور۱۶ پله (۰ تا ۱۵) از داخل برنامه
زنجیر کردنتا ۸ ماژول پشت سر هم روی همان سه سیم

سیم‌بندی

مشخصهمقدار
VCC۵ ولت
GNDGND
DINپایه‌ی ۱۲
CSپایه‌ی ۱۰
CLKپایه‌ی ۱۱

هر سه پایه‌ی دیجیتال دلخواه را می‌شود استفاده کرد؛ فقط باید همان شماره‌ها را در برنامه بنویسی.

کد کامل: یک شکلک

کتابخانه‌ی LedControl لازم است. همین کد در شبیه‌ساز هم اجرا می‌شود:

#include "LedControl.h"

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

byte smile[8] = {
  B00111100,
  B01000010,
  B10100101,
  B10000001,
  B10100101,
  B10011001,
  B01000010,
  B00111100
};

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

  for (int row = 0; row < 8; row++) {
    lc.setRow(0, row, smile[row]);
  }
}

void loop() {}

هر ردیف یک عدد دودویی است

هر ردیف ماتریس هشت LED دارد و با یک بایت توصیف می‌شود: هر رقم ۱ یعنی LED روشن و هر ۰ یعنی خاموش. B10000001 یعنی LED اول و آخر آن ردیف روشن‌اند. چپ‌ترین رقم، چپ‌ترین LED است. برای طراحی شکل، یک جدول ۸×۸ روی کاغذ بکش، خانه‌ها را سیاه کن و هر ردیف را به صفر و یک بنویس.

دستورهای کتابخانه

دستورکار
shutdown(0, false)بیدار کردن آی‌سی (بدون این، هیچ چیزی روشن نمی‌شود)
setIntensity(0, 8)شدت نور از ۰ تا ۱۵
clearDisplay(0)خاموش کردن همه‌ی LEDها
setLed(0, row, col, true)روشن یا خاموش کردن یک LED
setRow(0, row, B11110000)تعیین یک ردیف کامل
setColumn(0, col, B11110000)تعیین یک ستون کامل

عدد اول در همه‌ی دستورها شماره‌ی ماژول است: اولین ماژول ۰، دومی ۱ و همین‌طور تا آخر زنجیر.

چراغ دونده

void loop() {
  for (int row = 0; row < 8; row++) {
    for (int col = 0; col < 8; col++) {
      lc.setLed(0, row, col, true);
      delay(60);
      lc.setLed(0, row, col, false);
    }
  }
}

در شبیه‌ساز

در مود آردوینوی شبیه ساز مدار، «LED Matrix 8×8» را از جعبه‌ابزار بیاور، VCC و GND را به ۵ ولت و زمین، و DIN، CS و CLK را به پایه‌های ۱۲، ۱۰ و ۱۱ بزن. برنامه را که اجرا کنی، همان نقطه‌های قرمز روی ماژول روشن می‌شوند. اگر shutdown(0, false) را ننویسی، در شبیه‌ساز هم مثل قطعه‌ی واقعی ماتریس تاریک می‌ماند.

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

ایده‌ی پروژه

ماتریس LED در شبیه‌ساز 🔴

🛒 قبل از خرید، لیست خرید قطعات الکترونیک را ببین و قطعه را اول در شبیه ساز مدار امتحان کن.

پروژه‌هایی که از این قطعه استفاده می‌کنند

🙂

ماتریس ۸×۸: لبخند و فلش

📜

متن متحرک روی ماتریس

🐍

بازی مار روی ماتریس

یاد بگیر، امتحان کن، بعد بخر

قطعات مرتبط

💡

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

🟤

مقاومت (Resistor)

🔘

دکمه فشاری (Push Button)