فهرست مطالب:

RGB LED Cube با برنامه بلوتوث + انیمیشن سازنده: 14 مرحله (همراه با تصاویر)
RGB LED Cube با برنامه بلوتوث + انیمیشن سازنده: 14 مرحله (همراه با تصاویر)

تصویری: RGB LED Cube با برنامه بلوتوث + انیمیشن سازنده: 14 مرحله (همراه با تصاویر)

تصویری: RGB LED Cube با برنامه بلوتوث + انیمیشن سازنده: 14 مرحله (همراه با تصاویر)
تصویری: DIY 32 * 8 точечно-матричные спектральные часы / полноцветный RGB с голосовой активацией 2024, نوامبر
Anonim
RGB LED Cube با برنامه بلوتوث + AnimationCreator
RGB LED Cube با برنامه بلوتوث + AnimationCreator

این دستورالعمل نحوه ساختن یک مکعب LED 6x6x6 RGB (آندهای معمولی) است که توسط یک برنامه بلوتوث با استفاده از Arduino Nano کنترل می شود. کل ساختار به راحتی با مکعب 4x4x4 یا 8x8x8 سازگار است. این پروژه از GreatScott الهام گرفته است. من تصمیم گرفتم با استفاده از led های بزرگتر (8 میلی متر) به دنبال ساخت پیچیده تری باشم ، با فاصله کمتر + اضافه کردن ارتباط بلوتوث که افزودن عملکردهای جدید را بسیار ساده تر می کند و همچنین قابلیت ایجاد یک برنامه برای کنترل مکعب را اضافه می کند. این همچنین به من اجازه می دهد به عنوان مثال کد یک بازی مار (ویدئوی ویترین سوم در پایان). علاوه بر آن من یک حالت Visual Visualizer را اضافه کردم که به مکعب اجازه می دهد تا ورودی AUX را تجسم کند. موسیقی با استفاده از MSGEQ7 (نمایش ویدئو در پایان). علاوه بر این ، من یک برنامه AnimationCreator در جاوا با رابط کاربری آسان برای ایجاد و تغییر تنظیمات انیمیشن نوشتم ، به طوری که هرکسی می تواند انیمیشن های سفارشی را بسیار سریع بسازد. بنابراین برنامه Sketch + Bluetooth چارچوبی را برای پیکربندی LED Cube فراهم می کند و با Animator Creator نیازی نیست نگران اجرای انیمیشن های سفارشی باشید.

پیوندها به طرح آردوینو و برنامه بلوتوث:

RGBCube_Arduino Sketch (Github)+Animation Creator.jar

برنامه بلوتوث Cubo (Github)

لیست قطعات مکعب:

  • LED 216x RGB (آند معمولی) (8 میلی متر) (AliExpress / Ebay)-> 6x6x6 = 216
  • کابل روبان (1 متر 40 پین کافی است) (AliExpress / Ebay / Amazon)
  • سرصفحه های زن و مرد (هر کدام حداقل 4x40pin) (AliExpress / Ebay / Amazon)
  • مس قلع / سیم نقره 0.8 میلی متر (25 eter 25 متر) (AliExpress / Ebay / Amazon)
  • لوله کوچک (AliExpress / Ebay / Amazon)

لیست قطعات برای تابلوهای کنترل:

  • 7 x TLC5940 درایور LED (Ebay / AliExpress)
  • 6 x MOSFET P-Channel IRF 9540 (Amazon / Ebay / AliExpress)
  • 8 x 10 خازن uF (Amazon / Ebay / AliExpress)
  • 3 خازن 1000 x uF (Amazon / Ebay / AliExpress)
  • 14x مقاومت 2.2kOhm (Amazon / Ebay / AliExpress)
  • 1 مقاومت 1 کیلو اهم (آمازون / Ebay / AliExpress)
  • سوکت IC 7 * 28 پین (Amazon / Ebay / AliExpress)
  • 1 عدد آردوینو نانو (آمازون / Ebay / AliExpress)
  • 1 x 1N4001 دیود (هر دیود معمولی) (آمازون / Ebay / AliExpress)
  • 8 x 0.1uF خازن (Ebay)
  • 1 x DC PC PC Mount (آمازون / Ebay / AliExpress)
  • 1 عدد ماژول بلوتوث HC-05 (Amazon / Ebay / AliExpress)

مرحله 1: نظریه

تئوری
تئوری

