مکعب نوری ۳x۳x۳ با آردوینو؛ خلق انیمیشنهای سهبعدی
مکعبهای نوری (الایدی Cube) همیشه یکی از جذابترین و چشمنوازترین پروژههای دنیای الکترونیک هستن. این مکعبها با روشن و خاموش شدن هماهنگ الایدیها، الگوها و انیمیشنهای سهبعدی خیرهکنندهای میسازن. علاوه بر ظاهر خفن، ساخت این پروژه یه تمرین فوقالعاده برای یادگیری مهارت لحیمکاری ظریف و درک مفهوم مالتیپلکسینگ (Multiplexing) در مدارهاست.
توی این پروژه میخوایم یه مکعب نوری در ابعاد 3 در 3 در 3 بسازیم. این ابعاد برای شروع عالیه، چون نه اونقدر کوچیکه که جذابیت نداشته باشه و نه اونقدر بزرگه که به مدارهای پیچیده و آیسیهای شیفت رجیستر نیاز پیدا کنی. کلا به 27 تا الایدی نیاز داریم که تو سه لایه 9 تایی روی هم قرار میگیرن و با یه برد آردوینو کنترل میشن.
ما تو تیم آیسیمدار این آموزش رو طوری برات آماده کردیم که بدون گیج شدن تو سیمکشیها، قدمبهقدم مکعبت رو بسازی و با یه کدنویسی ساده، رقص نورهای جذابی خلق کنی. قطعات رو آماده کن تا بریم سراغ ساخت این مکعب دوستداشتنی!
قطعات موردنیاز
- الایدی (رنگ دلخواه) - 27 عدد
- برد سوراخدار (Perfboard) -
- مقاومت 220 اهم - 9 عدد
- مقاومت 10 کیلواهم - 3 عدد
- ترانزیستور NPN (مثل 2N2222) - 3 عدد
- برد آردوینو (مثل Arduino UNO) -
- سیم لاکی یا سیم استخوانی برای اتصالات
- تکه چوب ضایعاتی و دریل (برای ساخت قالب)
- هویه، قلع و سیمچین
آمادهسازی الایدیها و ساخت قالب
برای ساخت این مکعب، 27 تا الایدی رو به سه دسته 9 تایی تقسیم میکنیم. هر دسته 9 تایی یه "لایه" یا سطح افقی رو تشکیل میده. توی هر لایه، پایه منفی (کاتد) تمام 9 تا الایدی به هم وصل میشن.
از طرفی، پایه مثبت (آند) هر الایدی به پایههای مثبت الایدیهای دقیقا زیر و روی خودش متصل میشه تا 9 تا "ستون" عمودی رو بسازن.
شاید الان یکم گیجکننده به نظر برسه، ولی وقتی شروع به ساخت کنیم کاملا برات جا میافته. برای اینکه الایدیها موقع لحیمکاری تکون نخورن و فاصلههاشون دقیق دربیاد، اول یه قالب چوبی میسازیم. روی یه تکه چوب، 9 تا سوراخ به شکل یه مربع 3 در 3 دریل کن.
فاصله سوراخها رو حدود 15 میلیمتر در نظر بگیر (البته این عدد وحی منزل نیست، ولی باید طوری باشه که پایهها به هم برسن). سوراخها باید دقیقا همسایز الایدیها باشن تا وقتی اونها رو داخل چوب میذاری، کاملا کیپ بشن و نلغزن.
حالا پایههای منفی (کاتد) هر 27 تا الایدی رو با زاویه 90 درجه خم کن. پایه منفی همون پایهایه که کوتاهتره، یا اگه به لبه پلاستیکی الایدی نگاه کنی، سمت اون پایه یه بریدگی صاف داره. حواست باشه که پایه کاتد همه الایدیها رو دقیقا توی یه جهت مشخص خم کنی تا بعدا برای اتصال به مشکل نخوری. خب، قالب و الایدیها آمادهست؛ بریم سراغ بخش جذاب لحیمکاری!
مونتاژ و لحیمکاری لایهها
اول 9 تا از الایدیها رو داخل سوراخهای قالبی که ساختی قرار بده. طوری بچرخونشون که پایههای خمشده (کاتد) همگی تو یه جهت باشن تا بتونی به هم متصلشون کنی. پایههای مثبت (آند) هم که مستقیم رو به بالا هستن.
برای لحیمکاری، از لبههای بیرونی شروع کن. میتونی از گیرههای کوچیک سوسماری استفاده کنی تا پایهها رو روی هم نگه داری و راحتتر لحیم بزنی. وقتی دورتادور مربع رو لحیم کردی، برو سراغ اتصالات گوشهها.
در نهایت، پایه کاتد الایدی وسطی رو به یکی از پایههای کناری لحیم کن و اضافههای سیم رو با سیمچین بچین. این کار رو دو بار دیگه هم تکرار کن تا سه تا لایه 9 تایی کاملا آماده بشن.
حالا باید این سه لایه رو روی هم سوار کنیم. دو تا از لایهها رو بردار و روی هم قرار بده. فاصله بین لایهها رو دقیقا هماندازه فاصلهای که تو مرحله قبل بین الایدیها دادی (حدود 15 میلیمتر) تنظیم کن.
پایههای مثبت لایه بالایی باید دقیقا مماس با پایههای مثبت لایه پایینی بشن. با گیره سوسماری پایهها رو ثابت نگه دار و دونهدونه 9 تا ستون رو به هم لحیم کن. لایه سوم رو هم به همین شکل روی دو لایه قبلی سوار کن تا اسکلت سهبعدی مکعبت شکل بگیره.
مکعب آمادهشده رو بردار و پایههای 9 گانه ستونهاش رو از سوراخهای برد (Perfboard) رد کن. حواست باشه مکعب رو یه گوشه برد نصب کنی تا فضای کافی برای بقیه قطعات (مقاومتها و ترانزیستورها) باقی بمونه.
سعی کن فاصلهها متقارن باشن. بعد از تنظیم کردن، پایهها رو از زیر برد گیره بزن. یادت باشه پایهها رو از زیر خیلی کوتاه نکنی، چون بعدا باید مقاومتها رو بهشون وصل کنیم.
برد رو برگردون و پایهها رو به پدهای برد لحیم کن تا مکعب محکم سر جاش فیکس بشه. حالا باید برای کنترل هر لایه، یه مسیر جداگانه به زیر برد بکشیم.
یه تیکه سیم لاکی یا استخوانی بردار و سرش رو مثل قلاب خم کن. این قلاب رو دور اتصال کاتد لایه اول (مثلا الایدی وسط) بنداز، لحیمش کن و سر دیگه سیم رو از یه سوراخ خالی روی برد به سمت پایین ببر.
همین کار رو برای لایه دوم و سوم هم تکرار کن. حالا تو زیر برد، 9 تا پایه ستون داری و 3 تا سیم مربوط به لایهها. بریم برای سیمکشی نهایی مدار!
بستن مدار و اتصال قطعات
منطق این مدار خیلی سادهست. هر کدوم از اون 9 تا ستون، با یه مقاومت محدودکننده جریان به یکی از پینهای آردوینو وصل میشن. اون 3 تا سیم مربوط به لایهها هم از طریق ترانزیستورهای NPN به زمین (GND) مدار متصل میشن تا بشه با آردوینو روشنشون کرد.
ما کلا قراره 12 تا پین آردوینو رو درگیر کنیم، در حالی که 27 تا الایدی داریم! ترفند کار اینجاست: ما در هر لحظه فقط یک لایه رو روشن میکنیم. وقتی یه لایه از طریق ترانزیستور به زمین وصل میشه، هرکدوم از الایدیهای اون لایه میتونن توسط اون 9 تا پین ستون، جداگانه روشن بشن.
اگه ما لایهها رو با سرعت خیلی زیاد خاموش و روشن کنیم، خطای دید باعث میشه فکر کنیم همه لایهها همزمان روشن هستن. به این تکنیک مالتیپلکسینگ میگن. خب، اول از همه باید مقاومتهای ستونها رو آماده کنی.
از مقاومتهای 220 اهم استفاده میکنیم که حدود 22 میلیآمپر جریان میکشن. آردوینو رو هر پین میتونه تا 40 میلیآمپر جریان بده، پس این مقدار کاملا امن و مناسبه.
برای اینکه فضای کمتری روی برد اشغال بشه، پایه مقاومتها رو طوری خم کن که بتونی اونها رو به صورت ایستاده (عمودی) روی برد لحیم کنی. 9 تا مقاومت رو به این شکل آماده کن.
یک سر هر مقاومت رو به یکی از اون 9 تا پایه ستون زیر برد وصل کن و سر دیگهش رو به یه پین هدر یا مستقیم به سیمی که قراره بره تو آردوینو لحیم کن.
برای جلوگیری از اتصالی، اگه سیمها از روی هم رد میشن حتما از چسب برق یا وارنیش استفاده کن. با دیدن عکسهای مدار دقیقا متوجه میشی که چیدمان چطور پیش میره.
حالا نوبت لایههاست. پایه بیس هر کدوم از 3 تا ترانزیستور رو با یه مقاومت 10 کیلواهم به یکی از پینهای آردوینو وصل کن. پایه کلکتور ترانزیستور به سیم لایه مکعب متصل میشه و پایه امیتر هم به زمین (GND) مدار میره.
در نهایت، ستونهای مکعب رو به پینهای 2 تا 10 آردوینو و لایهها رو به پینهای 11، 12 و 13 متصل کن. (البته این پینها توی کد قابل تغییر هستن). مدار تکمیله! حالا فقط مونده به مکعبت جون بدی و انیمیشنها رو اجرا کنی.
کدنویسی و اجرای انیمیشنهای نوری
اگه تو اینترنت سرچ کنی، کدهای زیادی برای راهاندازی مکعبهای نوری پیدا میکنی. بیشتر این کدها از آرایههای باینری یا هگزادسیمال سنگین استفاده میکنن که درکشون یکم سخته. اما روش خیلی سادهتری هم وجود داره.
بهترین کار اینه که نرمافزارت دقیقا مثل سختافزارت کار کنه. یعنی به جای مختصات پیچیده X و Y و Z، الایدیها رو مستقیما با شماره ستون و لایهشون فراخوانی کنی. با این روش میتونی دستورات سادهای مثل "روشن کردن یک الایدی خاص" رو بنویسی و از ترکیبشون به الگوهای پیچیده برسی.
برای خلق افکتهای جذاب میتونی از بافرها (Buffer) استفاده کنی تا فریمهای مختلف انیمیشن رو اول تو حافظه بسازی و بعد یکباره نمایششون بدی. تابعهای توالی (Sequence) هم کمک میکنن تا الایدیها رو به صورت آبشاری یا موجی روشن و خاموش کنی.
تو محیط نرمافزار آردوینو (Arduino IDE)، میتونی با رفتن به بخش Library Manager کتابخانههای متنوعی که مخصوص مکعبهای 3 در 3 در 3 نوشته شدن رو دانلود کنی و از مثالهاشون (Examples) ایده بگیری.
ساخت این مکعب نوری یکی از بهترین پروژهها برای آشنایی عملی با برنامهنویسی میکروکنترلرهاست. امیدواریم از این آموزش تو وبسایت آیسیمدار نهایت استفاده رو برده باشی.
فایلهای پیوست
تو میتونی اولین سازنده باشی!
اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر
این آموزش با استانداردهای اختصاصی آیسیمدار بازنویسی و بهینهسازی شده و تمامی حقوق انتشار آن متعلق به این مجموعه است و در صورت کپی یا بازنشر پیگرد قانونی خواهد داشت.












































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