این برنامه اجازه می دهد تا یک مکعب جادویی را با یک ربات حل کنید. این ربات از طریق بلوتوث متصل می شود.
مکعب را می توان به صورت دستی وارد کرد یا با استفاده از ویژگی دوربین اسکن کرد. رنگ های مکعبی که اشتباه تشخیص داده شده را می توان اصلاح کرد. چرخش مکعب به صورت بعدی توسط ربات قابل اجرا است.
اگر یک مکعب معتبر وارد شود یک راه حل محاسبه می شود و می تواند برای ربات ارسال شود. ربات می تواند راه حل را اجرا کند و شما یک مکعب حل شده را برمی گردانید.
تنها کاری که باید انجام دهید این است که ربات را بسازید!
برنامه را می توان بدون ربات استفاده کرد اما گزینه های بهتری وجود دارد.
برای سازندگان ربات:
این برنامه برای یک ربات 2-گیره مبتنی بر آردوینو طراحی شده است که قسمت پایین و پشت مکعب را نگه می دارد. برای اتصال بلوتوث از ماژول HC-06 استفاده می شود. این برنامه را می توان برای هر رباتی با استفاده از همان پروتکل و همچنین UUID مشابه ماژول HC-06 استفاده کرد. این حرکت سروو را منتقل نمی کند. دستوراتی را ارسال می کند که باید توسط ربات اجرا شوند.
فرآیند به 2 مرحله تقسیم می شود:
مرحله 1: ورود/اسکن مکعب
اگر یک صورت مکعبی وارد شده یا اسکن شده است، با زدن دکمه view به چهره بعدی می روید. با انجام این کار، نویسه شروع تکی کوچک ("l" برای سمت چپ، "u" برای بالا) چهره بعدی برای ربات ارسال می شود. ربات باید حرکت را انجام دهد. ترتیب به صورت راست، عقب، چپ، بالا، پایین و پشت به جلو است. در کاراکترها r,b,l,u,d,f است.
مرحله 2: حل
از آنجایی که جهت گیری برای حل موفقیت آمیز مکعب بسیار مهم است، راه حل تنها زمانی در دسترس است که نمای جلو فعال باشد. فرض بر این است که ربات مکعب را نیز در موقعیت صحیح چرخانده است.
راه حل در برنامه محاسبه می شود. از هیچ سروری واکشی نشده است. به محض در دسترس بودن رشته حل به ربات منتقل می شود. رشته حل دنباله حرکاتی است که با یک فاصله از هم جدا شده اند. حرکات به شرح زیر است:
L - سمت چپ را در جهت عقربه های ساعت بچرخانید
L' - سمت چپ را در خلاف جهت عقربه های ساعت بچرخانید
L2 - آن را 180 درجه بچرخانید
F-Front، R - راست، B-Back، U-Up و D-Down.
با دنبال کردن دنباله به این ترتیب، مکعب حل می شود.
اینکه ربات شما چگونه حرکات را اجرا می کند به شما بستگی دارد. این برنامه به شما این امکان را می دهد که روی کنترل ربات تمرکز کنید و نگران حل خود مکعب نباشید.
ارتباط تنها یک راه است. هیچ انتقالی از ربات به تلفن هوشمند وجود ندارد.
امیدوارم این باعث شود که پروژه خود را شروع کنید.
موفق باشید!
اعتبارات:
اعتبارات به قرار زیر است:
Kas در انجمن آردوینو برای الهام بخشیدن به پروژه و انجام کارهای اصلی در برنامه نویسی آردوینو و همچنین ارائه اولین برنامه برای ربات.
https://forum.arduino.cc/index.php?topic=271827.0
Herbert Kociemba برای انجام کار فوق العاده توسعه الگوریتم حل و ارائه کتابخانه حل و ابزار رایگان.
http://www.kociemba.org/cube.htm
به cs0x7f در GitHub برای ارائه یک کتابخانه حل 2 فازی بهینه تحت GPL.
https://github.com/cs0x7f/min2phase
تاریخ بهروزرسانی
۲۰ خرداد ۱۴۰۴