تابلو روان و ماتریس LED با آردوینو و آیسی 4017
ماتریسهای نوری یا همون تابلو روانهای کوچک، یکی از جذابترین پروژههای الکترونیکی هستن که علاوه بر ظاهر خیرهکننده، حسابی مهارتهای سختافزاری و برنامهنویسی تو رو به چالش میکشن. وقتی بتونی تکتک پیکسلهای یک نمایشگر رو خودت کنترل کنی، یعنی قدم بزرگی تو دنیای دیجیتال برداشتی.
در این آموزش از آیسیمدار، قرار هست با هم یک ماتریس الایدی با ابعاد 8 در 10 بسازیم. برای کنترل این همه الایدی، از روش مالتیپلکسینگ و آیسی معروف 4017 استفاده میکنیم تا بدون نیاز به پینهای زیاد، یه نمایشگر روان و عالی داشته باشیم.
حالا وسایلت رو آماده کن و هویه رو به برق بزن تا قدمبهقدم این پروژه جذاب رو پیش ببریم و یه نمایشگر نوری دستساز خفن بسازیم.
قطعات موردنیاز
- هویه و سیم لحیم
- سیمچین و دمباریک
- 80 عدد الایدی (ترجیحا 5 میلیمتری مات)
- 8 عدد مقاومت (مقدار بسته به نوع الایدی)
- آیسی شمارنده 4017
- 10 عدد مقاومت 1 کیلواهم
- 10 عدد ترانزیستور 2N3904
- سیم لاکی یا تکرشتهای
- برد سوراخدار (پرفبرد)
- برد آردوینو
- شیفت رجیستر 74HC595
- پین هدر
قطعات و ابزارهای مورد نیاز
برای شروع این پروژه اول از همه به ابزارهای لحیمکاری یعنی هویه، سیم لحیم، یه دمباریک کوچیک و سیملختکن نیاز داری. برای ساخت خود ماتریس هم باید 80 تا الایدی تهیه کنی.
علاوه بر الایدیها، به 8 تا مقاومت برای محدود کردن جریان نیاز داریم که مقدارشون به ولتاژ و جریان LEDهایی که میخری بستگی داره. یه آیسی شمارنده 4017 و 10 تا مقاومت 1 کیلواهم هم تو لیست قطعاتت بذار.
برای راهاندازی سطرها به 10 تا ترانزیستور 2N3904 نیاز داری. یه مقدار سیم تکرشتهای و یه برد سوراخدار (پرفبرد) هم برای مونتاژ قطعات کنار بذار.
برای بخش کنترل هم میتونی از برد آردوینو استفاده کنی. اگه بخوای پینهای کمتری از آردوینو اشغال بشه، یه شیفت رجیستر 74HC595 و کمی پین هدر هم لازم میشه.
انتخاب بهترین الایدی و مقاومتها
این بخش یکی از مهمترین قسمتهای پروژهست. چون کل خروجی کارمون به الایدیها بستگی داره، انتخاب درستشون خیلی حیاتیه. پیشنهاد میکنم از الایدیهای 5 میلیمتری مات استفاده کنی چون نور پخش و یکدستی دارن و تصویر نهایی رو خیلی واضحتر نشون میدن؛ رنگشون هم کاملا به سلیقه خودت بستگی داره.
استفاده از مدلهای 3 میلیمتری ممکنه، اما لحیمکاری رو سختتر میکنه و در نهایت یه نمایشگر خیلی کوچیک خواهی داشت. یه نکته مهم اینه که هیچوقت دقیقا 80 تا دونه الایدی نخر. همیشه احتمال خرابی یا سوختن قطعات موقع لحیمکاری وجود داره. بهتره حداقل 10 تا 20 تا بیشتر بخری تا وسط کار لنگ نمونی و خیالت راحت باشه.
الایدیهای اضافه رو هم میتونی تو پروژههای بعدی استفاده کنی. حالا برای محاسبه مقدار اون 8 تا مقاومت متصل به ستونها، باید یه سری اطلاعات اولیه داشته باشیم.
اول باید ولتاژ کاری و جریان مصرفی الایدیهایی که خریدی رو بدونی. خروجی برد آردوینو 5 ولت هست، پس ولتاژ منبع ما مشخصه. با دونستن این مقادیر میتونی با فرمولهای ساده قانون اهم، مقدار دقیق مقاومتها رو حساب کنی تا الایدیهات بهترین نور رو بدون خطر سوختن داشته باشن.
مالتیپلکسینگ چیه و چطور کار میکنه؟
شاید بپرسی مالتیپلکسینگ اصلا چی هست؟ به زبون ساده، یه روشه که اطلاعات رو به بخشهای کوچیکتر تقسیم میکنه و یکییکی میفرسته. با این ترفند میتونی تو استفاده از پینهای آردوینو حسابی صرفهجویی کنی و مدارت رو خیلی سادهتر نگه داری.
تو این پروژه، ما تصویری که قراره نمایش داده بشه رو به 10 بخش یا همون 10 سطر ماتریس تقسیم میکنیم. هدفمون اینه که سطرها رو یکی پس از دیگری روشن کنیم (اسکن کنیم) و همزمان دیتای مربوطه رو از آردوینو به ستونها بفرستیم. پایههای مثبت الایدیها به ستونها و پایههای منفی به سطرها وصل میشن.
پس اگه سطر اول رو به زمین مدار وصل کنیم و به ستونها دیتا بدیم، فقط الایدیهای همون سطر روشن میشن. برای اینکه تصویر کاملی ببینیم و چشمکزدن حس نشه، باید این اسکن سطرها رو با سرعت خیلی بالایی انجام بدیم؛ اونقدر سریع که خطای دید انسان باعث بشه فکر کنیم همه سطرها همزمان روشن هستن. اینجاست که آیسی 4017 وارد عمل میشه.
آیسی 4017 یه شمارنده دهدهی هست که دقیقا برای اسکن کردن سطرها یکی پس از دیگری استفاده میشه. مشکل کوچیک اینجاست که ما باید سطرها رو به زمین وصل کنیم، اما 4017 طوری طراحی نشده که بتونه جریان زیادی رو به سمت خودش بکشه. برای حل این مشکل، از ترکیب ترانزیستور و مقاومت کمک میگیریم.
این آیسی 10 تا پین خروجی داره، پس ما به 10 تا ترانزیستور و 10 تا مقاومت 1 کیلواهم نیاز داریم. مقاومتها رو به خروجیهای 4017 وصل میکنیم و سر دیگهشون رو میدیم به پایه بیس ترانزیستورها. بعد پایه کلکتور هر ترانزیستور به یه سطر از ماتریس و پایه امیتر هم به زمین مدار وصل میشه.
حالا نوبت به شیفت رجیستر میرسه. این آیسی فوقالعاده است چون فقط با اشغال 3 تا از پینهای میکروکنترلر، بهت اجازه میده خروجیهای زیادی رو کنترل کنی. حتی میتونی چند تا از این آیسیها رو پشت سر هم ببندی و بدون از دست دادن پینهای بیشتر، تعداد خروجیها رو باز هم افزایش بدی. با ترکیب شیفت رجیستر و آیسی شمارنده، میتونی یه ماتریس بزرگ رو با کمترین سیمکشی به راحتی راهاندازی کنی.
لحیمکاری ماتریس؛ سخت اما لذتبخش!
لحیمکاری یه ماتریس الایدی قلقهای خاص خودش رو داره و راههای مختلفی براش هست که من دو تا روش کاربردی رو بهت میگم. روش اول یکم زمانبر و پرزحمته، اما نتیجه کار فوقالعاده تمیز و حرفهای درمیاد. قانون کلی اینه: تمام پایههای مثبت تو ستونها و تمام پایههای منفی تو سطرها باید به هم وصل بشن.
برای شروع، پایه مثبت اولین الایدی رو خم کن تا به پایه مثبت الایدی پایینی برسه و نقطهای که به هم برخورد میکنن رو لحیم کن. همینطور پایه بعدی رو خم کن و ادامه بده تا کل پایههای مثبت اون ستون به هم متصل بشن.
در نهایت اضافههای پایهها رو با سیمچین کوتاه کن. قسمت سخت ماجرا وصل کردن پایههای منفی تو سطرهاست، چون نمیتونی اونا رو مثل پایههای مثبت خم کنی وگرنه به ستونها برخورد میکنن و اتصالی پیش میاد. تو روش اول، میتونی از تیکههای کوچیک سیم تکرشتهای روکشدار استفاده کنی و پایههای منفی هر سطر رو با این جامپرها به هم وصل کنی که البته وقت زیادی ازت میگیره.
روش دوم خیلی سریعتر و راحتتره. شروع کار و لحیمکاری ستونها دقیقا مثل روش قبلیه، تفاوت اصلی تو نحوه وصل کردن پایههای منفی خودش رو نشون میده.
ترفند روش دوم اینه که روی اتصالات ستونها (پایههای مثبت) یه لایه نوار چسب کاغذی یا عایق میکشی. با این کار خیالت راحته که اتصالی رخ نمیده و حالا میتونی پایههای منفی رو هم دقیقا مثل مثبتها خم کنی و به هم لحیم کنی. اگه نمیخوای از شیفت رجیستر استفاده کنی، باید هر ستون رو با یه مقاومت مستقیما به پینهای 0 تا 7 آردوینو وصل کنی.
در این حالت، پین ریست آیسی 4017 به پین 8 آردوینو و پین کلاک اون به پین 9 آردوینو متصل میشه. اما اگه تصمیم گرفتی شیفت رجیستر رو وارد مدار کنی، سیمکشیها عوض میشه. پین دیتای شیفت رجیستر به پین 9، پین لچ به پین 11 و پین کلاک اون به پین 10 آردوینو وصل میشه. برای آیسی 4017 هم پین کلاک رو به پین 13 و پین ریست رو به پین 12 متصل میکنی.
وقت برنامهنویسی و خلق تصویره
برنامهنویسی این ماتریس بخش هیجانانگیز کار ماست. برای اینکه بتونیم متنهای متحرک یا حروف و اعداد رو نشون بدیم، بهتره از دستورات مستقیم پورتها در آردوینو استفاده کنیم. کار با پورتها سرعت اجرای برنامه رو خیلی بالا میبره و حجم کد رو هم بهینهتر میکنه. اگه با رجیسترها و پورتهای آردوینو آشنا نیستی، بد نیست یه مطالعه کوتاه درباره ساختارشون داشته باشی.
برای طراحی الگوها و تصاویر دلخواهت، میتونی از یه صفحه شطرنجی ساده روی کاغذ یا برنامههایی مثل اکسل و Paint کمک بگیری. کافیه یه جدول 8 در 10 بکشی و پیکسلهایی که قراره روشن بشن رو مشخص کنی. اینطوری استخراج کدهای هگزادسیمال برای استفاده تو کدنویسی خیلی بیدردسر میشه.
یه نکته خیلی مهم: اگه شیفت رجیستر تو مدارت نیست و ستونها رو مستقیم به آردوینو وصل کردی، موقع آپلود کردن کد روی برد، حتما اتصال پینهای 0 و 1 رو قطع کن. این پینها برای ارتباط سریال استفاده میشن و اتصالشون به مدار ممکنه باعث خطا تو آپلود بشه. البته اگه از شیفت رجیستر استفاده کرده باشی، دیگه نیازی به این کار نیست و راحت میتونی کدت رو روی برد بریزی.
پایان کار و تست ماتریس
خسته نباشی! حالا دیگه یه ماتریس الایدی جذاب داری که صفر تا صدش رو خودت ساختی و روش کار با آیسی 4017 و شیفت رجیستر 74HC595 رو هم به صورت عملی یاد گرفتی. وقتشه خلاقیتت رو به کار بندازی و انیمیشنهای خودت رو برای این نمایشگر بنویسی.
یادت نره که تصاویر و ویدیوهای پروژهات رو با ما و بقیه بچهها تو اپلیکیشن آیسیمدار به اشتراک بذاری تا از کارهای خلاقانهات ایده بگیریم. موفق باشی!
فایلهای پیوست
تو میتونی اولین سازنده باشی!
اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر
این آموزش با استانداردهای اختصاصی آیسیمدار بازنویسی و بهینهسازی شده و تمامی حقوق انتشار آن متعلق به این مجموعه است و در صورت کپی یا بازنشر پیگرد قانونی خواهد داشت.








































گفتگوهای کاربران
هنوز نظری ثبت نشده؛ تو شروع کن!
هنوز نظری ثبت نشده؛ تو شروع کن!