امروزه نمایشگرهای تبلیغاتی نقش بسیار مهمی را در بازاریابی ایفا میکنند و هرچند که روشهای تبلیغاتی دیگری نیز وجود دارند مانند روزنامهها، پوسترها، تابلوهای چشمکزن و … اما با این حال این بیلبوردهای عظیمالجثهی LED روز به روز بیش از سایر روشها مورد توجه قرار میگیرند. علت آن هم این است که هم روش قابل اطمینان و موثری هستند و هم نسبت به سایر روشها مزایایی دارند. از جمله اینکه بادوام هستند و میلیونها میلیون بار میتوان از آنها برای تبلیغات مختلف استفاده کرد و یا آنکه قابلیت تنظیم و تغییر دارند مثلا هر زمان که بخواهیم میتوانیم یک تبلیغ را برداشته و سریعا تبلیغ دیگری را با متن دیگری جایگزین کنیم.
نمای کلی پروژه ساخت نمایشگر LED با کمک ماژول P10 و آردوینو
و البته طبیعی است که به علت همین مزایای بیشتر، هزینهی استفاده از این روش برای تبلیغات، از سایر روشها قدری بیشتر است. همچنین میتوان این بورد ها را در مکان های عمومی و پرتعدد نصب کرد و اطلاع رسانی های عمومی را از طریق آنها اعلام نمود. پیش از این و در آموزشهای قبلی ما با ال ای دی های ماتریسی 8*8 کار کردهایم و با کمک بوردهای کنترل کننده مختلفی، توانستهایم نوشتههای نمایش داده شده بر روی صفحه آنها را کنترل کنیم. و حالا در این آموزش میخواهیم ماژول نمایشگر P10 را کمک آردوینو کنترل کنیم.
ماژول نمایشگر دات ماتریس dot matrix 32*16 ، که به عنوان ماژول نمایشگر ال ای دی P10 نیز شناخته میشود، برای نمایش متن های متحرک به کار میرود. و در این پروژه میخواهیم که این کاررا تحت کنترل بورد آردوینو UNO انجام دهد. لازم به ذکر است که این ماژول P10 ، قابلیت اتصال یا اصطلاحا cascade شدن دارد و میتوان هر تعداد لازم از آنها را به هم متصل نمود و بورد با ابعاد دلخواه ساخت.
در انجام این پروژه به چه چیزهایی نیاز داریم؟
- بورد آردوینو UNO – یک عدد
- ماژول نمایشگر ال ای دی ژول نمایشگر ال ای دی 32*16 یا همان P10 – یک عدد
- کانکتور 16 پین FRC – یک عدد
- منبع تغذیه سوییچینگ (SMPS) از نوع 5 ولت 3 آمپر DC
- تعدادی کانکتور
اگر کلا با داتماتریسها آشنا نیستید توصیه میکنم مقاله آموزش اتصال دات ماتریس به میکروکنترلر را مطالعه کنید.
طرز کار ماژول P10
میتوان گفت که این ماژول بهترین انتخاب برای ساخت تابلوهای تبلیغاتی با ابعاد مختلف است که قراراست درفضاهای سرپوشیده یا سرباز استفاده شوند. ساختار هرکدام از این بوردهای 32* 16 که به آنها پنل گفته میگوییم به این صورت است که 512 عدد LED پرنور بر روی یک صفحه نگهدارندهی پلاستیکی نصب شده اند. این تعدادLED با در نظر گرفتن بهترین شدت نور و بهترین فاصله برای بهترین عملکرد در نظر گرفته شده اند. هر فردی میتواند با توجه به ابعادی که برای تابلوی تبلیغاتی خود در نظر دارد، با قرار دادن پنلهای بیشتر تابلو را از طول و از آنقدر گسترش دهد تا به ابعاد دلخواه برسد.
اگر به تصویر زیر دقت کنید متوجه میشوید که وقتی میگوییم سایز هر پنل 32*16 است به این معنا ست که 32 عدد led در طول پنل قرار گرفته اند و 16 عدد در عرض پنل. ( هر led فضایی معادل 1cm *1cm را اشغال میکند.) به این ترتیب همان طور که گفته شد، در مجموع در هر پنل 512 عدد led داریم.
مشخصات ماژول P10 مورد استفاده
- شدت روشنایی Brightness : 3500 – 4500 nit
- ماکسیمم توان مصرفی : 20 W
- ولتاژ ورودی : 5 V DC
- ضدآب با درجه حفاظت IP65
- دارای یک LED سفید در هر پیکسل (1W Pixel Configuration)
- زوایه دید بالا
- نرخ کنتراست بالا
معرفی پین های موجود در ماژول P10
- Enable: از طریق اعمال یک پالس PWM به این پین، میتوانیم شدت روشنایی پنل را کنترل کنیم.
- پین های A و B : این پینها از طریق ورودیهای دیجیتالی که دریافت میکنند، مشخص میکنند که کدام ها از LED ها باید در هر لحظه روشن شوند. به این پینها پینهای multiplex select نیز میگویند.
- پینهای Shift clock (CLK) ، Store clock (SCLK) و Data : پینهای آشنایی کنترلی در شیفت رجیسترها. شیفت رجیستر به کار رفته در این ماژول از نوع 74HC595 است.
آرایش قرار گرفتن پایههای ماژول p10 را تصویر زیر میبینید.
اتصال مداری ماژول P10 و آردوینو UNO
نحوه اتصال پایههای آنها را در تصویر زیر میبینید.
در جدول زیر به صورت دقیق نوشته شده است که هر کدام از پینهای ماژول به کدام یک از پینهای آردوینو باید متصل شوند.
نکته : توجه کنید که ترمینال تغذیهی ماژول P10 را به صورت جداگانه به 5 V DC SMPS متصل کنید. توصیه میکنیم که هر منبع تغذیهی 5 V , 3 A را به یک پنل P10 وصل کنید و اگر قرار است تعداد پنلهای بیشتری استفاده کنید، به همان نسبت باید تعداد SMPS ها را نیز افزایش دهید و یا از SMPS با ولتاژی که به نسبت تعداد پنلها بالاتر است استفاده کنید.
نوشتن برنامه ی راه انداز ماژول P10 بر روی آردوینو
بعد از اینکه قسمت سختافزاری پروژه یعنی ساخت مدار را به اتمام رساندید، نوبت میرسد به نوشتن کدهای آردوینو. در ادامه این کدها را به صورت کامل آورده و به شما توضیح میدهیم. همچنین دیدن ویدئویی که در انتهای آموزش قرار دارد نیز میتواند مفید باشد.
خب، حالا به سراغ کد میرویم و قدم به قدم آن را بررسی میکنیم.
مانند تمام کدهای دیگر، در قدم اول باید تمام کتابخانههای لازم را اضافه کنیم. کتابخانهای که به طور خاص مربوط به ماژول P10 است ، کتابخانهی “DMD.h” است که میتوانید آن را از اینجا دانلود کرده و در IDE آردوینو نصب کنید.
پس از آن کتابخانه “TimerOne.h” را اضافه کنید که برای وقفهها به آن نیاز داریم. میتوانید آن را از اینجا دانلود کنید.
سپس کتابخانههای تمام فونتهایی که میخواهید متنهای روی تابلوی تبلیغاتی شما با آن نمایش دادهشوند را نیز اضافه کنید. ما در اینجا از “Arial Black font” استفاده میکنیم.
#include <SPI.h> #include <DMD.h> #include <TimerOne.h> #include "SystemFont5x7.h" #include "Arial_black_16.h"
در مرحلهی بعد باید تعداد ماژولهای قرار گرفته در سطر و ستون تابلوی تبلیغاتیتان را مشخص کنید. ما در اینجا از یک پنل استفاده میکنیم پس ROW و COLUMN هر دو 1 میشوند. پس از آن متغیر FONT را نیز تعریف میکنیم.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module(ROW, COLUMN);
بعد از آن نوبت به تعریف تابع ()scan_module است که ورودیهای ترمینال SPI آردوینو را بررسی میکند. اگر ورودی باشد، یکی از پینهای وقفه را به منظور انجام دستورالعملهای لازم فعال میکند.
void scan_module() { led_module.scanDisplayBySPI(); }
درون تابع setup() ، timer مقداردهی اولیه میشود و وقفهها به تابع ()scan_module اضافه میشوند. تابع (clearScreen(true استفاده میشود تا تمام پیکسلها خاموش شوند و اصطلاحا تابلو از نوشته پاک شود.
void setup() { Timer1.initialize(2000); Timer1.attachInterrupt(scan_module); led_module.clearScreen( true ); }
خب ، حالا برای نوشتن یک متن بر روی تابلو، با استفاده از تابع ()selectFont ، فونت مد نظر برای نوشته را از مجموعه فونتههایی که در ابتدای کد تعریف کردهایم انتخاب میکنیم.
برای نوشتن جملات نیز از تابع ()drawMarquee استفاده میکنیم.
led_module.selectFont(FONT); led_module.drawMarquee("Welcome to Melec.ir",25, (32 * ROW), 0);
و در نهایت، برای متحرک سازی نوشته در طول تابلو، یعنی مثلا حرکت آن از راست به چپ یا … بازهی زمانی دلخواهی را برای مدت زمان این حرکت مشخص میکنیم و به صورت زیر آن را پیاده میکنیم.
long start = millis(); long timming = start; boolean flag = false; while (!flag) { if ((timming + 20) < millis()) { flag = led_module.stepMarquee(-1, 0); timming = millis(); } }
و تمام شد! بله! به همین سادگی شما توانستید یک تابلوی روان تبلیغاتی LED بسازید!
کد کامل برنامهی آردوینو را نیز برای راحتی شما در اینجا آوردهایم. همچنین اگر احساس میکنید که از طریق خواندن توضیحات به اندازه کافی آمادهی انجام این پروژه نیستید، شاید دیدن فیلم بتواند موضوع را برایتان روشنتر کند.
#include <SPI.h> #include <DMD.h> #include <TimerOne.h> #include "SystemFont5x7.h" #include "Arial_black_16.h" #define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module(ROW, COLUMN); void scan_module() { led_module.scanDisplayBySPI(); } void setup() { Timer1.initialize(2000); Timer1.attachInterrupt(scan_module); led_module.clearScreen( true ); } void loop() { led_module.selectFont(FONT); led_module.drawMarquee("Welcome to Melec.ir",25, (32 * ROW), 0); long start = millis(); long timming = start; boolean flag = false; while (!flag) { if ((timming + 20) < millis()) { flag = led_module.stepMarquee(-1, 0); timming = millis(); } } }
ویدئو ساخت تابلو تبلیغاتی LED با ماژول نمایشگر ماتریسی P10 و آردوینو
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.
سلام خسته نباشید
اگه بخوام طرح ایموجی در بیاد
باید utf_8 ایموجی رو وارد کنم
سلام
متاسفانه مشکل راه اندازی این ماژول عدم پشتیبانی از زبان فارسی هستش اگه این مشکل برطرف میشد خیلی خوب بود
با سلام
آیا میشه اطلاعاتی در مورد نحوه راه اندازی ماژول LED داده بشه
تا با میکروکنترلر خودمون راه بندازیم
و مجبور نباشیم از بوردهای کنترلر یا آردوینو استفاده کنیم
تشکر
سلام
من تابلو روان یک متردر ۲متر متحرک دارم که متاسفانه نرم افزارش که وصل میکنم اب بارون خورده ال ی دی هارا ددهم ونامفهم نمایش میدهد
الان که این برنامه های شمارا خودم ونگاه کردم به خودم گفت یار در خانه ما گرد جهان می گردیم
ناگفته نماد که فرادرس را خیلی زود میشناسم که یکه تاز میدان است چه در اموزش دادن چه در عرصه کردن نرم افزار
انشاالله همواره پیشتاز باشد چراکه افراد باسواد وفهمیده داردممکنه شرکت های باشند که هم تراز با فرادرس ولی هیچ کدام میدان دار نیستند فرادرس مثل خاک شیر است که برای هرنوع درد تجویز می شود
suori
ممنون مدتها بدنبال همین اموزش بودم چون تا قبل از تهیه پی 10 بتونم یک اشراف فنی جهت تهیه وسایل ونوشتن برنامه داشته باشم سپاسگذارم
سلام خسته نباشید اگه بخواهید ماژول ۲ در ۲ باشه چگونه باید با آردینو آدرس دهی بشه می دونم که ماژول ها به هم متصل می شن اما وقتی دو سطر وجود داشته باشه چگونه به برد وصل میشه برد اصلی خودش به تعداد سطرها پورت داره اما آردینو چگونه میشه ممنونم پاسخ بدین