شاید برای شما هم پیش آمده است که بخواهید متن یا شکلی خاص را به نمایش در بیاورید یا یک تابلو روان کوچک در اتاق یا محل کار خود داشته باشید، خوشبختانه به کمک ماژول های DotMatrix می توانید براحتی این کار را انجام دهید.
ویژگی های ماژول DotMatrix
ال ای دی های دات ماتریکس DotMatrix در اندازه های مختلفی یافت می شوند برای مثال ۸×۸ که از انواع پرطرفدار این نوع محسوب می شود، چرا از ماژول دات ماتریکس استفاده کنیم؟ ماژول های دات ماتریکس با استفاده از آی سی MAX7219 و سه کانال ارتباطی (Din/out , CLK , CS) و همچنین VCC و GND به ما امکان نمایس متن یا اشکال مدنظر را می دهد،از ویژگی های این ماژول ها امکان سری شدن با یکدیگر است یعنی می توانید براحتی یک تابلو روان کوچک در اتاق یا محل کار خود داشته باشد.
نحوه کارکرد DotMatrix led
دات ماتریکس ها بطور کلی و بدون اسفاده از ماژول دارای تعداد پایه های قابل توجهی هستند. برای مثال دات ماتریس ۸×۸ DotMatrix دارای ۱۶ پایه می باشد،در لحظه اول به نظر می رسد که همانند سون سگمنت ها از حالت های کاتد و آند مشترک پیروی می کنند اما از اگر این فرضیه درست باشد به ازای هر ال ای دی باید یک پایه خروجی داشته باشیم که یعتی در یک دات ماتریکس ۸×۸ باید ۶۴ پایه خروجی وجود داشته باشد اما همانطور که اطلاع دارید اصلا اینطور نیست. حال این سوال پیش می آید که ال ای دی ها در DotMatrix چگونه اتصالاتی دارند، در نظر داشته باشید که هیچ ای سی داخل این قطعات وجود ندارد. نوع اتصال در این قطعات به این صورت است که پایه های مثبت و منفی در ردیف های عمودی و افقی به یکدیگر متصل هستند به همین دلیل است که وقتی به یک پایه ولتاژ اعمال میکنیم بجای یک ال ای دی،چند ال ای دی در مختصات های مختلف روشن میشوند البته داستان به همین جا ختم نمی شود و چون مربوط به بحث ما نیست با آن نمی پردازیم.
نحوه راه اندازی ماژول DotMatrix
آموزش تصویری در یوتیوب
ابتدا به کتابخانه led control نیاز ذاریم که با استفاده از این لینک می توانید دانلود کنید .
1 |
#include <LedControl.h> |
با دستور بالا اقدام به فراخوانی کتابخانه کنید .
در این قسمت از کد پین های موجود در ماژول را به پین مدنظر در آردوینو ربط می دهیم .
1 2 3 |
int DIN = 12; int CS = 11; int CLK = 10; |
در بخش بعدی با استقاده از نرم افزار زیر کد های مورد نیاز برای نمایش شکل مورد نظر را تولید می کنیم .
1 |
byte a[8]= {کد های تولید شده,}; |
می توانید نرم افزار و کد مربوط به پروژه را از این لینک دانلود نمایید .
اتصالات DotMatrix 8×8
قطعات مورد نیاز
۱٫ برد آردوینو
۳٫ سیم برد برد
سورس کد آردوینو DotMatrix
کدهای زیر را کپی کرده و در آردوینو IDE قرار دهید. سپس روی برد آردوینو آپلود کنید. چنانچه روش آپلود کدها را نمیدانید، به آموزش کار با برد آردوینو مراجعه کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
#include <LedControl.h> int DIN = 12; int CS = 11; int CLK = 10; byte a[8]= {0x00,0xE9,0x89,0xE9,0x29,0xEF,0x00,0x00,}; byte b[8]= {0x00,0xE7,0x94,0xE7,0x91,0xE7,0x00,0x00,}; byte c[8]= {0x00,0xEC,0x8A,0x8C,0x8A,0xEA,0x00,0x00,}; byte d[8]= {0x00,0xEE,0x49,0x4E,0x49,0xEE,0x00,0x00,}; byte e[8]= {0x00,0xF0,0x80,0xF0,0x80,0xF0,0x00,0x00,}; LedControl lc=LedControl(DIN,CLK,CS,0); void setup(){ lc.shutdown(0,false); //The MAX72XX is in power-saving mode on startup lc.setIntensity(0,15); // Set the brightness to maximum value lc.clearDisplay(0); // and clear the display } void loop(){ byte f[8]= {0x00,0x66,0xFF,0xFF,0x7E,0x3C,0x18,0x00,}; byte g[8]= {0xFF,0x99,0x00,0x00,0x81,0xC3,0xE7,0xFF,}; byte h[8]= {0x00,0x66,0xFF,0xFF,0x7E,0x3C,0x18,0x00,}; byte i[8] = {0xFF,0x99,0x00,0x00,0x81,0xC3,0xE7,0xFF,}; printByte(f); delay(1000); printByte(g); delay(1000); printByte(h); delay(1000); printByte(i); delay(1000); printEduc8s(); lc.clearDisplay(0); delay(1000); } void printEduc8s() { printByte(a); delay(1000); printByte(b); delay(1000); printByte(c); delay(1000); printByte(d); delay(1000); printByte(e); delay(1000); } void printByte(byte character []) { int i = 0; for(i=0;i<8;i++) { lc.setRow(0,i,character[i]); } } |
تصاویر پروژه DotMatrix 8×8
تمامی مراحل ضروری جهت اجرای پروژه در این آموزش توضبح داده شده است، مراحل را یک به یک اجرا کرده و در صورت هر گونه سوال از طریق بخش دیدگاه ها با ما در ارتباط باشید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
سلام قسمت قرم رو چه طوری باید اجرا کنیم؟
با سلام
با استفاده از لینک زیر می توانید فایل با فرمت exe را دانلود نمایید.
http://s000.tinyupload.com/index.php?file_id=00359829640695304451
درست می فرمایید اما هر کاری می کنم دانلود نمیشه
با سلام
لینک چک شد و مشکلی وجود نداشت، لطفا دو باره امتحان کنید.
توجه داشته باشید پس از باز شدن لینک صفحه جدیدی برای شما باز خواهد شد که در آن صفحه باید اقدام به دانلود نرم افزار کنید.
سلام ممنون بابت اموزش خوبتان من با پیام رسان بله متاسفانه یه مشکلی دارم همه موارد اوکی است و کار می دهد به درستی به ربات متصل می شود و خیلی عالی سرویس می دهد ولی مشکلم اینجاست که بعد از مثلا ۲ روز ارسال کامند و از این قبیل وقتی برد را اینترنتش قطع و وصل می شود برد از اول پیام های دریافتی را که قبلا اجرا. کرده را دوباره میاد دریافت می کند (یعنی من اگر روز قبل دستور دما را زده بود یا لامپ را بعد از روشن شدن مجدد میاد و همه اون دستورات را یکبار دیگر اجرا می کند )
با سلام
خیلی ممنون از توجه شما، لطف کنید سوالات مربوط به هر آموزش را در قسمت نظرات همان آموزش مطرح کنید، با تشکر
لینک مربوط به آموزش ربات بله:
https://digispark.ir/ds18b20-bale-bot-esp32/
سلام کدها که در برنامه کپی میشن ارور redefinition of void setup میده علت چیه؟سپاس
سلام
میگم اردوینو همیشه روشن باشه مثلا برای ۵ ماه
اگه یه جای درست باشه مشکلی براش پیش نمیاد؟ خراب نمیشه؟
با سلام
از جایی که آردوینو یک برد تست و آزمایشی برای پیاده سازی کد و در نهایت پروژه است پیشنهاد میشه چنین مدت زمانی مدام روشن نباشد، البته بستگی به پروژه نیز دارد.
مثلا برنامه اش یه فرستنده گیرنده ساده اس(با ماژول فرستنده گیرنده) ، مشکلی براش پیش میاد؟
میشه از برد دیگه ای که دوام بیاره به جاش استفاده کرد ولی کد هاش همونجوری باشه؟
پیشنهاد می کنم بصورت بی وقفه از آردوینو کار نکشید و یا حداقل به برد استراحت بدید چون آردوینو یک برد صنعتی نیست (البته ممکنه هیچ مشکلی هم بوجود نیاد).
سلام شما برای این پروژه بجای برد اردوینو(به مدت طولانی) چی پیشنهاد میدین
با سلام، اگر استفاده صنعتی از برد دارید، پیشنهاد می کنم برد مدار چاپی طراحی کنید با توجه به استاندارد هایی که احتیاج دارید.
سلام
یک سوال ایا می توان رنگ یا شدت نور ماژول رو تغییر دهیم
بعد اسم ان برنامه ای که با کشیدن اشکال به ما کدش را می دهد چیست چون برای من وقتی ان لینک رو باز می کنم به من ارور می دهد .
ممنون
با سلام
متاسفانه در این ماژول این امکان وجود ندارد، لینک دانلود تست شد مشکلی نبود لطفا دوباره تست (توجه داشته باشید پس کلیک بر روی لینک صفحه جدیدی برای شما باز می شود و سپس با کلیک بر روی code and software.zip دانلود شروع خواهد شد)
بسیار عالی ممنون. من جاهای دیگه گشته بودم ولی جواب نگرفتم فکر میکنم به خاطر LedControl lc=LedControl(DIN,CLK,CS,0); بوده که انتهاش صفر قرار داده شده. بسیار ممنونم. چندروز درگیر این موضوع بودم بالاخره حل شد.