فهرست مطالب:

DIY Educational Micro: bit Robot: 8 Step (همراه با تصاویر)
DIY Educational Micro: bit Robot: 8 Step (همراه با تصاویر)

تصویری: DIY Educational Micro: bit Robot: 8 Step (همراه با تصاویر)

تصویری: DIY Educational Micro: bit Robot: 8 Step (همراه با تصاویر)
تصویری: 5 AWESOME LIFE HACKS #2 2024, جولای
Anonim
DIY Educational Micro: bit Robot
DIY Educational Micro: bit Robot
DIY Educational Micro: bit Robot
DIY Educational Micro: bit Robot

این دستورالعمل به شما نشان می دهد که چگونه می توانید یک ربات نسبتاً قابل دسترس ، توانا و ارزان بسازید. هدف من از طراحی این ربات این بود که چیزی را ارائه کنم که اکثر مردم بتوانند از عهده آن برآیند ، تا بتوانند به طور جذاب علوم کامپیوتر را آموزش دهند یا در مورد آن اطلاعات کسب کنند.

هنگامی که این ربات را ساختید می توانید از انواع حسگرها و محرک های آن برای انجام کارهای اساسی اما کاملاً پیشرفته بسته به نسخه ای که تهیه می کنید ، لذت ببرید (من دو نسخه ارائه می دهم). با استفاده از این ربات چشم (با دید 180 درجه) و پاها (با امکان حرکت دقیق!) به میکرو: بیت می دهید در حالی که میکرو: بیت ویژگی های فوق العاده ای مانند ماتریس LED ، ارتباط رادیویی ، ارتباط بلوتوث ، شتاب سنج را در اختیار شما قرار می دهد. ، کامپاها ، اما همچنین دسترسی به همه موارد با MicroPython یا با زبان برنامه نویسی بصری مشابه خراش (در واقع در C ++ و جاوا اسکریپت نیز وجود دارد ، اما من آنها را برای آموزش مناسب نمی دانم).

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

مرحله 1: جمع آوری قطعات

جمع آوری قطعات
جمع آوری قطعات

برای این پروژه حداقل خرس مورد نیاز شما عبارت است از:

  • چوب MDF به ضخامت 5 میلی متر و برش لیزری برای اسکلت
  • باتری لیتیوم 1x18650 ، محافظ باتری 1 برابر انرژی و یک قطع کننده
  • 1xMicro: کارت کارت و 1xMicro: برد افزودنی برای مغز (اگرچه هر دو را می توان به راحتی با آردوینو جایگزین کرد)
  • موتورهای پله ای 2x28BYJ-5V ، درایورهای موتور پله ای 2xA4988 و تخته توسعه 2x برای نصب رانندگان برای پاها
  • 1x TOF10120 و 1x مینی موتور 9 گرم سروو برای چشم برخی از کابل ها و پیچ ها
  • 1x چرخ جهانی ، ارتفاع = 15 میلی متر

در میان این موارد ، فقط سه قسمت استاندارد نیستند ، بنابراین پیوندهایی برای یافتن آنها وجود دارد: برد افزونه ای را که در اینجا استفاده کردم پیدا کنید (اما به شما توصیه می کنم به جای آن از نسخه مرتب ربات استفاده کنید. باید تقریباً هیچ تغییری در طرح ایجاد نمی کند و سیم کشی با سربرگ های زن و زن خم بسیار ساده تر می شود) ، محافظ باتری در اینجا و چرخ جهانی در اینجا.

در حالت ایده آل شما همچنین می توانید در اختیار داشته باشید:

  • یک مولتی متر
  • یک تخته نان
  • آهن لحیم کاری

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

مرحله 2: آماده سازی پاها

آماده سازی پاها
آماده سازی پاها
آماده سازی پاها
آماده سازی پاها
آماده سازی پاها
آماده سازی پاها
آماده سازی پاها
آماده سازی پاها

