





ماژول نمایشگر ماتریس نقطهای ۸x۸
214,000 تومانهر عدد
ماژول ماتریس نقطهای ۸x۸ با درایور MAX7219 یک نمایشگر همهکاره، قابل کنترل و مقرونبهصرفه برای پروژههای الکترونیکی است.
با رابط SPI ساده، کتابخانههای گسترده و قابلیت اتصال سری، این ماژول امکان ایجاد نمایشگرهای بزرگ و پیچیده را با کمترین پیچیدگی فراهم میکند.
| تعداد | قیمت | تخفیف |
|---|---|---|
| 10-49 | 209,720 تومان هر عدد | 2% |
| 50+ | 207,580 تومان هر عدد | 3% |
5,000,000 تومان را به سبد خرید اضافه کنید و ارسال رایگان دریافت کنید!
موجود در انبار
Size and packaging guidelines
| یکا (واحد) | علامت اختصاری | شرح انگلیسی | مقدار |
| 1 متر | m | Meter | 1 |
| 1 سانتی متر | cm | Canti Meter | 2-^10 |
| 1 میلی متر | mm | Mili Meter | 3-^10 |
| 1 اینچ | in | Inch | 2.54cm |
| 2 اینچ | in | Inch | 5.08cm |
| 3 اینچ | in | Inch | 7.62cm |
| 5 اینچ | in | Inch | 12.7cm |
ماژول نمایشگر ماتریس نقطهای ۸x۸
با درایور MAX7219 (تک رنگ)
معرفی ماژول ماتریس ۸x۸ MAX7219
ماژول نمایشگر ماتریس نقطهای ۸x۸ با درایور MAX7219 یک نمایشگر LED ماتریسی با کنترل آسان و امکانات پیشرفته است که امکان نمایش کاراکترها، اعداد، اشکال و انیمیشنهای ساده را فراهم میکند. این ماژول با رابط SPI ساده و کتابخانههای گسترده، محبوبترین انتخاب برای پروژههای نمایشی است.
مشخصات کلی
ویژگیهای کلیدی:
رزولوشن: ۸x۶۴ پیکسل (۸ ماژول ۸x۸ به صورت سری)
رنگ LED: قرمز (آبی، سبز و دو رنگ نیز موجود است)
درایور: MAX7219 یا MAX7221
رابط: SPI 3 سیمه (DIN, CLK, CS)
ولتاژ تغذیه: ۵V DC
جریان مصرف: ۱۵۰-۵۰۰mA (بسته به روشنایی)
مشخصات فنی جامع
مشخصات نمایشگر:
تعداد LED: ۶۴ عدد LED در هر ماژول
اندازه LED: ۳mm یا ۵mm (بسته به مدل)
فاصله پیکسل: ۳٫۰mm یا ۳٫۷۵mm
ابعاد فعال: ۲۴×۲۴mm تا ۳۰×۳۰mm
روشنایی: ۸۰-۲۰۰ mcd بسته به رنگ
زاویه دید: ۱۲۰ درجه
مشخصات درایور MAX7219:
فرکانس کلاک: تا ۱۰MHz
پیکربندی: ۸ سگمنت × ۸ رقم
کنترل روشنایی: ۱۶ سطح دیجیتال
حالتهای تست: تست تمام LEDها
کنترل مصرف: حالت خواب (Shutdown)
رمزگشایی: داخلی برای ۷ سگمنت
مشخصات الکتریکی:
ولتاژ تغذیه: ۵V ±۵٪
ولتاژ منطقی: ۳٫۳V یا ۵V (سازگار)
جریان هر LED: ۲۰mA (پیک ۴۰mA)
جریان کل: تا ۵۰۰mA در روشنایی ماکزیمم
توان مصرفی: ۲٫۵W در حالت کامل
مشخصات فیزیکی:
ابعاد PCB: ۳۲×۳۲mm تا ۵۰×۵۰mm
ضخامت: ۱۰-۱۵mm (با LED)
پینهای اتصال: ۵ پین (VCC, GND, DIN, CLK, CS)
کانکتورها: هدر ۲٫۵۴mm نری/ماده
وزن: ۱۰-۱۵ گرم
ساختار داخلی و پینها
پینهای ماژول:
دید از پشت (سمت اتصالات):
┌─────────────────────┐
│ │
│ ○ ○ ○ ○ ○ │
│ │
│ VCC DIN CS CLK GND│
│ │
└─────────────────────┘
یا در برخی مدلها:
┌─────────────────────┐
│ │
│ ○ ○ ○ ○ ○ │
│ │
│ GND DIN CS CLK VCC│
│ │
└─────────────────────┘اتصال زنجیرهای (Daisy Chain):
آردوینو ← [ماژول ۱] ← [ماژول ۲] ← [ماژول ۳] ← ...
DIN→DOUT DIN→DOUT DIN→DOUT
نحوه اتصال:
آردوینو.MOSI → ماژول۱.DIN
آردوینو.SCK → ماژول۱.CLK
آردوینو.SS → ماژول۱.CS
ماژول۱.DOUT → ماژول۲.DIN (و ادامه...)عملکرد MAX7219
ثباتهای داخلی:
ثباتهای آدرسدهی: 0x0X: رقم ۱-۸ (X=1 تا 8) 0x09: رمزگشایی 0x0A: روشنایی 0x0B: اسکن لیمیت 0x0C: حالت شاتداون 0x0F: تست نمایشگر
کنترل روشنایی:
// ۱۶ سطح روشنایی: // 0xX0 تا 0xXF (X=0 تا F) // 0 = کمترین، F = بیشترین روشنایی void setBrightness(int level) { level = constrain(level, 0, 15); writeRegister(0x0A, level); }
کاربردهای اصلی
۱. نمایش اطلاعات ساده:
نمایش اعداد و حروف
نمایش زمان و تاریخ
نمایش دمای محیط
نشانگر سطح (Level Indicator)
۲. انیمیشن و گرافیک:
انیمیشنهای ساده
نمایش ایموجیها
بازیهای ساده (مثل اسنیک)
نمایش نمودارهای ساده
۳. سیستمهای اطلاعرسانی:
تابلوهای اعلانات
سیستمهای هشدار
نشانگر وضعیت
نمایش پیامهای متحرک
۴. پروژههای آموزشی:
آموزش برنامهنویسی گرافیکی
آموزش الگوریتمهای نمایش
پروژههای دانشگاهی
کارگاههای الکترونیک
کتابخانههای پشتیبانی شده
برای آردوینو:
// ۱. کتابخانه LedControl #include <LedControl.h> LedControl lc = LedControl(12, 11, 10, 1); // ۲. کتابخانه MaxMatrix #include <MaxMatrix.h> MaxMatrix m(12, 11, 10, 1); // ۳. کتابخانه MD_MAX72xx (پیشرفته) #include <MD_MAX72xx.h> MD_MAX72xx mx = MD_MAX72xx(HARDWARE_TYPE, 12, 11, 10, 1);
برای پایتون (رزبریپای):
# کتابخانه luma.led_matrix from luma.led_matrix.device import max7219 from luma.core.interface.serial import spi, noop from luma.core.render import canvas # کتابخانه Adafruit_CircuitPython_MAX7219 import board import digitalio import adafruit_max7219
برای میکروپایتون:
from max7219 import Matrix8x8 from machine import Pin, SPI spi = SPI(1, baudrate=10000000, polarity=0, phase=0) display = Matrix8x8(spi, Pin(15), 1)
برنامهنویسی پایه
راهاندازی اولیه:
#include <LedControl.h> // پینها: DIN, CLK, CS, تعداد ماژولها LedControl lc = LedControl(12, 11, 10, 1); void setup() { // روشن کردن نمایشگر lc.shutdown(0, false); // تنظیم روشنایی متوسط lc.setIntensity(0, 8); // پاک کردن نمایشگر lc.clearDisplay(0); }
نمایش یک پیکسل:
void setPixel(int x, int y, bool state) { // محدودیتهای x و y بین ۰ تا ۷ x = constrain(x, 0, 7); y = constrain(y, 0, 7); // ستونها از ۰ تا ۷، سطرها از ۰ تا ۷ lc.setLed(0, x, y, state); }
نمایش یک کاراکتر:
// آرایه بیتمپ برای کاراکترها byte charA[8] = { B00111100, B01100110, B01100110, B01111110, B01100110, B01100110, B01100110, B00000000 }; void displayChar(byte bitmap[8]) { for(int row = 0; row < 8; row++) { lc.setRow(0, row, bitmap[row]); } }
اسکرول متن:
void scrollText(String text, int delayTime) { int length = text.length(); for(int i = 0; i < length * 8; i++) { lc.clearDisplay(0); // محاسبه موقعیت نمایش int position = i; // نمایش بخشی از متن displayTextSegment(text, position); delay(delayTime); } }
مثالهای پیشرفته
۱. نمایش دماسنج:
class TemperatureDisplay { private: float temperature; LedControl* display; public: TemperatureDisplay(LedControl* lc) { display = lc; } void updateTemperature(float temp) { temperature = temp; displayTemperature(); } void displayTemperature() { display->clearDisplay(0); // نمایش عدد String tempStr = String(int(temperature)); for(int i = 0; i < tempStr.length(); i++) { displayChar(tempStr[i], i); } // نمایش درجه سانتیگراد displayDegreeSymbol(); // نمایش گراف دمایی displayTemperatureGraph(); } void displayTemperatureGraph() { // نمایش نوار دمایی int level = map(temperature, 0, 50, 0, 8); for(int y = 0; y < level; y++) { display->setLed(0, 7, y, true); } } };
۲. ساعت دیجیتال:
class MatrixClock { private: int hours; int minutes; int seconds; LedControl* display; public: MatrixClock(LedControl* lc) { display = lc; } void updateTime(int h, int m, int s) { hours = h; minutes = m; seconds = s; displayTime(); } void displayTime() { display->clearDisplay(0); // نمایش ساعت displayNumber(hours / 10, 0); displayNumber(hours % 10, 2); // نمایش دونقطه چشمکزن static bool colonState = false; if(seconds % 2 == 0) { displayColon(colonState); colonState = !colonState; } // نمایش دقیقه displayNumber(minutes / 10, 4); displayNumber(minutes % 10, 6); } void displayNumber(int num, int position) { byte numbers[10][8] = { // تعریف بیتمپ اعداد ۰-۹ }; for(int row = 0; row < 8; row++) { display->setRow(0, position, numbers[num][row]); } } };
۳. بازی ساده اسنیک:
class SnakeGame { private: struct Point { int x; int y; }; Point snake[64]; int length; Point food; int direction; // 0=up, 1=right, 2=down, 3=left public: void init() { length = 3; snake[0] = {4, 4}; snake[1] = {4, 5}; snake[2] = {4, 6}; direction = 0; generateFood(); } void update() { // حرکت مار Point newHead = snake[0]; switch(direction) { case 0: newHead.y--; break; case 1: newHead.x++; break; case 2: newHead.y++; break; case 3: newHead.x--; break; } // بررسی برخورد با دیوار if(newHead.x < 0 || newHead.x > 7 || newHead.y < 0 || newHead.y > 7) { gameOver(); return; } // بررسی برخورد با خود for(int i = 0; i < length; i++) { if(snake[i].x == newHead.x && snake[i].y == newHead.y) { gameOver(); return; } } // جابهجایی مار for(int i = length; i > 0; i--) { snake[i] = snake[i-1]; } snake[0] = newHead; // بررسی غذا خوردن if(newHead.x == food.x && newHead.y == food.y) { length++; generateFood(); } } void render(LedControl& lc) { lc.clearDisplay(0); // نمایش مار for(int i = 0; i < length; i++) { lc.setLed(0, snake[i].x, snake[i].y, true); } // نمایش غذا lc.setLed(0, food.x, food.y, true); } };
اتصال چند ماژول به صورت سری
کنترل ۴ ماژول ۸x۸ (ماتریس ۸x۳۲):
#include <LedControl.h> // اتصال ۴ ماژول به صورت سری LedControl lc = LedControl(12, 11, 10, 4); void setup() { for(int i = 0; i < 4; i++) { lc.shutdown(i, false); lc.setIntensity(i, 8); lc.clearDisplay(i); } } void displayAcrossModules(String text) { // نمایش متن در عرض ۴ ماژول int charWidth = 6; // عرض هر کاراکتر for(int pos = 0; pos < text.length() * charWidth; pos++) { for(int module = 0; module < 4; module++) { int moduleOffset = module * 8; displayTextSegment(text, pos - moduleOffset, module); } delay(100); } }
ماتریس ۱۶x۱۶ (۴ ماژول):
class Matrix16x16 { private: LedControl* lc; public: Matrix16x16(LedControl* display) { lc = display; } void setPixel16(int x, int y, bool state) { // تعیین ماژول و موقعیت نسبی int moduleX = x / 8; int moduleY = y / 8; int moduleIndex = moduleY * 2 + moduleX; int localX = x % 8; int localY = y % 8; lc->setLed(moduleIndex, localX, localY, state); } void displayImage16x16(uint16_t image[16]) { for(int y = 0; y < 16; y++) { for(int x = 0; x < 16; x++) { bool pixel = (image[y] >> (15 - x)) & 1; setPixel16(x, y, pixel); } } } };
بهینهسازی عملکرد
۱. استفاده از بافر گرافیکی:
class GraphicsBuffer { private: byte buffer[8]; LedControl* display; public: GraphicsBuffer(LedControl* lc) { display = lc; clear(); } void clear() { memset(buffer, 0, sizeof(buffer)); } void setPixel(int x, int y, bool state) { if(x >= 0 && x < 8 && y >= 0 && y < 8) { if(state) { buffer[y] |= (1 << (7 - x)); } else { buffer[y] &= ~(1 << (7 - x)); } } } void render() { for(int row = 0; row < 8; row++) { display->setRow(0, row, buffer[row]); } } void scrollLeft() { for(int row = 0; row < 8; row++) { buffer[row] <<= 1; } } };
۲. انیمیشن با تایمر:
class AnimationTimer { private: unsigned long lastUpdate; unsigned long interval; int frame; int totalFrames; public: AnimationTimer(unsigned long updateInterval) { interval = updateInterval; lastUpdate = millis(); frame = 0; } bool shouldUpdate() { unsigned long current = millis(); if(current - lastUpdate >= interval) { lastUpdate = current; return true; } return false; } int getFrame() { if(shouldUpdate()) { frame = (frame + 1) % totalFrames; } return frame; } void setTotalFrames(int frames) { totalFrames = frames; } };
۳. کنترل مصرف انرژی:
class PowerManager { private: LedControl* display; bool isSleeping; public: PowerManager(LedControl* lc) { display = lc; isSleeping = false; } void sleep() { if(!isSleeping) { display->shutdown(0, true); isSleeping = true; } } void wake() { if(isSleeping) { display->shutdown(0, false); isSleeping = false; } } void autoSleep(unsigned long timeout) { static unsigned long lastActivity = millis(); if(millis() - lastActivity > timeout) { sleep(); } } void updateActivity() { lastActivity = millis(); if(isSleeping) { wake(); } } };
راهنمای عیبیابی
مشکلات رایج و راهحلها:
۱. بررسی اتصال VCC و GND ۲. بررسی پینهای DIN, CLK, CS ۳. تست با تابع displayTest() ۴. بررسی جهت اتصال ماژول مشکل: فقط برخی LEDها روشن میشوند ۱. بررسی تنظیمات اسکن لیمیت ۲. تست سختافزار با تابع setLed() ۳. بررسی اتصالهای لحیمکاری مشکل: نمایشگر چشمک میزند ۱. افزایش تاخیر در بهروزرسانی ۲. استفاده از خازن ۱۰μF روی VCC ۳. بررسی نویز منبع تغذیه مشکل: ماتریس داغ میشود ۱. کاهش روشنایی با setIntensity() ۲. بررسی جریان مصرفی ۳. استفاده از منبع تغذیه با جریان کافی
برنامه تست سختافزار:
Serial.println("Starting hardware test..."); // تست تمام LEDها lc.clearDisplay(0); lc.shutdown(0, false); lc.setIntensity(0, 15); // تست تک تک LEDها for(int y = 0; y < 8; y++) { for(int x = 0; x < 8; x++) { lc.setLed(0, x, y, true); delay(50); lc.setLed(0, x, y, false); } } // تست حالت تست نمایشگر lc.shutdown(0, true); delay(1000); lc.shutdown(0, false); Serial.println("Hardware test complete!"); }
پروژههای پیشنهادی
پروژههای مبتدی:
نمایشگر دماسنج: نمایش دمای محیط
ساعت دیجیتال: نمایش ساعت و دقیقه
دایس رول: تولید عدد تصادفی
نشانگر سطح: نمایش سطح سیال
پروژههای متوسط:
تابلو روان: نمایش متن متحرک
گیم اسنیک: بازی مار کلاسیک
نمایشگر ECG: شبیهسازی سیگنال قلب
اسکوپ ساده: نمایش شکل موج
پروژههای پیشرفته:
نمایشگر سهبعدی: استفاده از ۸ ماژول
سیستم آگهی: کنترل از طریق وب
ویژوالایزر صوتی: واکنش به صدا
نمایشگر باینری: نمایش دادههای دیجیتال
بستهبندی و محتویات
بسته استاندارد شامل:
۱ عدد ماژول ماتریس ۸x۸ با MAX7219
۴ عدد پایه هدر نری (قابل لحیم)
۱ عدد کابل ۵ سیمه ۲۰cm
راهنمای نصب سریع فارسی
بسته توسعهدهنده شامل:
۴ عدد ماژول ماتریس
۱ عدد برد اتصال سریع
۱ عدد آداپتور ۵V 2A
کتابچه پروژههای عملی
کدهای نمونه کامل
بسته حرفهای شامل:
۸ عدد ماژول ماتریس
فریم آلومینیومی برای مونتاژ
منبع تغذیه صنعتی ۵V 10A
کتابخانههای سفارشی
پشتیبانی فنی VIP
تستهای کیفیت:
۱. تست LEDها: بررسی تمام ۶۴ LED
۲. تست درایور: بررسی عملکرد MAX7219
۳. تست اتصال: بررسی پینهای اتصال
۴. تست حرارتی: کارکرد در دمای ۵۰°C
پشتیبانی فنی:
راهنمای فارسی جامع
مثالهای برنامهنویسی
کتابخانههای بهروز
گروه تلگرام پشتیبانی
ویدئوهای آموزشی
جمعبندی
ماژول ماتریس نقطهای ۸x۸ با درایور MAX7219 یک نمایشگر همهکاره، قابل کنترل و مقرونبهصرفه برای پروژههای الکترونیکی است. با رابط SPI ساده، کتابخانههای گسترده و قابلیت اتصال سری، این ماژول امکان ایجاد نمایشگرهای بزرگ و پیچیده را با کمترین پیچیدگی فراهم میکند.
از پروژههای ساده نمایش متن تا سیستمهای نمایش پیچیده، این ماژول ابزاری ایدهآل برای طراحان و سازندگان است.
| وزن | 0.1 کیلوگرم |
|---|---|
| ابعاد | 2 × 2 × 2 سانتیمتر |
| ساختار محصول تعیین نوع محصول فیزیکی و مجازی ( شامل نقشه ی شماتیک، مدار چاپی و .. بصورت دانلودی ) | |
| لایه های مدارچاپی | |
| نوع مدار | |
| کشور سازنده |
.فقط مشتریانی که این محصول را خریداری کرده اند و وارد سیستم شده اند میتوانند برای این محصول دیدگاه ارسال کنند.
در تهران فقط
پیک موتوری
تحویل حضوری
اداره پست جمهوری اسلامی ایران
پست سفارشی، پیشتاز، بینالمللی، تیپاکس و پست پیشتاز خارج از کشور
در حال حاضر امکان رهگیری مرسوله های پستی با کد مرسوله، دریافت گواهی کد پستی، مشاهده تعرفه های پستی به صورت آنلاین و ... در سایت شرکت ملی پست جمهوری اسلامی ایران فراهم شده است. تمامی مردم می توانند با ورود به این سایت، از خدمات مربوط به شرکت و اداره پست استفاده کنند.
در اداره پست جمهوری اسلامی ایران، برای ارسال مرسولات، روشهای مختلفی وجود دارد که عبارتند از:
۱. پست سفارشی: این روش برای ارسال کالاهای کوچک و سبک و با ارزش کمتر از ۱۰۰ هزار تومان استفاده میشود. در این روش، هزینه ارسال بر اساس وزن و مسافت محاسبه میشود و زمان تحویل ۳ تا ۷ روز کاری است.
۲. پیشتاز: این روش برای ارسال کالاهایی با ارزش بیشتر از ۱۰۰ هزار تومان و یا کالاهایی که به سرعت باید تحویل داده شوند، استفاده میشود. در این روش، هزینه ارسال بر اساس وزن و مسافت محاسبه میشود و زمان تحویل ۱ تا ۳ روز کاری است.
۳. بینالمللی: این روش برای ارسال کالاهایی به خارج از کشور استفاده میشود. در این روش، هزینه ارسال بر اساس وزن و مسافت و هزینه گمرکی محاسبه میشود و زمان تحویل بسته به مقصد و روش ارسال، متفاوت است.
۴. تیپاکس: این روش برای ارسال کالاهایی است که به سرعت باید تحویل داده شوند. در این روش، هزینه ارسال بر اساس وزن و مسافت و زمان تحویل مورد نظر مشتری محاسبه میشود.
۵. پست پیشتاز خارج از کشور: این روش برای ارسال کالاها به خارج از کشور استفاده میشود و هزینه ارسال بر اساس وزن و مسافت و هزینه گمرکی محاسبه میشود.
در کل، برای ارسال مرسوله در اداره پست جمهوری اسلامی ایران، میتوانید یکی از روشهای فوق را انتخاب کنید که بسته به نیاز و شرایط شما، مناسبتر است.



































دیدگاهها
پاککردن فیلترهاهیچ دیدگاهی برای این محصول نوشته نشده است.