اگر به تئوری در مورد مالتی پلکس علاقه ندارید ، برای شروع ساخت واقعی به مرحله 2 بروید

از آنجا که سخت افزار و نرم افزار بخشهای بزرگی از این پروژه هستند ، اجازه دهید ابتدا نظریه ای را بررسی کنیم.

مغز مکعب آردوینو نانو است. دارای ورودی/خروجی کافی برای تعامل با درایورهای LED استفاده شده و همچنین ایجاد اتصال بلوتوث به ماژول HC-05 و دیگر سخت افزارهای کنترل است. اگر به سایر ساختارهای LED Cube نگاه کرده باشید ، می دانید که اکثر مردم از ثبت کننده های Shift ساده برای ذخیره مقادیر روشنایی رنگ LED های جداگانه استفاده می کنند. این نسخه از رجیسترهای Shift استفاده نمی کند ، بلکه درایورهای LED "TLC5940" نامیده می شود. همانطور که بعداً خواهیم دید ، این امر باعث صرفه جویی در وقت ما و همچنین هزاران سخت افزار اضافی (به عنوان مثال مقاومت) می شود.

عملکرد اصلی کنترل مکعب از مالتی پلکس استفاده می کند. در این حالت ما 6 لایه مکعب را چند برابر می کنیم ، بدین معنا که تمام آندها (+) همه LED های یک لایه به هم متصل هستند ، در حالی که کاتدهای جداگانه همه LED ها در یک ستون به پایین متصل می شوند. این بدان معنی است که اگر می خواهید LED را در موقعیت x = 1 ، y = 2 ، z = 3 ، رنگ: سبز روشن کنید ، باید 5 ولت را در آند لایه 3 تهیه کنید و GND را به کاتد ستون مربوط به آن متصل کنید. پین سبز x = 1 ، y = 2. بنابراین در واقعیت در یک برهه از زمان ، فقط یک لایه از مکعب در واقع روشن است ، اما همانطور که بعداً در کد مشاهده خواهید کرد ، ما لایه ها را به سرعت خاموش و روشن می کنیم ، به طوری که چشم ما فکر می کند کل مکعب روشن است به

برای کنترل مواردی مانند روشنایی ، انیمیشن ها و غیره از ماژول بلوتوث HC-05 استفاده می کنیم که به Arduino Nano متصل است. استفاده از ماژول با آردوینو بسیار ساده است زیرا فقط به 4 پین اتصال نیاز دارید و می توانید به سادگی ماژول را از طریق Serial-Communincation پیش فرض آردوینو به هم متصل کنید. در پایان این دستورالعمل ، متوجه خواهید شد که چگونه می توانید برنامه Bluetooth خود را برای کنترل مکعب بنویسید.

توجه داشته باشید

در شماتیک مربوط به برد مدار آردوینو شما همچنین می توانید یک طرح کوچک برای رابط ورودی صوتی پردازنده MSGEQ7 مشاهده کنید ، این برای مکعب واقعی ضروری نیست و فقط یک عملکرد اضافی است که من اضافه کردم ، بنابراین می توانید به سادگی از شماتیک مشخص شده چشم پوشی کنید با "MSGEQ7"

مرحله 2: سخت افزار: LED Cube Build

سخت افزار: LED Cube Build
سخت افزار: LED Cube Build
سخت افزار: LED Cube Build
سخت افزار: LED Cube Build
سخت افزار: LED Cube Build
سخت افزار: LED Cube Build

بنابراین اجازه دهید قبل از صحبت در مورد مدار کنترل در اطراف آردوینو نانو ، نحوه ساخت خود مکعب را بررسی کنیم.

لیست قطعات برای ساخت مکعب:

  • LED 216x RGB (آند معمولی) (AliExpress / Ebay)-> 6x6x6 = 216
  • کابل روبان (1 متر 40 پین کافی است) (AliExpress / Ebay / Amazon)
  • سرصفحه های زن و مرد (حداقل 4x40pin) (AliExpress / Ebay / Amazon)
  • مس قلع / سیم نقره 0.8 میلی متر (25 eter 25 متر) (AliExpress / Ebay / Amazon)
  • لوله کوچک (AliExpress / Ebay / Amazon)