اگر قبول کنید ، اولین ماموریت شما این است که موتور پله ای ما را با استفاده از micro: bit به عنوان کنترل کننده بچرخانید! چرا استپر موتور؟ من می توانستم با گیربکس به سراغ موتور DC بروم اما آنها را امتحان کردم و به نظرم سخت می آید که موتورهای ارزان قیمت با سرعت پایین کار کنند. من همچنین فکر کردم که خوب است بدانم چرخ های من با چه سرعتی می چرخند. به همین دلایل موتورهای پله ای بهترین گزینه بودند.

بنابراین ، چگونه می توان موتور 28BYJ را با استفاده از درایور 4988 کنترل کرد؟ پاسخ… کمی طولانی است. من نتوانستم آن را به خوبی در این دستورالعمل قرار دهم ، بنابراین یکی دیگر را فقط برای این منظور تهیه کردم که در اینجا خواهید یافت. از شما دعوت می کنم تا مراحل را تا انتها با ایجاد یک تخته نمونه اولیه 26x22 میلی متر بزرگ با سوراخ های 2x2 میلی متر 17 میلی متری دنبال کنید تا همانطور که در تصویر بالا نشان داده شده است در طرفین نصب شود (توجه داشته باشید که همانطور که در مقاله اشاره شده سیم زرد مشخص شده است) در سمت چپ بیرون آمده است فقط به شما یادآوری می کند که SLP و RST را با هم لحیم کنید).

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

مرحله 3: من نور را می بینم !! (اختیاری)

من نور را می بینم !! (اختیاری)
من نور را می بینم !! (اختیاری)
من نور را می بینم !! (اختیاری)
من نور را می بینم !! (اختیاری)
من نور را می بینم !! (اختیاری)
من نور را می بینم !! (اختیاری)

اگر فقط می خواهید بسازید و دیگر هیچ ، به پاراگراف قبل از این مرحله بروید تا نحوه اتصال TOF10120 به micro: bit را ببینید. در صورت عدم پیگیری

همانطور که میکرو: بیت ما با هیچ دوربین یا سنسور مجاورت عرضه نمی شود ، برای هر برنامه روباتیک تلفن همراه آن را کور می کند. این دستگاه دارای یک فرستنده و گیرنده رادیویی است که به ما امکان می دهد اسکلت را بر اساس آنچه که در حال حاضر داریم بسازیم و یک ربات کنترل از راه دور تهیه کنیم. اما آیا این خوب نیست که ربات خود را خودمختار کنیم؟ بله می شود! بنابراین بیایید ببینیم چگونه به آنجا برسیم.

آنچه ما در حال حاضر به آن علاقه داریم این است که ربات خود را به سنسور مجهز کنیم تا ربات ما اطلاعاتی در مورد محیط خود بدست آورد. انواع مختلفی از سنسورها موجود است ، اما در اینجا ما روی سنسور مجاورت تمرکز می کنیم. هنگامی که من این ربات را طراحی می کردم ، هدف من بیشتر این بود که ربات به هیچ چیز برخورد نکند ، بنابراین می خواستم موانع را حس کند. برای این کار نیز چند گزینه وجود دارد. اولین ، بسیار ساده ، می تواند استفاده از ضربه گیر باشد ، اما من اطلاعات مربوط به محیط را کمی محدود می دانم. از طرف دیگر ، می توانید به افزودن دوربین (یا Lidar یا kinect!) فکر کنید. من عاشق دوربین ها ، بینایی کامپیوتر و همه این موارد هستم ، اما متأسفانه Micro: bit از آن ها پشتیبانی نمی کند (ما باید از رزبری Pi برای پشتیبانی از چنین دستگاه هایی استفاده کنیم ، نه micro: bit یا Arduino).

