مهندس موفق الکترونیک

ساخت تابلو تبلیغاتی LED با ماژول نمایشگر ماتریسی P10 و آردوینو

امروزه نمایشگرهای تبلیغاتی نقش بسیار مهمی را در بازاریابی ایفا می‌کنند و هرچند که روش‌های تبلیغاتی دیگری نیز وجود دارند مانند روزنامه‌ها، پوسترها، تابلوهای چشمک‌زن و … اما با این حال این بیلبوردهای عظیم‌الجثه‌ی LED روز به روز بیش از سایر روش‌ها مورد توجه قرار می‌گیرند. علت آن هم این است که هم روش قابل اطمینان و موثری هستند و هم نسبت به سایر روش‌ها مزایایی دارند. از جمله این‌که بادوام هستند و میلیون‌ها میلیون بار می‌توان از آن‌ها برای تبلیغات مختلف استفاده کرد و یا آن‌که قابلیت تنظیم و تغییر دارند مثلا هر زمان که بخواهیم می‌توانیم یک تبلیغ را برداشته و سریعا تبلیغ دیگری را با متن دیگری جایگزین کنیم.

ساخت تابلو تبلیغاتی LED با استفاده از ماژول نمایشگر ماتریسی P10 و آردوینو

نمای کلی پروژه ساخت نمایشگر LED با کمک ماژول P10  و آردوینو

و البته طبیعی است که به علت همین مزایای بیشتر، هزینه‌ی استفاده از این روش برای تبلیغات، از سایر روش‌ها قدری بیشتر است. هم‌چنین می‌توان این بورد ها را در مکان های عمومی و پرتعدد نصب کرد و اطلاع رسانی های عمومی را از طریق آن‌ها اعلام نمود. پیش از این و در آموزش‌های قبلی ما با ال ای دی های ماتریسی 8*8 کار کرده‌ایم و با کمک بوردهای کنترل کننده مختلفی، توانسته‌ایم نوشته‌های نمایش داده شده بر روی صفحه آن‌ها را کنترل کنیم. و حالا در این آموزش می‌خواهیم  ماژول نمایشگر P10 را کمک آردوینو کنترل کنیم.

ماژول نمایشگر دات ماتریس dot matrix 32*16  ، که به عنوان ماژول نمایشگر ال ای دی P10  نیز شناخته می‌شود، برای نمایش متن های متحرک به کار می‌رود. و در این پروژه می‌خواهیم که این کاررا تحت کنترل بورد آردوینو UNO انجام دهد. لازم به ذکر است که این ماژول P10 ، قابلیت اتصال یا اصطلاحا cascade شدن دارد و می‌توان هر تعداد لازم از آن‌ها را به هم متصل نمود و بورد با ابعاد دلخواه ساخت.

در انجام این پروژه به چه چیزهایی نیاز داریم؟

  • بورد آردوینو UNO – یک عدد
  • ماژول نمایشگر ال ای دی ژول نمایشگر ال ای دی 32*16 یا همان P10 – یک عدد
  • کانکتور 16 پین FRC – یک عدد
  • منبع تغذیه سوییچینگ (SMPS) از نوع 5 ولت 3 آمپر DC
  • تعدادی کانکتور
مطلب پیشنهادی:  برنامه ریزی تابلو روان بصورت بی سیم

اگر کلا با دات‌ماتریس‌ها آشنا نیستید توصیه می‌کنم مقاله آموزش اتصال دات ماتریس به میکروکنترلر را مطالعه کنید.

طرز کار ماژول P10

ساخت تابلو تبلیغاتی LED با ماژول نمایشگر ماتریسی 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

ساخت تابلو تبلیغاتی LED با ماژول نمایشگر ماتریسی P10 و آردوینو

  • Enable: از طریق اعمال یک پالس PWM  به این پین، می‌توانیم شدت روشنایی پنل را کنترل کنیم.
  • پین های A و B : این پین‌ها از طریق ورودی‌های دیجیتالی که دریافت می‌کنند، مشخص می‌کنند که کدام ‌ها از LED ها باید در هر لحظه روشن شوند. به این پین‌ها پین‌های multiplex select نیز می‌گویند.
  • پین‌های Shift clock (CLK) ، Store clock (SCLK) و Data : پین‌های آشنایی کنترلی در شیفت رجیسترها. شیفت رجیستر به کار رفته در این ماژول از نوع 74HC595 است.
مطلب پیشنهادی:  پروژه طراحی و ساخت دیتالاگر با آردوینو (بخش اول)

آرایش قرار گرفتن پایه‌های ماژول p10 را تصویر زیر می‌بینید.

ساخت تابلو تبلیغاتی LED با ماژول نمایشگر ماتریسی P10 و آردوینو

اتصال مداری ماژول P10  و آردوینو UNO

نحوه اتصال پایه‌های آن‌ها را در تصویر زیر می‌بینید.

ساخت تابلو تبلیغاتی LED با ماژول نمایشگر ماتریسی P10 و آردوینو

در جدول زیر به صورت دقیق نوشته شده است که هر کدام از پین‌های ماژول به کدام یک از پین‌های آردوینو باید متصل شوند.

ساخت تابلو تبلیغاتی LED با ماژول نمایشگر ماتریسی P10 و آردوینو ساخت تابلو تبلیغاتی LED با ماژول نمایشگر ماتریسی P10 و آردوینو

نکته : توجه کنید که ترمینال تغذیه‌ی ماژول 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 با ماژول نمایشگر ماتریسی P10 و آردوینو

و تمام شد! بله! به همین سادگی شما توانستید یک تابلوی روان تبلیغاتی 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 و آردوینو

توصیه می‌کنیم اگر علاقمند بودید پروژه‌های مرتبط به نورپردازی با LEDها و همچنین پروژه‌های آردوینو را هم ببینید.

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

5 دیدگاه

  1. سلام خسته نباشید
    اگه بخوام طرح ایموجی در بیاد
    باید utf_8 ایموجی رو وارد کنم

  2. سلام
    متاسفانه مشکل راه اندازی این ماژول عدم پشتیبانی از زبان فارسی هستش اگه این مشکل برطرف میشد خیلی خوب بود

  3. با سلام
    آیا میشه اطلاعاتی در مورد نحوه راه اندازی ماژول LED داده بشه
    تا با میکروکنترلر خودمون راه بندازیم
    و مجبور نباشیم از بوردهای کنترلر یا آردوینو استفاده کنیم
    تشکر

  4. سلام
    من تابلو روان یک متردر ۲متر متحرک دارم که متاسفانه نرم افزارش که وصل میکنم اب بارون خورده ال ی دی هارا ددهم ونامفهم نمایش میدهد
    الان که این برنامه های شمارا خودم ونگاه کردم به خودم گفت یار در خانه ما گرد جهان می گردیم
    ناگفته نماد که فرادرس را خیلی زود میشناسم که یکه تاز میدان است چه در اموزش دادن چه در عرصه کردن نرم افزار
    انشاالله همواره پیشتاز باشد چراکه افراد باسواد وفهمیده داردممکنه شرکت های باشند که هم تراز با فرادرس ولی هیچ کدام میدان دار نیستند فرادرس مثل خاک شیر است که برای هرنوع درد تجویز می شود

    suori

  5. محمدرضا گودرزی

    ممنون مدتها بدنبال همین اموزش بودم چون تا قبل از تهیه پی 10 بتونم یک اشراف فنی جهت تهیه وسایل ونوشتن برنامه داشته باشم سپاسگذارم