اولین چیزی که باید انجام شود ، و من اکنون خسته کننده اما ضروری است ، ما باید LED ها را آزمایش کنیم. برای انجام این کار ، ما یک منبع تغذیه به عنوان مثال بلوک باتری 9 ولت را با گیره به یک دستگاه وصل می کنیم. همانطور که در تصویر 3 مشاهده می کنید ، طولانی ترین پین LED ها آنود (+) است ، بنابراین این پین را به +9 ولت باتری وصل می کنید. اکنون قبل از اتصال GND به رنگهای جداگانه کاتدها (قرمز ، سبز ، آبی) برای محدود کردن جریان ، یک مقاومت 220 اهم را به هر کاتد اضافه کنید. اکنون از آزمایش همه رنگهای تمام 216 LED لذت ببرید.

در مرحله بعد LED های آزمایش شده را آماده می کنیم تا بعداً بتوانیم آنها را به راحتی در ستون ها مونتاژ کنیم.

مرحله 3: ردیف های LED

ردیف های LED
ردیف های LED
ردیف های LED
ردیف های LED
ردیف های LED
ردیف های LED

قبل از اینکه بتوانیم LED ها را در ردیف های مربوطه خود لحیم کنیم ، باید سیم ها را خم کرده و برش دهیم.

همانطور که در تصویر اول مشاهده می کنید ، من به سادگی یک سوراخ 8 میلی متری (برای LED های 8 میلی متری) در یک تکه چوب حفر کردم و 3 مته بسیار کوچک در سمت چپ سوراخ LED و دیگری در سمت راست سوراخ ایجاد کردم. این مته ها نشانگرهایی برای خم شدن صحیح سیم ها هستند و باید از وسط سوراخ LED حدود 1 سانتی متر فاصله داشته باشند.

این تکنیک از استیو منلی الهام گرفته شده است ، می توانید ویدئویی از او که این کار را با اندکی تغییر در YouTube انجام می دهد را بیابید.

قبل از برش و خم شدن سیم ها در اطراف مته ها همانطور که در تصویر 2 و 3 دیده می شود ، مطمئن شوید که جهت سیم ها با تصویر 1 مطابقت دارد (آبی در بالا به سمت چپ ، سپس سبز ، سپس آند + به راست ، و دوباره قرمز سمت چپ) دایره ای که روی لبه ها خم شده اید باید دارای قطر کافی برای قرار دادن سیم مسی قلع (0.8 میلی متر) باشد. این مرحله باعث می شود که LED ها را به زیبایی لحیم کاری کنید.

اکنون که همه LED ها آماده شده اند ، می خواهیم آنها را در ردیف های 6 که آند (+) به هم متصل شده اند جمع آوری کنیم:

  1. همانطور که در تصویر 6 دیده می شود یک تکه کوچک بسازید ، 6 سوراخ (قطر 0.8 میلی متر) با فاصله 2.5 سانتی متر تا سوراخ بعدی ایجاد کنید. این به ما امکان می دهد 6 LED را به طور همزمان در دستگاه قرار دهیم
  2. برای اتصال آندها به یک قطعه سیم مسی قلع مستقیم به طول 16 سانتی متر (با کمی حاشیه اضافی) نیاز داریم. برای زیبا و مستقیم سیم می توانید یک سر سیم را به عنوان مته برقی سوار کنید ، حدود 2 متر سیم را به طور همزمان روی یک میز محکم کنید ، سپس مته را نگه دارید تا سیم کشیده و محکم شود و روی مته کار کند. برای چند ثانیه با صاف کردن سیم بسیار سریع. سپس می توانید سیم را دقیقاً در جایی که قطعه را محکم کرده اید برش دهید. همچنین می توانید از دو انبردست استفاده کنید و قطعات کوچکتر سیم را همزمان محکم کنید ، اما این بسیار خسته کننده تر است
  3. هنگامی که سیم های 16 سانتی متری دارید ، آنها را از طریق سوراخ های آند (+) LED ها در جیگ هدایت کرده و پین های آند را به سیم بچسبانید (تصویر 7)

برای کل مکعب به 6x6 = 36 از این ردیف های LED نیاز داریم

مرحله 4: مونتاژ لایه ها

مونتاژ لایه ها
مونتاژ لایه ها
مونتاژ لایه ها
مونتاژ لایه ها
مونتاژ لایه ها
مونتاژ لایه ها