بنابراین micro: bit پشتیبانی می کند که بین دوربین و سپر قرار دارد؟ سنسورهای فعال کوچکی وجود دارند که نور را به محیط می فرستند و آنچه را دریافت می کنند بررسی می کنند تا اطلاعاتی در مورد جهان بدست آورند. چیزی که من قبلاً می شناختم GP2Y0A41SK0F بود که از روش مثلث بندی برای تخمین فاصله تا موانع استفاده می کرد. با این حال ، من می پرسیدم آیا می توانم چیز بهتری پیدا کنم ، بنابراین کمی تحقیق کردم و در نهایت TOF10120 (و GY-VL53L0XV2 را پیدا کردم اما هنوز آن را دریافت نکرده ام:(). در اینجا یک مقاله خوب برای کشف آن است. اساساً این سنسور یک سیگنال مادون قرمز منتشر می کند که روی موانع منعکس می شود و سپس نور منعکس شده را دریافت می کند. بسته به زمانی که نور برای رفت و برگشت به طول انجامید ، سنسور می تواند فاصله مانع را تخمین بزند (از این رو نام TOF = زمان پرواز به دلیل اندازه کوچک ، محدوده فاصله و قدرت مورد نیاز ، تصمیم گرفتم از TOF10120 استفاده کنم.

در حالی که اولین ایده من این بود که سه مورد از آنها را روی ربات بگذارم (یکی در جلو و دو در طرف) ، اما سال جدید چینی و همه گیری COVID-19 آن را آنطور نمی خواستند ، زیرا به نظر می رسید که مشکلات حمل و نقل را ایجاد می کند. بنابراین با محدود کردن یک TOF10120 ، که می خواستم در کناره ها نیز ببینم و تعدادی سروو موتور در اطراف من قرار داشت ، تصمیم گرفتم سنسور خود را روی سروو نصب کنم. بنابراین دو چیز در حال حاضر گم شده است: چگونه می توانم از TOF10120 با micro: bit استفاده کنم؟ و همین سوال در مورد سروو

خوشبختانه micro: bit مجهز به پروتکل ارتباطی I2C است و زندگی ما را بسیار آسان می کند: سیم قرمز را به 3.3 ولت ، سیاه را به زمین ، سبز را به SCL و آبی را به SDA وصل کنید و این برای سخت افزار است. برای نرم افزار ، شما را تشویق می کنم که کمی در مورد ارتباطات I2C بخوانید و کد پایتون را که روی micro: bit ضمیمه کرده امتحان کنید. آن برنامه باید فاصله اندازه گیری شده توسط سنسور REPL (Read Evaluate Print Loop) را برای شما چاپ کند. خودشه. ما فقط به micro: bit خود چشم انداز کردیم.

اگر اجازه می دهید قیاس خود را با آناتومی حیوانات ادامه دهم ، اجازه دهید گردن خود را بچرخاند. تنها چیزی که ما به آن نیاز داریم این است که یک موتور سروو را با micro: bit هدایت کنیم. این قسمت طولانی می شود ، بنابراین من فقط این پیوند را در اختیار شما قرار می دهم که دارای تمام اطلاعات مورد نیاز و کدی است که برای آزمایش آن استفاده کردم. در صورت تمایل ، من یک کد ساده برای کنترل سروو با استفاده از pin0 اضافه کردم. فقط فراموش نکنید که سروو را با 5 ولت و نه 3.3 ولت تغذیه کنید.

مرحله 4: هک سپر باتری

هک سپر باتری
هک سپر باتری
هک سپر باتری
هک سپر باتری
هک کردن محافظ باتری
هک کردن محافظ باتری

اکنون که محرک ها و حسگرهای خود را آماده کرده ایم ، وقت آن است که نگاهی به سیستم مدیریت باتری داشته باشیم. برای آشنایی بیشتر با محافظ باتری که من انتخاب کردم ، توصیه می کنم این مقاله را بخوانید. من آن را بسیار واضح و در دسترس می دانم. از این مقاله می توان مزایای بسیاری از این محافظ باتری را مشاهده کرد ، اما یک اشکال مهم وجود دارد که نمی خواستم بپذیرم: سوئیچ ON/OFF فقط بر خروجی USB تأثیر می گذارد. این بدان معناست که اگر سوئیچ را خاموش کنید ، تمام پین های 3.3V و 5V دیگر تغذیه می شوند. در نتیجه ، هنگامی که از آن پین ها برای ربات خود استفاده می کنیم ، سوئیچ هیچ کاری نمی کند…

اما من می خواهم بتوانم ربات خود را خاموش کنم تا باتری من را بیهوده خالی نکند ، بنابراین مجبور شدم محافظ باتری را هک کنم. زیبا نخواهد بود ، اما کار می کند و هزینه ای ندارد. بنابراین من می خواهم یک سوئیچ مدار را باز یا بسته کند تا سلول باتری من از سپر باتری جدا شود. من تجهیزات لازم برای لمس PCB را ندارم ، اما اطراف آن قطعات پلاستیکی دارم. بنابراین اکنون تصور کنید که من یک تکه پلاستیک را بریده ام تا مانند یک تصویر بالا در یک انتهای سلول باتری من در سپر قرار گیرد. اکنون مدار باز است و باتری من با خیال راحت ذخیره شده است.

بله ، اما من نمی خواهم مجبور شوم ربات را باز کنم تا به محافظ باتری دسترسی داشته باشم تا این قطعه پلاستیک را قرار داده و بردارم! آسان: یک سوئیچ بگیرید و دو مربع کوچک آلومینیوم را به هر یک از سیم های متصل به سوئیچ بچسبانید. حالا آن دو قطعه آلومینیوم را به قطعه پلاستیک بچسبانید تا دو قطعه آلومینیومی از یکدیگر جدا شده و آلومینیوم در نمای خارجی سیستم شما قرار گیرد. به طور معمول این کار باید انجام شود. مخلوط جدید خود را در محافظ باتری کنار سلول وارد کنید و سوئیچ باید به شما اجازه دهد مدار متصل به سلول را باز یا بسته کنید.

نکته آخر: برای سهولت مونتاژ و جداسازی روبات ، توصیه می کنم هدرهای زن را روی سپر باتری بچسبانید. به این ترتیب شما به راحتی می توانید آنچه را که با موتورها و درایورهای آنها می سازید ، وصل کرده و جدا کنید.

مرحله 5: طراحی و برش سه بعدی

طراحی و برش سه بعدی
طراحی و برش سه بعدی
طراحی و برش سه بعدی
طراحی و برش سه بعدی

تنها چیزی که در حال حاضر وجود ندارد ساختن ساختاری است که همه اجزای ما را در کنار هم نگه دارد. برای این کار از پلت فرم آنلاین tinkercad استفاده کردم. این یک محیط واقعاً خوب برای انجام برخی از CAD های اولیه است که اغلب برای طراحی چیزهایی برای برش لیزری کافی است.

بعد از مدتی فکر کردن ، وقت نوازش بود. برای انجام این کار ، من شروع به جمع آوری مدل های سه بعدی از قسمت های مختلف کردم (ابتدا سروو و TOF را از معادله خارج می کنم). این شامل باتری و سپر ، موتورهای پله ای و درایورهای موتور و البته micro: bit با برد افزودنی آن است. همه مدلهای سه بعدی مربوطه را به عنوان فایلهای stl ضمیمه کردم. برای سهولت در روند ، تصمیم گرفتم ربات خود را متقارن کنم. در نتیجه فقط با نیمی از ربات صحبت کردم و به طرح نشان داده شده در تصویر بالا رسیدم.

از این رو چند نسخه زنده شد ، که از بین آنها دو مورد را انتخاب کردم:

  • یکی کاملاً مرتب ، بدون سنسور مجاورت ، که به شما اجازه می دهد سیمها را در نظر نگیرید. در حالی که این نسخه مستقل نیست ، هنوز می توان از طریق بلوتوث از طریق iPad برنامه ریزی کرد ، یا می توان برنامه ریزی کرد که با استفاده از سیگنال های رادیویی که می تواند به عنوان مثال توسط یک میکرو: بیت دیگر ارسال شود ، کنترل شود ، همانطور که در فیلم بالا نشان داده شده است.
  • یکی بسیار تمیز که به شما امکان می دهد تا به رباتیک متحرک بسیار بیشتر بروید زیرا به لطف سنسور مجاورت ساخته شده بر روی سرو موتور ، می توانید فاصله مانع را با نمای 180 درجه ثبت کنید.

برای تقویت این مورد ، به Fablab مورد علاقه خود بروید و از برش لیزری که پیدا کرده اید مدل مورد نظر خود را برش دهید: اولین مورد مربوط به فایل های design1_5mmMDF.svg و design1_3mmMDF که به ترتیب مربوط به قطعات برش در MDF 5 میلیمتری چوب و مواردی که باید از 3 میلی متر بریده شود. دومی مربوط به فایل design2_5mmMDF.svg است. خطوط مشکی را برای برش و خطوط قرمز را برای حکاکی تنظیم کنید.

نکته جانبی: من الگوی قرمز را فقط برای دلال کردن آن اضافه کردم. این یک عملکرد پر کردن هیلبرت است که من با استفاده از کد پایتون پیوست ایجاد کردم.

مرحله 6: سوار شدن بر جانور

سوار بر جانور
سوار بر جانور
سوار بر جانور
سوار بر جانور
سوار بر جانور
سوار بر جانور

مراحلی که برای نصب اولین نسخه ربات دنبال کردم موارد زیر است (تصاویر معمولاً باید به ترتیب مناسب باشند):

  1. درپوش آبی موتورها را برداشته و کمی برش دهید تا کابل از پشت موتور بیرون بیاید.
  2. موتورها را در هر طرف با استفاده از پیچ و پیچ M2 نصب کنید.
  3. با استفاده از سوراخ های 2x2 میلی متر و چند پیچ و پیچ ، تخته نمونه اولیه را در کناره ها نصب کنید.
  4. درایورهای A4988 را قرار داده و کابل های موتور را وصل کنید تا مرتب نگه داشته شود.
  5. چرخ جهانی را زیر قسمت پایینی قرار دهید و کناره ها را اضافه کنید.
  6. برد فرمت micro: bit را در قسمت بالا نصب کنید.
  7. پایین پوشش جلویی قابل انعطاف را نصب کنید.
  8. سپر باتری را بگذارید و همه چیز را به هم وصل کنید (برای انجام این کار ، همانطور که من هنوز منتظر تحویل تابلوی افزودنی مورد نظرم بودم و فقط یکی از آنها با سربرگ های زنانه بیرون آمده بود ، یک کابل IDE را از یک رایانه قدیمی بازیافت کردم تا بتوانم کابل های من روی تخته چسبانده نشده اند تا همه اینها را با جلوی تاشو جلو بپوشانم). اگرچه کدی که من ارائه کردم بسیار آسان برای تطبیق است ، اما برای استفاده مستقیم از آن ، باید STEP سمت چپ را به پین 2 ، STEP راست را به پین 8 ، DIR چپ را به پین 12 ، راست DIR را به پین 1 وصل کنید.
  9. micro: bit را در برنامه افزودنی قرار دهید.
  10. قبل از ادامه کار ، آزمایش کنید که همه چیز با MoveTest.py کار می کند.
  11. سوئیچ را در قسمت بالا نصب کرده و بیت پلاستیکی را در کنار سلول لیتیوم قرار دهید.
  12. قسمت بالای جلد را پیچ کنید.
  13. پشت را سوار کنید ، کار شما تمام است! فو! من انتظار چند مرحله را نداشتم! فکر کردن و انجام آن بسیار آسان تر از توضیح دادن آن با کلمات است! (و من مطمئن هستم که هنوز اطلاعات از دست رفته وجود خواهد داشت!)

اگر در حال ساخت نسخه دوم با سنسور مجاورت هستید ، پس:

  1. دستورالعمل بالا را دنبال کنید. تنها تفاوت این است که شما باید در مرحله 7 چند فاصله دهنده M2 اضافه کنید (اگرچه این کاری است که من انجام دادم اما لازم نیست) ، از مرحله 8 و مرحله 13 چشم پوشی کنید (زیرا جلد جلویی وجود ندارد)
  2. سروو موتور را با پیچ M2 نصب کرده و VCC و GND سروو را مستقیماً روی 5 ولت محافظ باتری وصل کنید و ورودی کنترل کننده را به پین 0 میکرو: بیت متصل کنید.
  3. دو تکه چوبی را که روی سروو قرار می گیرند با یک پیچ نصب کنید ، سنسور TOF را روی این قسمت و همچنین قطعه پلاستیکی سفید رنگی که همراه سروو است ، پیچ کنید.
  4. این واحد آخر را روی سروو نصب کرده و سنسور را با استفاده از I2C micro: bit مطابق مرحله 3 وصل کنید.

مرحله 7: برنامه

خودشه ! شما یک ربات دارید که می توانید آن را به صورت میکرو: پایتون یا کدبندی برنامه ریزی کنید. در اینجا چند نمونه کد را که برای فیلم های بالا استفاده می کردم پیوست کردم:

  • مثال 1: radioControl.py را روی micro: bit روبات و ReadAccelero.py را روی micro: bit دیگری قرار دهید تا ربات با استفاده از تمایل میکرو: bit دوم کنترل شود.
  • مثال 2: Autonomous.py را روی نسخه 2 روبات قرار دهید تا محیط را کاوش کند.

اینها فقط نمونه های اساسی هستند که می توانید از آنها برای پیشرفت بسیار بیشتر استفاده کنید. به عنوان مثال ، من بومی سازی و نقشه برداری همزمان را بسیار دوست دارم ، و به طور معمول در نسخه 2 این ربات برای انجام این کار همه چیز لازم است! اگرچه یک مشکل بزرگ برای من در انجام چنین پروژه ای این است که درایور micro: bit PWM یک درایور نرم افزاری است که از تایمر یکسان برای همه کانال ها استفاده می کند ، به این معنی که همه PWM هایی که ما تنظیم کرده ایم باید فرکانس یکسانی داشته باشند (که این کاری است که من انجام دادم نمی دانم چه زمانی کدهای نمونه را نوشتم ، اگرچه هنگام نوشتن Autonomous.py چیز عجیبی را تشخیص دادم).

مرحله هشتم: جلو رفتن

در بهبود طراحی تردید نکنید ، برخی از مشکلاتی را که ندیده ام حل کنید. به عنوان مثال ، من می خواهم در نهایت:

  • یک سنسور مادون قرمز در پایین ربات اضافه کنید تا مشخص شود که زمین سیاه یا سفید است یا به انتهای میز کار من می رسد.
  • سیستم مدیریت باتری را تغییر دهید زیرا هنوز از آن راضی نیستم. در واقع ، در حال حاضر ، برای شارژ مجدد باتری ، لازم است ربات را جدا کنید تا سلول یا محافظ باتری را بیرون بیاورید … بنابراین من قصد دارم: 1. یک اتصال مینی USB را در پشت روبات اضافه کنم که من به سپر باتری متصل می شوم تا بتوانم آن را دوباره شارژ کنم. 2. یک سوراخ را در قسمت پایین ببرید تا LED های محافظ باتری را ببینید تا زمان پایان شارژ را ببینید.
  • بررسی کنید که آیا راه قابل قبولی برای خروجی PWM ها با فرکانس های مختلف وجود دارد یا خیر.
  • VL53L0XV2 را برای جایگزینی TOF10120 امتحان کنید زیرا می تواند گزینه ارزان تری باشد که برای افراد بیشتری قابل دسترسی است. اگرچه من بیشتر در مورد این سنسور خواندم و به نظر می رسد شرکتی که این دستگاه را ارزان کرده است ، عمدا برخورد با آن را بسیار سخت کرده است…
  • طرح های مختلف را برای چرخ ها آزمایش کنید تا دوام بیشتری داشته باشند (در حال حاضر من انتظار دارم که اگر بارها و بارها چرخ ها را داخل و خارج کنم ، چوب به تدریج آسیب می بیند. بتواند دوام بیشتری داشته باشد)

با تشکر فراوان از افراد تیم روباتیک Mobile (اکنون بخشی از آزمایشگاه Biorobotics) از EPFL هستند که به من کمک کردند تا دانش خود را در زمینه الکترونیک و مکانیک گسترش دهم!

توصیه شده: