فهرست مطالب:
- مرحله 1: ابزار و مواد
- مرحله 2: آن را بسازید
- مرحله 3: نرم افزار را آماده کنید
- مرحله 4: مکعب روبیک را حل کنید
- مرحله 5: کد منبع
تصویری: BricKuber Project - a Respberry Pi Rubiks Cube Solutions Robot: 5 Step (with Pictures)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
BricKuber می تواند مکعب روبیک را در کمتر از 2 دقیقه حل کند.
BricKuber یک روبات حل مکعب روبیک منبع باز است که می توانید خودتان بسازید
ما می خواستیم با رزبری پای یک ربات حل کننده مکعب روبیک بسازیم. به جای سرعت ، ما با سادگی پیش رفتیم: اگر Raspberry Pi ، کیت BrickPi و استاندارد LEGO Mindstorms EV3 یا NXT Kit دارید ، باید بتوانید به راحتی راه ما را دنبال کنید. این نرم افزار به زبان برنامه نویسی پایتون نوشته شده است. در اینجا می توانید تمام کد منبع را در Github مشاهده کنید.
سابقه و هدف مکعب روبیک به تازگی شروع به بازگشت کرده است. این اسباب بازی در سال 1974 اختراع شد و پرفروش ترین اسباب بازی جهان است. اما حل آنها نیاز به فکر ، تلاش و مهارت دارد. به به پس چرا اجازه نمی دهید روبات این کار را انجام دهد؟ در این پروژه ، ما یک Raspberry Pi ، یک BrickPi و مجموعه ای از LEGO Mindstorms می گیریم و یک روبات حل کننده مکعب روبیک می سازیم. کافی است یک مکعب روبیک حل نشده را در حل کننده قرار دهید ، برنامه پایتون را اجرا کنید و مکعب روبیک شما حل می شود! این پروژه از Pi برای حل مستقیم مکعب روبیک استفاده می کند. BrickPi3 مکعب حل نشده روبیک را می گیرد و Raspberry Pi از هر طرف مکعب روبیک با دوربین رزبری پای عکس می گیرد. Pi یک نقشه متنی از مربع های رنگی ایجاد می کند که محل قرارگیری آنها روی مکعب را نشان می دهد. هنگامی که مکعب را کاملاً ترسیم کرد ، Pi از کتابخانه پایتون "kociemba" برای ترسیم نقشه های مورد نیاز برای حل مکعب روبیک استفاده می کند. این اطلاعات توسط Pi و BrickPi3 برای حل مکعب روبیک با استفاده از موتورهای LEGO گرفته شده است. نتیجه: حل مکعب روبیک.
مرحله 1: ابزار و مواد
- BrickPi3 - ما از BrickPi برای کنترل موتورهای LEGO که حل کننده مکعب روبیک را حل می کند ، استفاده خواهیم کرد.
- Raspberry Pi - Pi پردازش ، عکس برداری و فرمان BrickPi را انجام می دهد.
- دوربین رزبری پای - دوربین Pi از مکعب روبیک حل نشده عکس می گیرد.
- کابل اترنت - برای اتصال به اینترنت به دستگاه خود نیاز دارید. اگر می خواهید این کار را از طریق wifi انجام دهید ، این نیز خوب است!
- کارت SD Raspbian for Robots - نرم افزاری که Raspberry Pi را اجرا می کند. این با اکثر نرم افزارهای مورد نیاز برای این آموزش همراه است. همچنین می توانید نرم افزار را به صورت رایگان بارگیری کنید.
- LEGO Mindstorms EV3 Kit (31313) - شما به یک توده LEGO و دو موتور بزرگ و یک موتور سروو و سنسور اولتراسونیک احتیاج دارید.
- مکعب روبیک - ما قطعه ای را پیدا کردیم که در اینجا بسیار آزاد می چرخد. هر چند می توانید از هر مکعب روبیک 9x9x9 استفاده کنید.
مرحله 2: آن را بسازید
ساخت حل کننده
این طرح از طراحی MindCub3r برای LEGO EV3 الهام گرفته شده است. برای ساخت BricKuber ، با ساخت MindCub3r شروع کنید. دستورالعمل های کامل ساخت LEGO را می توانید در اینجا پیدا کنید.
طراحی حل کننده مکعب روبیکس دارای سه قسمت متحرک اصلی است. اولین گهواره ای است که مکعب روبیک را در خود نگه می دارد. دومی شافلر است ، بازویی که برای چرخاندن مکعب روبیک استفاده می شود.
در نهایت ، بازوی دوربین را اضافه می کنیم. در طراحی اصلی MindCubr ، این سنسور رنگ EV3 را روی مکعب روبیک نگه داشت. در طراحی اصلاح شده ما ، یک دوربین رزبری پای روی مکعب روبیک قرار دارد. ما از دو موتور LEGO Mindstorms برای دستکاری مکعب استفاده می کنیم: اول برای چرخاندن مکعب در زیر گهواره قرار دارد و دومی بازوی شافلر را حرکت می دهد تا مکعب را در محور مخالف بچرخاند.
BrickPi3 را مونتاژ کنید
دستورالعمل مونتاژ BrickPi3 را می توانید در اینجا پیدا کنید. ما باید قاب را جمع کنیم ، BrickPi3 ، Raspberry Pi ، دوربین Raspberry Pi را وصل کنیم ، یک کارت SD اضافه کنیم و باتری اضافه کنیم. برای سهولت راه اندازی نرم افزار ، Raspbian for Robots دارای اکثر نرم افزارهایی است که قبلاً به آنها نیاز دارید. شما حداقل به یک کارت SD 8 گیگابایتی نیاز دارید و می خواهید دیسک را متناسب با اندازه کامل کارت SD گسترش دهید.
BrickPi3 را وصل کنید
BrickPi3 را به مجموعه LEGO اضافه می کنیم. ما از "بال" LEGO EV3 برای پشتیبانی از BrickPi3 و تراز کردن آن با بدنه BricKuber استفاده کردیم. این یک گام خوب برای افزودن باتری های 8XAA به پاور پک و اتصال پاور BrickPi3 به مجموعه LEGO است. برای برنامه نویسی می توانید BrickPi3 را از طریق USB به Raspberry Pi تغذیه کنید ، اما برای جابجایی موتورها باید پاور پک را تغذیه کنید.
موتورها را به BrickPi3 وصل کنید
موتور شافلر را به پورت موتور "MD" وصل کنید. موتور پایه را به پورت "MA" در BrickPi3 وصل کنید. موتور سنسور دوربین را به پورت "MC" وصل کنید (این موتور کوچکتر سروو مانند است). حتی اگر ما دوربین را جابجا نمی کنیم ، ممکن است بخواهید مکان دوربین را با استفاده از موتورها تنظیم کنید.
دوربین رزبری پای را وصل کنید
با استفاده از پشتیبانی دوربین LEGO ، دوربین را وصل کنید. لنز سیاه کوچک دوربین باید بین دو تکیه گاه پرتو LEGO قرار گیرد. با استفاده از نوار برقی دوربین را در محل خود به پشتیبانی LEGO محکم کنید. این زمان خوبی است تا مطمئن شوید که دوربین در موقعیتی است که بتواند کل مکعب روبیک را ضبط کند. می توانید با دستور raspistill یک عکس آزمایشی بگیرید
raspistill -o cam.jpg
بررسی کنید که مکعب به خوبی در وسط تصویر قرار گرفته باشد.
مرحله 3: نرم افزار را آماده کنید
می توانید از هر نسخه Raspbian یا Raspbian برای Robots استفاده کنید ، تصویر سفارشی ما که همراه BrickPi3 قبلاً نصب شده است. اگر از نسخه استاندارد Raspbian استفاده می کنید ، می توانید کتابخانه های BrickPi3 را با استفاده از دستور نصب کنید
sudo curl -kL dexterindustries.com/update_brickpi3 | خراب کردن
در این مرحله تمام کتابخانه های مورد نیاز برای اجرای BrickPi3 بر روی Raspbian Image شما نصب می شود. اگر از Raspbian برای روبات ها استفاده می کنید این مرحله را رد کنید: BrickPi3 قبلاً نصب شده است.
در نهایت ، همه وابستگی های پروژه را با استفاده از دستور نصب کنید:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | خراب کردن
برای این مرحله BrickPi3 شما باید به اینترنت متصل باشد. تعدادی کتابخانه وجود دارد که پروژه به آنها وابسته است ، از جمله کتابخانه های مهم Daniel Walton (@dwalton76) در Github ، که برای حل مکعب روبیک استفاده می شود.
مرحله 4: مکعب روبیک را حل کنید
مکعب روبیک حل نشده را در گهواره قرار دهید. فرمان را اجرا کنید
sudo python ~/Dexter/BrickPi3/Projects/BricKuber/BricKuber.py
ربات مکعب را به هر صورت می چرخاند و دوربین 6 عکس ، یکی از هر طرف مکعب ، می گیرد. رزبری پای پیکربندی مکعب را از شش تصویر تعیین می کند. پیکربندی Cube به کتابخانه kociemba Python منتقل می شود تا یک راه حل کارآمد پیدا کند. سرانجام ، ربات حرکتها را برای حل مکعب روبیک انجام می دهد!
مرحله 5: کد منبع
همه کد منبع BricKuber را می توانید در منبع باز github منبع ما در اینجا پیدا کنید.
این پروژه از بسته های نرم افزاری زیر نصب شده توسط فرمان استفاده می کند
توصیه شده:
Slack Status Update With ESP8266: 5 Step (with Pictures)
Slack Status Updater with ESP8266: این پروژه به شما کمک می کند تا روز خود را کمی ساده تر کنید اگر از کارگران دور افتاده ای هستید که از Slack استفاده می کنید. من نحوه ساخت آن را با استفاده از وای فای ESP8266 نشان خواهم داد. ویدیوی بالا را برای مرور کلی از دست ندهید. این که آیا در استفاده از Slack تازه کار هستید یا به تازگی از کاربر استفاده کرده اید
Tower Climb Helping Robot V1 - Two Legged، RF، BT Control With App: 22 Step (with Pictures)
Tower Climb Helping Robot V1 - Two Legged، RF، BT Control With App: هنگام دیدن مارمولک ها روی دیوارها قصد دارم یک ربات شبیه آن بسازم. این یک ایده بلند مدت است ، من مقالات زیادی را برای چسب های الکتریکی جستجو می کنم و راهی را بررسی می کنم و ظرفیت نگهداری آن را شکست می خورم. در حال حاضر قصد دارم آن را با استفاده از الکترومغناطیس برای
DIY Smart Doorbell: Code، Setup and HA Integration: 7 Step (with Pictures)
DIY Smart Doorbell: Code، Setup and HA Integration: در این پروژه ، به شما نشان خواهم داد که چگونه می توانید بدون تغییر هیچ یک از عملکردهای فعلی یا قطع سیم ، زنگ خانه عادی خود را به یک زنگ هوشمند تبدیل کنید. من از یک تخته ESP8266 به نام Wemos D1 mini استفاده خواهم کرد. در ESP8266 جدید هستید؟ به معرفی من توجه کنید
Twinkle_night_lights: 5 Step (with Pictures)
Twinkle_night_lights: این پروژه یک شمارنده خودکار فعال با نور است که پس از تاریکی هوا زنده می شود و LED ها را به ترتیب دوتایی تغییر می دهد. از آنجا که LED ها بصورت سیم دار رایگان هستند ، می توان آنها را به هر ترتیب قرار داد تا موردی را که به آن وصل شده اند برجسته کند. مدار در
Robot Project UTK 2017: 3 Step
Robot Project UTK 2017: ماموریت: تیم مهندسان ما توسط Froogle ، یک بنیاد غیرانتفاعی برای توسعه فناوری منبع باز ، برای توسعه یک نوآورانه کمک رسان انسان به مریخ نورد استخدام شده است.-تیم های & quot؛ rover & quot؛ اتاقی است که ما برای اجرای یک سری برنامه نویسی کردیم