همانطور که قبلاً اشاره کردم ، ما لایه های مکعب را چند برابر می کنیم ، اما برای مونتاژ آسانتر است که 6 دیوار از LED های 6x6 بسازیم و سپس آنها را در کنار یکدیگر مونتاژ کنیم و به سادگی یک سیم مسی قلع اندود شده را به هم متصل کنیم. ردیف ها در یک لایه با هم

مراقب باشید که این مرحله به زمان و حوصله زیادی نیاز دارد تا بتوانید آن را به درستی انجام دهید ، درمجموع شما باید حدود 1000 جوش را برای ساخت لحیم کنید ، بنابراین وقت خود را بگیرید!

برای ساخت دیوار LED:

  1. برای تکان دادن: ما به یک تکه چوب با 6 خط حک شده نیاز داریم تا 6 ردیف را روی هم قرار دهد تا دیوار بسازد. شما می توانید خود را در تصویر 2 (فاصله بین ردیف ها: 2.5 سانتی متر) مشاهده کنید
  2. شما 6 ردیف LED را در کنده کاری ها قرار می دهید ، سیم آنود رو به پایین به خط حک شده است ، به طوری که 3 کاتد (R ، G ، B) رو به بالا هستند
  3. برای اتصال کاتدهایی که روی هم قرار گرفته اند (تصویر 2 را ببینید) به سیم دیگری نیاز داریم (بنابراین ما 6 ستون x 3 کاتد x 6 دیوار = 108 قطعه سیم قلع مانند شرح داده شده در مرحله آخر (2.) (طول مشابه نیز))
  4. قطعات سیم را از پایین یک ستون از طریق سوراخ های کاتد به ردیف بالا بکشید و سیم را در جای خود در هر LED لحیم کنید

شما این کار را 6 بار انجام می دهید تا 6 دیوار LED دریافت کنید.

در حال حاضر ما می توانیم دیوارها را به صورت مکعب واقعی درآوریم. اما برای نگه داشتن مکعب ، باید نوعی صفحه زمین بسازیم. برای این کار ، من فقط از چند تخته سه لا نازک استفاده کردم و سوراخ های 0.8 میلی متری کوچکی در آن ایجاد کردم تا سیم های آویزان از پایین ترین ردیف های LED (برای هر 6 دیوار LED) مناسب باشد. اندازه گیری سوراخ های یک LED در مرحله 3 ثبت شده است و فاصله بین هر LED 2.5 سانتی متر است.

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

همین کار را با بقیه دیوارهای LED انجام دهید ، اما به یاد داشته باشید که آندهای دیوارها همیشه در یک جهت قرار دارند. (در تصویر 3 همه آندهای دیوارها رو به چپ هستند)

هنگامی که کل مکعب در جای خود قرار گرفت ، ما باید آندهای هر لایه را با هم لحیم کنیم. برای انجام این کار ، یک قطعه سیم مستقیم دیگر به طول 16 سانتیمتر برداشته و آن را در بالای لایه اول قرار می دهیم ، به طوری که سیم تمام سیم های آند 6 دیوار را در یک لایه لمس می کند. مراقب باشید که سیم جدید به هیچ یک از کاتد ها برخورد نکند. سیم را در جای خود بچسبانید و همین کار را برای 5 لایه باقی مانده تکرار کنید.

مرحله 5: سیم کشی مکعب

برد راننده LED
برد راننده LED
برد راننده LED
برد راننده LED
برد راننده LED
برد راننده LED

قطعات صفحه درایور LED:

  • 7 T TLC 5940
  • 6/7 x 10 uF خازن
  • 2 خازن 1000 x uF
  • 7x مقاومت 2.2kOhm
  • سوکت IC 7 * 28 پین
  • 7 x 0.1uF خازن
  • کابل روبان

با رفتن به مدارهای کنترل ، اجازه دهید ابتدا نگاهی به برد راننده LED داشته باشیم. همانطور که قبلاً ذکر شد ، ما نیاز به 7 TLC5940 متصل به آردوینو نانو داریم. همه تراشه های TLC5940 زنجیری دیزی هستند به این معنی که همه پین های کنترل درایورها به هم متصل هستند (به عنوان مثال پین BLANK اولین TLC به BLANK دومین ، سومین ، چهارم ،… TLC متصل است) و همه به Arduinowith متصل هستند. سیمهای مشابه ، به غیر از Serial In که ابتدا از پین دیجیتال آردوینو به اولین TLC متصل می شود ، سپس پین Serial Out این اولین TLC به پین SIN TLC دوم و غیره متصل می شود (تصویر 4 را ببینید)…

