در این مقاله نحوه راه اندازی ماژول نمایشگر دات ماتریس MAX7219 را با استفاده از آردوینو به شما آموزش میدهیم. اما پیش از آن با این ماژول آشنا خواهید شد.
حتما شما هم به LEDهای بزرگ و کوچکی که در خیابان نصب میشوند، برخورد کردهاید. در اکثر این LEDها از دات ماتریس استفاده شده است. اما دات ماتریس دقیقا چیست؟
نمایشگر دات ماتریس از تعدادی LED تشکیل شده است که در آرایههای دو بعدی چیده شدهاند و برای نمایش کاراکترها، تصاویر و شکلهای مختلف به کار میروند.
برای کنترل یک دات ماتریس، تقریبا میتوان گفت گزینهای بهتر از آی سی MAX7219 وجود ندارد. دلیل آن هم این است که این روش بسیار ارزان و ساده است. علاوه بر این، با اتصال زنجیرهای از این آی سیها، میتوانید در پروژههای بزرگتر، 2 دات ماتریس یا حتی تعداد بیشتری از آنها را کنترل کنید.
به هر حال باید گفت که کار با نمایشگرها بسیار جذاب و البته کاربردی است. پس بهتره وقت را هدر ندهیم و شروع کنیم!
نگاهی کلی به ماژول نمایشگر دات ماتریس MAX7219
ماژول دات ماتریس MAX7219 در واقع همراه یک آی سی MAX7219 است و انواع مختلفی دارد. اما دو نوع آن از همه شناخته شدهتر است: ماژول generic و ماژول FC-16.
یک ماژول دات ماتریس MAX7219 معمول، شامل صفحه نمایش دات ماتریس 8×8 و آی سی MAX7219 است که این آی سی به عنوان درایور صفحه نمایش LED عمل میکند.
در ادامه با نمایشگر دات ماتریس 8×8 و آی سی MAX7219 بیشتر آشنا خواهید شد.
نمایشگر دات ماتریس
یک نمایشگر دات ماتریس 8×8 تک رنگ، دارای 16 پایه (8 پایه برای سطرها و 8 پایه برای ستونها) است. تمامی سطرها و ستونها به هم متصل شدهاند تا تعداد پایهها به حداقل برسد. اگر این کار انجام نشود، یک دات ماتریس 8×8 به 65 پایه (یک پایه به ازای هر LED و یک پایه مشترک آند یا کاتد) نیاز خواهد داشت. درحالیکه با اتصال سطرها و ستونها تنها به 16 پایه نیاز است. به این روش یعنی کنترل تعداد زیادی LED با پایههای کمتر، مالتی پلکسینگ گفته میشود.
در روش مالتی پلکسینگ، هر ستون برای مدت زمان بسیار کوتاهی روشن شده و در همین زمان LEDهای آن ستون با آدرس دادن سطر متناظر روشن میشوند. ستونها به قدری با سرعت خاموش و روشن میشوند (هر چند صدم یا هزارم ثانیه یکبار) که چشم انسان تصور میکند تمامی LEDها روشن شده است. دلیل این موضوع، مدت زمان ماندگاری تصاویر در شبکیه چشم انسان است. با این تفاسیر، در هر لحظه تنها کافی است حداکثر 8 ال ای دی روشن شود.
آی سی MAX7219
برای اینکه بتوانید ماژول نمایشگر دات ماتریس MAX7219 را با آردوینو راه اندازی کنید، در اینجا شما را با آی سی MAX7219 بیشتر آشنا میکنیم.
همانطور که در بخش قبل گفتیم، در روش مالتی پلکسینگ، با اتصال سطرها و ستونها نمایشگر دات ماتریس 8×8، میتوان با پایههای کمتری، LEDهای بیشتری را کنترل کرد. اما یکی از ویژگیهای نه چندان جالب این تکنیک این است که شما باید از 8 ترانزیستور برای تامین جریان استفاده کنید و برای ثابت نگه داشتن یک تصویر، مجبورید مرتبا هر ستون را تازهسازی کنید. اما خوشبختانه در چنین شرایطی، آی سی MAX7219 میتواند به کمک شما بیاید. این آی سی همه کارهای کنترل و رفرش کردن را برای شما انجام میدهد. تنها کاری که شما باید انجام دهید این است که دستورات سریال را از طریق رابط 4 پین SPI ارسال کنید و بقیه کارها را به آی سی MAX7219 بسپارید. این آی سی بهصورت خودکار مابقی کارها را انجام خواهد داد.
این آی سی میتواند بهطور کامل 64 ال ای دی مجزا را کنترل کند. به عنوان مثال میتواند نور چندین LED را یکسان نگه دارد و به شما این امکان را دهد تا روشنایی LEDها را چه بهصورت نرمافزاری و چه بهصورت سختافزاری تنظیم کنید. زمانیکه میکروکنترلر محتوای صفحه نمایش را به روز میکند، MAX2719 کار رفرش کردن صفحه با فرکانس 800Hz را بهصورت خودکار انجام میدهد. در نتیجه میکروکنترلر دیگر وظیفه رفرش کردن صفحه و نمایش داده نخواهد بود و میتواند به کارهای مهمتری بپردازد.
برای صرفهجویی در مصرف انرژی، حتی میتوانید صفحه نمایش را خاموش کنید و در این حالت هم به آی سی داده ارسال کنید. یکی دیگر از مزیتهای MAX7219 این است که هنگام روشن شدن، صفحه نمایش را خاموش نگه میدارد تا در ثانیههای اول راهاندازی، نوشتههای عجیب و ناخواسته بر روی صفحه ظاهر نشود. آی سی MAX7219 از طریق رابط SPI ارتباط برقرار میکند. بنابراین، تنها به 3 پین داده برای اتصال به میکروکنترلر نیاز دارد. علاوه بر این، شما میتوانید چندین ماژول دات ماتریس را زنجیروار به هم متصل کنید تا با همین 3 سیم، صفحه نمایش بزرگتری داشته باشید.
تعیین حداکثر جریان و روشنایی
همانطور که قبلا گفته شد، آی سی MAX7219 به شما این امکان را می دهد تا روشنایی نمایشگر را به صورت سخت افزاری یا نرم افزاری یا هر دو تنظیم کنید. برای تنظیم روشنایی در سطح سخت افزار، باید مقدار مقاومتی را که در بردهای معمول MAX7219 وجود دارد، تغییر دهید. این مقاومت در شکل زیر با RSET نشان داده شده است.
اما نقش این مقاومت چیست؟
مقاومت RSET، وظیفه تعیین حداکثر جریانی که به LEDها وارد میشود و تنظیم روشنایی کل صفحه نمایش را برعهده دارد. جدول زیر مقادیر مقاومتی را نشان میدهد که شما باید با توجه به ولتاژ و جریان LED ماتریس خود از آنها استفاده کنید. برای مثال، اگر LED شما 2V و 20mA باشد، مقدار مقاومت باید 28KΩ قرار داده شود. (مقادیر داخل جدول برحسب کیلو اهم است).
نحوه تنظیم روشنایی بهصورت نرمافزاری را در بخشهای بعدی بررسی میکنیم.
پایههای ماژول دات ماتریس MAX7219
قبل از راه اندازی ماژول دات ماتریس با آردوینو ، باید بدانید که از هر ماژول دات ماتریس MAX7219 که استفاده کنید، دو کانکتور روی آن وجود خواهد داشت:
کانکتور ورودی:
از پایههای کانکتور ورودی که در یک طرف ماژول قرار دارد، برای ارتباط با میکروکنترلر استفاده میشود.
VCC به 5V متصل میشود. بهخاطر جریانکشی زیاد صفحه نمایش (تا 1A، اگر روشنایی تا حداکثر زیاد شود)، معمولا توصیه شده است که به جای اتصال به تغذیه 5V آردوینو، آن را مستقیما به منبع تغذیه خارجی متصل کنید. اگر این کار را انجام نمیدهید، حتما روشنایی را کمتر از 50% نگه دارید تا رگولاتور ولتاژ آردوینو بیش از حد گرم نشود.
GND به زمین مشترک متصل میشود.
DIN پایه دیتای ورودی است. این پایه را میتوانید به هر کدام از پایههای دیجیتال میکروکنترلر متصل کنید.
CS/LOAD پایه انتخاب چیپ (Chip Select) است که برخی اوقات با نام بار (LOAD) شناخته میشود. این پایه را هم میتوانید به هر کدام از پایههای دیجیتال میکروکنترلر متصل کنید.
CLK پایه کلاک است. این پایه را هم میتوانید به هر کدام از پایههای دیجیتال میکروکنترلر متصل کنید.
کانکتور خروجی:
پایههای طرف دیگر ماژول زمانی مورد استفاده قرار میگیرند که بخواهید دات ماتریسها را زنجیروار به هم متصل کنید.
VCC به 5V ماژول بعدی متصل میشود.
GND به GND ماژول بعدی متصل میشود.
DOUT دیتای خروجی است و به پایه DIN ماژول بعدی متصل میشود.
CS/LOAD به CS/LOAD ماژول بعدی متصل میشود.
CLK به CLK ماژول بعدی متصل میشود.
سیمکشی – راه اندازی ماژول نمایشگر دات ماتریس MAX7219 با آردوینو
در بخش های قبلی شما را برای راه اندازی ماژول دات ماتریس MAX7219 با آردوینو آماده کردیم. اما در اینجا قصد داریم این کار را آغاز کنیم.
قطعات ضروری برای این پروژه به شرح زیر است:
- ماژول دات ماتریس MAX7219
- ماژول نمایشگر دات ماتریس 8*32
- برد آردوینو UNO
- سیم جامپر نری به مادگی
- فیش مادگی آداپتور
- آداپتور دیواری 3 آمپر
بیایید ابتدا با تغذیه ماژول شروع کنیم. به خاطر اینکه صفحه نمایش جریان زیادی میکشد، ماژول را بهجای تغذیه 5V آردوینو، با منبع تغذیه خارجی راهاندازی کنید. البته اگر قصد استفاده از یک ماژول تکی دات ماتریس MAX7219 را دارید، میتوانید تغذیه آن را به تغذیه آردوینو متصل کنید، اما توصیه ما این است که تا حد امکان از این کار پرهیز کنید.
اما اتصال پایههای ارتباط SPI باقی مانده است. از آنجا که ماژول MAX7219 به تبادل داده زیادی نیاز دارد، بهترین عملکرد خود را زمانی نشان میدهد که به پایههای سخت افزاری SPI میکروکنترلر متصل شده باشد. پایههای سخت افزاری SPI به مراتب سریعتر از SPI نرم افزاری آن هستند.
به این نکته توجه داشته باشید که هر برد آردوینو، پایههای SPI مختص به خود را دارد و به همین دلیل، اتصال هر یک از آنها به ماژول هم متفاوت خواهد بود. به عنوان مثال برای بردهای UNO/Nano V3.0 پایههای SPI عبارتند از digital13 (SCK), 12 (MISO), 11 (MOSI) و 10 (SS).
درصورتیکه از برد آردوینو دیگری استفاده میکنید، بهتر است قبل از کار با آن، به دیتاشیت آردوینو خود مراجعه کنید و پایههای SPI برد آن را بررسی نمایید. در تصویر زیر میتوانید نحوه اتصال ماژول Generic MAX7219 به آردوینو را مشاهده کنید:
در این تصویر هم نحوه اتصال ماژول FC-16 MAX7219 به آردوینو نشان داده شده است:
اگر میخواهید چندین صفحه نمایش را زنجیروار به هم متصل کنید و یک نمایشگر بزرگتر بسازید، DOUT اولین صفحه نمایش را به DIN صفحه نمایش بعدی متصل کنید. پایههای VCC ، GND، CLK و CS بین صفحات مشترک خواهند بود. پس از اینکه اتصالات ماژول دات ماتریس شما به آردوینو به اتمام رسید، زمان کدنویسی است!
نصب کتابخانه
کنترل ماژول دات ماتریس MAX7219، کار زیادی میبرد و ممکن است کمی دشوار باشد. اما خوشبختانه کتابخانه MD_Parola نوشته شده است تا کار با این ماژول را برای شما راحت کند. به کمک این کتابخانه میتوانید با دستوراتی ساده صفحه نمایش خود را کنترل نمایید.
برای نصب این کتابخانه، مسیر Sketch > include Library > Manage Libraries، در نرمافزار آردوینو طی کنید. سپس، کمی صبر کنید تا Library Manager، لیست کتابخانهها را دانلود و لیست کتابخانههای نصب شده را بروز کند.
در قسمت جستجو عبارت max72xx را بنویسید. دنبال کتابخانه MD_MAX72XX از MajicDesigns بگردید. آن را باز و نصب کنید.
کتابخانه MD_MAX72XX، کتابخانهای مخصوص سخت افزار است که از توابع سطح پایین استفاده میکند. این کتابخانه حتما باید با کتابخانه MD_Parola همراه شود تا بتواند انیمیشنهای متنی مانند اسکرول و افکتهای محو شدن متن را بسازد.
بنابراین، کتابخانه MD_Parola را نیز نصب کنید.
در ادامه به عنوان نمونه میخواهیم ابتدا متن را با کمک یک نمونه کد ساده بر روی دات ماتریس نشان دهیم. پس از آن نیز نمونه کد اسکرول کردن متن را با هم بررسی خواهیم کرد.
کد ساده آردوینو – نمایش متن
در اینجا، شما باید یک متن ساده را بدون انیمیشن خاصی، بر روی نمایشگر دات ماتریس نشان دهید. اما پیش اینکه نمونه کد آن را بارگذاری کنید، باید تغییراتی در آن ایجاد کنید تا دقیقا کاری را انجام دهد که شما میخواهید. برای ایجاد تغییرات، باید دو متغیر زیر را تغییر دهید:
HARDWARE_TYPE
MAX_DEVICES
متغییر اول یعنی HARDWARE_TYPE به آردوینو نشان میدهد که شما از کدام نسخه ماژول دات ماتریس استفاده میکنید:
- اگر از ماژول Generic استفاده میکنید، مقدار HARDWARE_TYPE را GENERIC_HW انتخاب کنید. آی سی MAX7219 این ماژول بهصورت DIP و PCB آن معمولا سبز رنگ است. در تصویر زیر میتوانید این ماژول را ببینید.
اگر از ماژول FC16_HW استفاده میکنید، مقدار HARDWARE_TYPE را FC16_HW را انتخاب کنید. آی سی MAX7219 در این ماژول بهصورت SMD و PCB آن معمولا به رنگ آبی است. تصویر زیر ماژول FC16_HW را نشان میدهد.
با متغیر دوم یعنی MAX_DEVICES، شما تعداد دات ماتریسهای 8×8 مورد استفاده را مشخص میکنید. یک دات ماتریس 8×8، به عنوان 1 دستگاه به شمار میآید. بنابراین، اگر بخواهید یک ماژول 32×8 را کنترل کنید، باید این متغیر را برابر با 4 قرار دهید ( زیرا صفحه نمایش 32×8 شامل 4 آی سی MAX7219 است).
پس از انجام این تغییرات در این دو متغیر، کد زیر را بارگذاری کنید. در ادامه به جزئیات این کد میپردازیم.
// Including the required Arduino libraries
#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
// Uncomment according to your hardware type
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
//#define HARDWARE_TYPE MD_MAX72XX::GENERIC_HW
// Defining size, and output pins
#define MAX_DEVICES 4
#define CS_PIN 3
// Create a new instance of the MD_Parola class with hardware SPI connection
MD_Parola myDisplay = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
void setup() {
// Intialize the object
myDisplay.begin();
// Set the intensity (brightness) of the display (0-15)
myDisplay.setIntensity(0);
// Clear the display
myDisplay.displayClear();
}
void loop() {
myDisplay.setTextAlignment(PA_LEFT);
myDisplay.print("Left");
delay(2000);
myDisplay.setTextAlignment(PA_CENTER);
myDisplay.print("Center");
delay(2000);
myDisplay.setTextAlignment(PA_RIGHT);
myDisplay.print("Right");
delay(2000);
myDisplay.setTextAlignment(PA_CENTER);
myDisplay.setInvert(true);
myDisplay.print("Invert");
delay(2000);
myDisplay.setInvert(false);
myDisplay.print(1234);
delay(2000);
}
خروجی
پس از بارگذاری کد بالا، باید جهت صفحه نمایش را درست قرار دهید تا خروجی را ببینید. اگر از ماژول Generic استفاده میکنید، جهت آن را طوری قرار دهید که آی سی MAX7219 در بالا قرار گیرد. اما اگر از ماژول FC-16 استفاده میکنید، جهت صفحه نمایش باید به گونهای باشد که DIN، در سمت راست شما قرار بگیرد.
اگر بهدرستی همه مراحل را انجام داده باشید، خروجی زیر را خواهید دید:
توضیحات کد
در اولین قدم، باید تمام کتابخانههای لازم آردوینو را اضافه کنید. همانطور که قبلا گفته شد، کتابخانه MD_MAX72XX توابع سمت سخت افزار دات ماتریس را پیادهسازی میکند. درحالیکه کتابخانه MD_Parloa جلوههای متنی را ایجاد میکند. علاوه بر این دو، شما باید کتابخانه SPI را نیز اضافه کنید. این کتابخانه بهصورت پیش فرض در کامپایلر آردوینو نصب شده و موجود است. از این کتابخانه برای ارتباط بین صفحه نمایش و آردوینو از طریق SPI استفاده میشود.
#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
در قدم بعدی، باید مشخص کنید از کدام سخت افزار استفاده میکنید. از آنجایی که ما در این آموزش از ماژول FC-16 استفاده کردهایم، HARDWARE_TYPE را روی FC16_HW قرار دادهایم. تعداد آی سیهای MAX7219 استفاده شده 4 است، به همین دلیل MAX_DEVICES را 4 قرار دادیم. در آخر نیز، پایهای از آردوینو که به پایه CS صفحه نمایش متصل میباشد، تعریف شده است:
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 4
#define CS_PIN 3
در مرحله بعد، یک شی از کلاس MD_Parola با تابع ()MD_Parola ساخته شده است. این تابع به سه پارامتر نیاز دارد، اولین پارامتر نوع سختافزار، پارامتر دوم، پایه CS و پارامتر سوم، حداکثر تعداد ماژولهای متصل است.
MD_Parola myDisplay = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
در بخش setup کد، ابتدا شی ساخته شده را با تابع ()begin مقداردهی اولیه میکنیم. روشنایی صفحه نمایش را میتوانید با تابع ()setIntensity مشخص کنید. شما میتوانید مقداری بین 0 (حداقل روشنایی) و 15 (حداکثر روشنایی) را برای ورودی این تابع انتخاب کنید. تابع ()displayClear نیز، صفحه را پاک میکند.
void setup() {
myDisplay.begin();
myDisplay.setIntensity(0);
myDisplay.displayClear();
}
در بخش loop کد، ابتدا محل قرارگیری متن را با تابع ()setTextAlignment مشخص میکنیم. شما میتوانید متن را با پارامترهای PA_LEFT ، PA_RIGHT و PA_CENTER به ترتیب در سمت چپ، راست و مرکز قرار دهید. سپس، متن “LEFT” را با دستور myDisplay.print(“LEFT”) چاپ کردهایم. به این نکته توجه که حتما باید علامتهای نقل قول ” ” را در دو طرف متن قرار دهید، زیرا در حال نمایش یک string هستیم. اما اگر بخواهید اعداد را چاپ کنید، دیگر نیازی به علائم نقل قول نیست. برای مثال از دستور myDisplay.print(1234) باید برای چاپ عدد 1234 استفاده کرد. علاوه بر این، میتوانید نمایش متن را بهصورت معکوس انجام داد، یعنی متن با خاموش شدن LED ها نشان داده شود. این کار را میتوانید با تابع ()setInvert انجام دهید.
void loop() {
myDisplay.setTextAlignment(PA_LEFT);
myDisplay.print("Left");
delay(2000);
myDisplay.setTextAlignment(PA_CENTER);
myDisplay.print("Center");
delay(2000);
myDisplay.setTextAlignment(PA_RIGHT);
myDisplay.print("Right");
delay(2000);
myDisplay.setTextAlignment(PA_CENTER);
myDisplay.setInvert(true);
myDisplay.print("Invert");
delay(2000);
myDisplay.setInvert(false);
myDisplay.print(1234);
delay(2000);
}
کد آردوینو – اسکرول کردن متن
در مثال دوم، میخواهیم نحوه اسکرول کردن متن در نمایشگر دات ماتریس MAX7219 را باهم انجام دهیم. اگر متنی را روی صفحه نمایشگر دات ماتریس نشان دهید، متوجه میشوید که این نمایشگر معمولا برای نمایش متن شما بسیار کوچک است.اما برای رفع این مشکل، میتوانید از افکت اسکرول کردن استفاده کنید. نمونه کدی که در ادامه مشاهده میکنید، به شما نشان میدهد که چگونه یک پیام رو اسکرول کنید.
// Including the required Arduino libraries
#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
// Uncomment according to your hardware type
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
//#define HARDWARE_TYPE MD_MAX72XX::GENERIC_HW
// Defining size, and output pins
#define MAX_DEVICES 4
#define CS_PIN 3
// Create a new instance of the MD_Parola class with hardware SPI connection
MD_Parola myDisplay = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
void setup() {
// Intialize the object
myDisplay.begin();
// Set the intensity (brightness) of the display (0-15)
myDisplay.setIntensity(0);
// Clear the display
myDisplay.displayClear();
myDisplay.displayScroll("Hello", PA_CENTER, PA_SCROLL_LEFT, 100);
}
void loop() {
if (myDisplay.displayAnimate()) {
myDisplay.displayReset();
}
}
اگر همه چیز بهدرستی انجام شده باشد، خروجی زیر را خواهید دید:
توضیحات کد
احتمالا با نگاه به این نمونه کد متوجه خواهید شد که بخش اول آن تا آخر بخش Setup دقیقا مشابه کد مثال قبلی است و تنها تفاوت آن اضافه شدن دستور ()displayScroll در آخر بخش setup است.
myDisplay.displayScroll("Hello", PA_CENTER, PA_SCROLL_LEFT, 100);
همانطور که مشاهده میکنید، این تابع 4 آرگومان میگیرد:
displayScroll(pText, align, textEffect, speed)
- pText : متن شما در اینجا قرار میگیرد.
- align : محل قرار گرفتن متن را در حالتیکه نمایشگر دات ماتریس متوقف است، مشخص میکند. برای مشخص کردن محل متن از دستورات مثال قبلی یعنی PA_RIGHT ، PA_LEFT و PA_CENTER استفاده کنید.
- textEffect : این آرگومان، افکت اسکرول کردن را مشخص میکند. قرار دادن آن روی PA_SCROLL_LEFT متن را به سمت چپ اسکرول میکند.
- speed : این آرگومان، سرعت انیمیشن را مشخص میکند. سرعت، زمان بین فریمهای انیمیشن برحسب میلیثانیه است. هر چه این مقدار کمتر باشد، سرعت انیمیشن بیشتر خواهد بود.
علاوه بر این 4 آرگومان، در قسمت loop، فقط دو تابع مورد استفاده قرار گرفته است تا امکان اسکرول کردن متن ایجاد شود. ابتدا از تابع ()displayAnimate در یک عبارت شرطی(if) استفاده میکنیم. این تابع متن را اسکرول کرده و زمانی که اسکرول به اتمام برسد، خروجی true را برمیگرداند. پس از تمام شدن اسکرول، صفحه را با تابع ()displayReset ریست میکنیم تا اسکرول کردن به صورت مداوم ادامه پیدا کند.
void loop() {
if (myDisplay.displayAnimate()) {
myDisplay.displayReset();
}
}
کلام آخر
همانطور که قبلا هم گفتیم، نمایشگر دات ماتریس کاربرد بسیار زیادی دارد. در بسیاری از فروشگاهها، اتوبوسها و خیابانهای بزرگ از این نمایشگر استفاده شده است. علاوه بر کاربرد زیاد این ماژول، کار با آن میتواند برای بسیاری از علاقهمندان به الکترونیک نیز جذابیتهای بسیاری داشته باشد.
بر همین اساس، در این مقاله سعی کردیم، با دو مثال یعنی نمایش متن و امکان اسکرول کردن آن، نحوه راه اندازی ماژول دات ماتریس MAX7219 با آردوینو به شما آموزش دهیم. در صورت نیاز حتما سوالات خود را با ما مطرح کنید. ما همیشه برای پاسخگویی آماده هستیم.
۱۸ دیدگاه. Leave new
واقعا از روان بودن متن و مطلب لذت بردم مرسی که هستید💙💙
سلام علیرضای عزیز،
خیلی خوشحالیم که دوست داشتی و مرسی از شما که همراه ما هستی و بهمون انرژی میدی.
عالی خدا خیرتون بده
سلام مهدی عزیز،
تشکر فراوان
باسلام و خسته نباشید ، ببخشید سوال داشتم و اینکه بنده با oled کار میکنم ، یه مشکلی داشتم میتوانم ۳۰ عدد oled را با ارتباط سریال مثل دات ماتریس آدرس دهی کرد و بهم وصل بشن ، سوال دوم بنده با ارتباط i2c اول میخواستم ۳۰ عددssd1306 oled با ماژول TCA9548A را آدرس دهی کنم ولی به مشکل برخوردم که ۵عدد TCA را چطور آدرس دهی و کدنویسی بکنم و از کتابخانه هم نبود کد مربوط به اتصال چند TCA9548a خیلی ممنون
سلام مصطفی عزیز،
شما با استفاده از پایههای A0 تا A3 آی سی TCA9548A، میتونی آدرس I2C خود آی سی رو تعیین کنی. بنابراین تا ۸ مالتی پلکسر TCA9548A رو میشه آدرس دهی کرد و در کل ۶۴ دیوایس I2C رو روی یک خط راهاندازی کرد. برای اطلاعات بیشتر میتونی لینک زیر رو بررسی کنی:
https://forum.arduino.cc/t/how-to-call-multiple-tca9548a-i2c-mux-with-different-addresses/895496
سلام
چطور می شود یک متن فارسی را با استفاده از این کتابخانه ها روی دات ماتریس نمایش داد؟
سلام عباس عزیز،
این کتابخانه بهصورت پیشفرض از کاراکترهای فارسی پشتیبانی نمیکنه، اما امکان ساخت فونت در این کتابخانه فراهم شده که با استفاده از اون میتونی تمام حروف رو یکی یکی اضافه و استفاده کنی.
اطلاعات بیشتر:
https://majicdesigns.github.io/MD_MAX72XX/page_font_utility.html
با سلام و سپاس از زحمات شما
بنده میخوام با یک ماتریس ۸ در ۸ یه نمایشگر برای نمایش مقدار ۸ پتانسیومتر به صورت خطوط عمودی داشته باشم.
با این ماتریس و همین کتابخانه امکان پذیره؟
در صورت امکان راهنمایی بفرمایید.
ارادت
سلام و درود به بابک عزیز
برای نمایش مشکلی نیست، تابع setColumn در همین کتابخانه برای روشن کردن هر ستون به شکل مجزا کاربرد داره، برای مشاهده مثالی از نحوه استفادهش میتونید به مثال MD_MAX72xx_Test رجوع کنید و تابع columns رو ببینید. اما چالشی که شما خواهید داشت اینه که آردوینو UNO، فقط ۶ پین آنالوگ داره که برای خوندن ۸ پتانسیومتر کافی نیست. برای این موضوع هم راهحلهای زیادی هست از جمله استفاده از دو برد آردوینو UNO، استفاده از برد آردوینو DUE که ۱۲ تا پین آنالوگ دارد، مالتی پلکس کردن پتانسیومترها یا استفاده از آی سی های ADC.
موفق باشید 🙂
در حقیقت اصلا نفهمیدم چیشد د
با وجود اینکه اول داس خوندم بعد وین ۹۸ بعدش ایکس پی
سلام
لطفاً برای حل مشکل پیشآمده، سؤالتان را کمی واضحتر بیان کنید دوست عزیز 🙂
سلام من می خواهم یک ارتباط وایرلس با وای فای که از هرجای جهان که در داخل گوشی زدم بتوانم گلخانه ای را که ساختم را کنترل کنم
سلام و درود برشما پویان عزیز
از اتفاق آموزشی در این حوزه در برنامه هست که در آینده منتشر خواهیم کرد.
بسیار عالی و خوب
درود بر شما دوست عزیز
بسیار خوش حالیم که این مقاله آموزشی برای شما مفید واقع شده.
موفق و پیروز باشید
با سلام و عرض ادب ممنون از مطالب بسیار خوب، قابل فهم و بسیار روان شما.من یه مدت خیلی با دات ماتریس ها کار کردم اما هر کاری کردم نتوانستم برنامه ای بنویسم که ۱۶*۳۶ را راه اندازی کنم.با بیسیک کار کردم و با زبان C خیلی آشنایی ندارم.اگه یه آموزش برای ۱۶ سطر بزارید خیلی خیلی ممنون میشم.خواهشا در صورت انتشار چنین آموزشی در صورت امکان یک نسخه برام ایمیل کنید تا راحت تر دسترسی داشته باشم خدا خیرتون بده
سلام و درود خدمت شما دوست عزیز
شما می توانید سوالتان رو با ذکر جزئیات (مدل و مشخصات دات ماتریس، تصویر مدار مدنظر) در سایت پرسش و پاسخ روبوایکیو مطرح کنید تا بتونیم راهنماییتون کنیم.
Roboeq.ir/qa