بنابراین شماتیک TLC Board بسیار ساده است همانطور که در شماتیک پیوست مشاهده می کنید.

(اگر می خواهید به مرحله 8 بروید ، هیئت مدیره را بچرخانید)

همچنین تصویری از طرح کلی در frizz که شامل برچسب های پین و همچنین فایل های GIMP.xcf با لایه هایی برای هر اتصال کنترل پین جدا شده است ، پیوست کردم.

ابتدا با اتصال همه سوکت های IC در محل ، سپس خازنهای 100nF را به هر TLC اضافه کنید ، به دنبال آن مقاومتهای 2.2kOhm به IREFand GND و هدر 7 پین در گوشه بالا سمت راست.. پس از آن می توانید فایل.xcf را به سادگی دنبال کنید. با "لایه SIN" در فایل Gimp شروع می شود که نحوه اتصال پین های Serial IN/OUT درایورها با استفاده از کابل های روبان را نشان می دهد ، سپس لایه CLK را در GIMP و غیره فعال می کند. اطمینان حاصل کنید که اتصالات خوب + و - پین را به سرآیند پین در بالا سمت راست دارید بقیه طرح باید خود گویا باشد ، اما مطمئن شوید که خازنهای 1000uF و 10uF را به اندازه کافی به برد اضافه کرده اید ، جایی که دقیقاً چندان مهم نیست. آنها را موقعیت می دهید

پس از اتمام این برد ، می توانید در مرحله بعدی به برد آردوینو بروید.

مرحله 7: برد کنترل آردوینو + بلوتوث

برد کنترل آردوینو + بلوتوث
برد کنترل آردوینو + بلوتوث

قطعات هیئت کنترل:

  • 6 ماسفت IR-9540 P-Channel
  • 1 x 10 خازن uF
  • 1 x 1000 خازن uF
  • 7 مقاومت 2.2 کیلو اهم
  • مقاومت 1 x 1kOhm
  • هدر 2 x 14 پین زن
  • 1 عدد آردوینو نانو
  • دیود 1 x 1N4001
  • 1 x 0.1uF خازن
  • 1 x جک DCB PCB Mount
  • 1 عدد ماژول بلوتوث HC-05
  • 1 عدد جک 3.5 میلی متری صدا

هیئت کنترل آردوینو عمدتاً با مالتی پلکس کار می کند و همتای پین هدر برد درایور LED را ارائه می دهد.

لحیم کاری روی تخته چوبی:

  1. دو سرصفحه Pin زن قرار دهید تا به عنوان سوکت آردوینو در وسط بورد عمل کنند.
  2. 6 ماسفت را در یک ردیف در کنار یکدیگر در سمت راست آردوینو (طرف پین های آنالوگ) قرار دهید و یک مقاومت 2.2 کیلو اهم را بین هر کدام از اولین و آخرین پین اضافه کنید.
  3. حالا هدر 6 پین را جلوی MOSFET (وسط ردیف) قرار دهید و 6 پایه DRAIN FET (پین وسط) را به هدر و پایه های GATE (پین سمت چپ) FET را به پین های آنالوگ Arduino مربوطه متصل کنید. به
  4. در مرحله بعد ، هدر 7 پینی را برای اتصال LEDDriver در طرف دیگر آردوینو لحیم کنید ، مقداری فضا برای کابل ها بگذارید و همه اتصالات را از آردوینو به هدر پین لحیم کنید.
  5. مقداری خازن (1-2 1000uF ، 1 10uF ، 100nF در کنار آردوینو) برای تخلیه احتمالی جریان اضافه کنید.
  6. یک سربرگ 4 پین را در قسمت پشتی آردوینو برای ماژول HC-05 لحیم کرده و 4 اتصال را به VCC ، RX ، TX ، GND ایجاد کنید و فراموش نکنید که یک جدا کننده ولتاژ از پین RX HC-05 و پین TX آردوینو (اینجا را ببینید)
  7. جک DC را در هر لبه برد با یک سوئیچ در کنار آن قرار دهید و پین سمت راست سوئیچ را به پین + جک DC وصل کنید
  8. سرانجام تمام اتصالات برق مورد نیاز را از پین GND جک DC و پین سمت راست سوئیچ (VCC) به آردوینو ، MOSFET ، خازن و HC-05 همانطور که در شکل نشان داده شده است ، انجام دهید. به یاد داشته باشید که دیود را فقط با استفاده از پین VCC سوئیچ به پین Arduinos 5V اضافه کنید ، نه راه دیگر. (این هنگام برنامه نویسی از طریق اتصال USB از آردوینو محافظت می کند)

برای اتصال برق از یک جک برق DC با یک سوئیچ ساده استفاده کردید ، در صورت تمایل می توانید از یک کانکتور USB نیز استفاده کنید. من اتصال برق را به یک برد مدار کوچک دیگر واگذار کردم تا به خوبی در قاب چوبی من جا شود ، اما شما می توانید به سادگی آن را مستقیماً قرار دهید روی برد آردوینو همانطور که در مرحله اول ذکر شد ، یک مدار اتصال MSGEQ7 نیز در شکل وجود دارد ، اما اگر از MSGEQ7 استفاده نمی کنید ، به سادگی آن را نادیده بگیرید. (برای اطلاعات بیشتر در مورد عملکرد MSGEQ7 اینجا را کلیک کنید)

فراموش نکنید که یک کابل روبان 7Pin دیگر با سربرگ های مردانه در هر طرف برای اتصال برد Arduino با برد Driver بسازید

مرحله 8: اختیاری: حک کردن تابلوهای مدار

اختیاری: حک کردن تابلوهای مدار
اختیاری: حک کردن تابلوهای مدار
اختیاری: حک کردن تابلوهای مدار
اختیاری: حک کردن تابلوهای مدار
اختیاری: حک کردن تابلوهای مدار
اختیاری: حک کردن تابلوهای مدار

بنابراین اگر لحیم کاری زیادی از کابل ها را دوست ندارید ، البته اگر آن را ترجیح می دهید ، می توانید PCB های لازم را نیز بچسبانید.

در مکعب من ، برد آردوینو و برد اتصال Power/Audio هر دو با استفاده از فایل های شماتیک/EAGLE ضمیمه شده ، تخته ای هستند. اولین باری که در شماتیک اشتباه کردم بنابراین مجبور شدم صفحه درایور LED را مانند مرحله آخر دوباره انجام دهم. مزیت بزرگی برای حک کردن تخته به جای استفاده از تخته چوب وجود ندارد ، بنابراین با خیال راحت تخته را قلم بزنید یا آن را روی تخته چوب لحیم کنید.

در فایل ضمیمه.zip می توانید هم فایل BOARD و هم فایل SCHEMATIC را بیابید.

توجه داشته باشید که آثار لایه بالایی (قرمز) پل های مفتولی هستند (زیرا من نمی توانم تخته دو طرفه را در خانه حک کنم). رديابي هاي بدون مسير نشان مي دهد كه چگونه مي توان از طريق كابل براي سرصفحه هاي زن پين ارتباط برقرار كرد.

شماتیک شامل ویژگی MSGEQ7 است ، که می توانید به سادگی با حذف بخشی از شماتیک مشخص شده "(MSGEQ7)" در تصویر صفحه شماتیک.pdf حذف کنید.

مرحله 9: اتصال مکعب

اتصال مکعب
اتصال مکعب
اتصال مکعب
اتصال مکعب
اتصال مکعب
اتصال مکعب

برای اتصال همه قسمت های مکعب ، ابتدا کابل 7 پین را به برد آردوینو و برد درایور وصل کنید (مطمئن شوید جهت درست است!). بعد ماژول HC05 را به هدر 4 پین وصل کرده و در صورت جدا شدن ، پاور برد را وصل کنید.

برای اتصال سربرگهای 7x16 پین مکعب ، مطمئن شوید که از اولین TLC (پین SIN که مستقیماً به آردوینو وصل شده است) شروع کنید. کابل 16 پین مناسب را از مکعب پیدا کرده و آن را به سربرگ PIN اول TLC وصل کنید (مطمئن شوید کابل کاتد Nr.0 به اولین پین TLC OUT0 متصل می شود!). ادامه دهید و کابل های 16 پین دیگر را به ترتیب صحیح به سرصفحه های TLC مربوطه وصل کنید.

آخرین و مهمترین نکته این است که کابل 6Pin برای آندها از Cube را به سربرگ 6Pin روی برد کنترل در کنار MOSFET وصل کنید.

برای به پایان رساندن مکعب ، دیوارها را با چند تخته سه لا با رنگ مشکی روی کیس اضافه کردم و آنها را چسباندم.

اکنون تمام سخت افزارهای مورد نیاز برای کل ساخت را به پایان رسانده ایم!

مرحله 10: نرم افزار: چرخه چندپلکسینگ

نرم افزار: چرخه Multiplexing
نرم افزار: چرخه Multiplexing

اکنون در تئوری ، آردوینو به طور مداوم چرخه زیر را اجرا می کند:

  1. اگر LayerDuration به پایان رسیده است ، مقادیر لایه بعدی را در TLC بارگذاری کنید ، لایه فعلی را خاموش کنید ، لایه بعدی را روشن کنید ، LayerDuration را بازنشانی کنید ، مقادیر جدید را به TLC ها متعهد کنید
  2. اگر FrameDuration به پایان رسیده است ، Frame جدید Animation فعلی را با ذخیره مقادیر همه LED ها و رنگها در بافر ValueLed بارگذاری کنید ، FrameDuration را بازنشانی کنید
  3. اگر داده بلوتوث موجود است ، به آنها واکنش نشان دهید (تغییر متحرک ها ، روشنایی ، …) (اطلاعات بیشتر بعدا)

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

هرچه سریعتر Layers را روشن یا خاموش کنید ، "Frames" بیشتری دریافت خواهید کرد. برای یک مکعب LED 6x6x6 RGB مانند این ، من متوجه شدم که مدت زمان لایه 1700 microSec است. به اندازه کافی خوب برای سوسو زدن حداقل است و باید در این مقدار باقی بماند. FrameDuration سرعت بیشتر انیمیشن را کنترل می کند ، بنابراین می توان آن را برای انیمیشن های مختلف تغییر داد.

در گام بعدی ما به چگونگی نوشتن انیمیشن های خود می پردازیم.

مرحله 11: انیمیشن های سفارشی

انیمیشن های سفارشی
انیمیشن های سفارشی
انیمیشن های سفارشی
انیمیشن های سفارشی

برای پیاده سازی یک انیمیشن ، باید بافر ValueLed را هربار که FrameDuration سپری می شود ، برای Frame بعدی به مقادیری که می خواهیم تنظیم کنیم. ما این کار را با فراخوانی عملکرد ماکرو "SETLED (x ، y ، z ، COLOR ، Brightness)" انجام می دهیم.

x ، y ، z مختصات LED ای است که می خواهیم تنظیم کنیم و COLOR (قرمز ، سبز یا آبی) رنگی است که می خواهیم تنظیم کنیم و روشنایی مقدار واقعی این رنگ خاص است که تنظیم می کنیم.

برای مثال برای پیاده سازی انیمیشنی که به سادگی رنگ قرمز ، سبز و آبی را بصورت تصادفی در کل مکعب نمایش می دهد ، می توانید به سادگی این کار را انجام دهید:

void randomLedsFull () {

برای (uint8_t j = 0؛ j <CUBE_SIZE؛ j ++) {برای (uint8_t x = 0؛ x <CUBE_SIZE؛ x ++) {برای (uint8_t y = 0؛ y <CUBE_SIZE؛ y ++) {uint8_t rand = random8 (3)؛ SETLED (x ، y ، j ، rand ، maxBright) ؛ }}}}

این روش هر بار که FrameDuration سپری می شود نامیده می شود و از دستور switch-case در حلقه () انتخاب می شود. اگر انیمیشن های جدیدی می نویسید ، می توانید آنها را به سادگی با افزودن به سوئیچ اضافه کنید.

مرحله 12: اضافی: AnimationCreator

اضافی: AnimationCreator
اضافی: AnimationCreator

من یک AnimationCreator را با استفاده از JavaFX و Java3D نوشتم.

ایجاد و ویرایش انیمیشن های سفارشی با ارائه یک رابط کاربری آسان برای درک.

شما می توانید انیمیشن ها را برای مکعب های 4x4x4 ، 6x6x6 یا 8x8x8 LED ایجاد ، ویرایش ، تغییر نام و پیکربندی مجدد کنید

برای ایجاد یک انیمیشن جدید کافی است File> New را فشار دهید ، در قسمت "Cube" می توانید اندازه Cube را انتخاب کنید ، برای تنظیم رنگ یک LED رنگ مورد نظر خود را با انتخاب رنگ در سمت چپ و سپس چپ روی LED های مورد نظر خود انتخاب کنید. آن رنگ برای آن قاب برای افزودن Frame دیگر ، "بعدی" یا "+" را فشار دهید. بقیه کنترل های رابط کاربری کاملاً واضح است ، کادرهای کنار Cubes Layers باید بررسی کنند که کدام لایه ها باید با تغییر و "Keep Frame" تحت تأثیر قرار گیرند. فقط آن را آزمایش کنید و در کوتاه ترین زمان به همه چیز پی خواهید برد.

علاوه بر این برای شبیه سازی انیمیشن می توانید روی دکمه "View 3D" کلیک کنید که پنجره دیگری با یک مدل مکعب Java3D باز می شود. شما می توانید دوربین را در حالی که دکمه سمت چپ ماوس را نگه داشته اید بچرخانید (برای تنظیم مجدد دوربین R را فشار دهید). برای پخش/مکث Animation ، کلید P را فشار دهید ، برای بازنشانی ضربه Animation Q. TextField زیر "View 3D" را نشان می دهد FrameTime ، سرعت انیمیشن خود را تغییر دهید.

پس از اتمام کار با انیمیشن ، نام آن را بگذارید و روی File> Save As… ضربه بزنید و Animation را در همان پوشه Cubo_Control.ino Sketch ذخیره کنید.

برای قرار دادن انیمیشن جدید در Sketch ، Cubo_Control.ino را باز کنید و کد زیر را در بالای Sketch اضافه کنید:

#شامل "RGBit.h" // جایگزین کنید

به پایین (BTEvent) بروید () و عبارت case را به switch-case انیمیشن ها اضافه کنید

تغییر (curAnim) {

… مورد 10: انیمیشن = & ani_cubesmove [0] [0]؛ FRAME_TIME = ANI_CUBESMOVE_FRAMTIME ؛ maxCount = ANI_CUBESMOVE_FRAMES؛ زنگ تفريح؛ مورد 11: // انیمیشن جدید شما = & ani_rgbit [0] [0]؛ FRAME_TIME = RGBIT_FRAMETIME ؛ maxCount = ANI_RGBIT_FRAMES؛ زنگ تفريح؛ }

مرحله 13: برنامه بلوتوث

برنامه بلوتوث
برنامه بلوتوث

برای کنترل واقعی مکعب ، به لطف ماژول HC-05 ، ساختن یک برنامه بلوتوث برای اتصال تلفن خود به مکعب بسیار ساده است.

پیوند به برنامه: Github

این برنامه منبع باز است ، بنابراین خودتان می توانید انیمیشن ها یا ویژگی های اضافی را اضافه کنید.

  • برنامه را راه اندازی کنید ، از شما می خواهد بلوتوث را روشن کنید
  • روی "Search" کلیک کنید و لیستی از اتصالات بلوتوث موجود ظاهر می شود. ماژول HC-05 را از مکعب شناسایی کرده و روی آن کلیک کنید.
  • اگر هنگام اتصال به مکعب خطایی رخ داد ، سعی کنید ماژول HC-05 را در تنظیمات بلوتوث به صورت دستی جفت کنید
  • پس از اتصال ، برنامه به کنترل صفحه می رود و اتصال بلوتوث برقرار می شود

کنترل ها

  • سرعت و روشنایی: مقادیر لغزنده را برای سرعت بخشیدن/کاهش سرعت متحرک یا تغییر روشنایی تغییر دهید
  • Animations: برای تغییر Animation روی دکمه ای کلیک کنید ، به طور پیش فرض Animations در حال حلقه شدن هستند (از بالا سمت چپ دکمه مربوط به currAnim است)
  • پیمایش متن: روی دکمه "Text" کلیک کنید که محاوره ای برای وارد کردن متن هایی که در مکعب پیمایش می شوند ظاهر می شود.
  • Command: می توانید دستورات را به صورت دستی با Command TextField وارد کنید (برای نحو به روش BTEvent () Cubo_Control.ino مراجعه کنید)
  • مار: بازی کلاسیک مار (قرمز: سیب ، سبز: سر مار ، آبی: دزدکی دم) (کنترل ها: 4 دکمه جهت دار ، بالا و پایین با چرخاندن تلفن به جلو (بالا) یا عقب (پایین) فعال می شود)
  • Visualizer Audio: MSGEQ7 برای تجسم 6 باند صوتی از AUX Jack (دکمه برای انیمیشن 7) استفاده می شود

مرحله 14: ویترین

توصیه شده: