Mundarija:

Arduino Mothbot: 11 qadam (rasmlar bilan)
Arduino Mothbot: 11 qadam (rasmlar bilan)

Video: Arduino Mothbot: 11 qadam (rasmlar bilan)

Video: Arduino Mothbot: 11 qadam (rasmlar bilan)
Video: ECE 450 Lab 7: Mothbot 2024, Noyabr
Anonim
Arduino Mothbot
Arduino Mothbot
Arduino Mothbot
Arduino Mothbot

Loyihaning maqsadi-Arduino Duemilanove mikrokontroller platasi yordamida oddiy yorug'lik kuzatuvchi robotni loyihalash va qurish. Men haqiqatan ham arzon, qurilishi sodda va har xil bosqichlar uchun ko'rsatmalarga ega bo'lgan robot loyihasi bilan bo'lishishni juda xohlardim. Umid qilamanki, men muvaffaqiyatga erishdim va men buni yanada yaxshiroq qilish haqida sharhlar olishni xohlardim.

Ushbu robotning dizayni Massimo Banzining "Arduino -dan boshlash" kitobidan foydalanishga qaratilgan bo'lib, u [makezine.com Make] nashrida chop etilgan. Men shuningdek, servolarni ishga tushirish uchun kodni ishlatdim: Arduino boshqariladigan servo robotini (SERB) qanday yaratish kerak. Arduino Mothbot - bu juda tez tuziladigan robot. Agar siz barcha qismlardan boshlasangiz va improvizatsiya qilmasangiz, loyihani qurishga bir soat vaqt ketadi. Agar siz ko'rsatmalarga amal qilsangiz va kodni nusxa ko'chirsangiz. Ammo, agar siz bir vaqtning o'zida faqat bitta xususiyatni yaratib, yo'l davomida sinov qilsangiz, bu loyiha ancha uzoq davom etishi mumkin. Uzunroq trekning afzalligi shundaki, siz, ehtimol, ko'p narsalarni o'rganasiz va yo'l davomida dam olasiz.

1 -qadam: Ehtiyot qismlar va asboblarni yig'ing

Agar siz ilgari hech qachon bunday qilmagan bo'lsangiz, ushbu robotni yaratish sizga taxminan 80 dollarga tushadi. Men uchun ish haqi ancha past edi, chunki menda ishlash uchun juda ko'p elektronika yotardi. Qaysi qismlarni olish kerakligini, qayerdan buyurtma berish kerakligini va hamma narsaning narxi qancha bo'lishini bilmasdan ko'rsatmaga amal qilish qanchalik achinarli ekanligini bilaman, shuning uchun men siz uchun hamma ishni qildim. Agar siz barcha qismlarni kvadratga aylantirsangiz, bu loyihani bajarish juda oson bo'ladi. To'liq qismlar ro'yxatini olish uchun Vikipediya loyihasi uchun quyidagi havolani bajaring

Endi siz ba'zi vositalarni olishni xohlashingiz mumkin. Ushbu loyihada lehimsiz non paneli ishlatilganligi sababli, siz ko'plab elektronika asbob -uskunalarisiz qila olasiz. Qolgan narsalarni garajda topasiz degan umiddamiz: 1. Ignalilar uchun penseler 2. Tel kesgichlar 3. Yassi tornavida 4. Kichik Fillips (4 qirrali) tornavida 5. Sozlanishi kalit yoki 11/32 " olti burchakli kalit 6. Matkap 7. 1/16 ", 5/32" va 7/32 "burg'ulash uchlari 8. Ko'rdi (ixtiyoriy) 9. Himoya ko'zoynaklari Har qanday elektr asboblarini ishlatishda iltimos, xavfsiz amaliyotlardan foydalaning.

2 -qadam: rejalashtirish bosqichi

Rejalashtirish bosqichi
Rejalashtirish bosqichi
Rejalashtirish bosqichi
Rejalashtirish bosqichi

Men bu loyihani boshlashdan oldin Instructables -ni boshqa ko'plab loyihalarga qaradim. Men ham Massimo Banzining "Arduino bilan ishlashni boshlash" kitobini o'qishga vaqt ajratdim. Ushbu loyihadagi deyarli hamma narsa ushbu veb -saytdagi yoki kitobdagi misoldan qilingan. Men loyihani shunday boshladimki, uni yangi robot -robotga ochiq qilish uchun.

Rejalashtirish bosqichida men nafaqat apparat va kodlashni ko'rib chiqdim, balki elektronikadagi uy vazifasini ham bajardim. Men ushbu loyiha uchun elektronikaning oddiy sxemasini tuzmoqchi edim, shuning uchun uni qurishda nima bo'layotganini kuzatib borishim mumkin edi. Siz rasmda turli komponentlar, elektr uzatish liniyalari va Arduino pinlarini ko'rishingiz mumkin. Umid qilamanki, bu aniq diagramma va bu loyiha uchun elektronika qanchalik sodda ekanligini ko'rsatadi.

3 -qadam: Servolarni Arduino -ga ulash

Servolarni Arduino -ga ulash
Servolarni Arduino -ga ulash
Servolarni Arduino -ga ulash
Servolarni Arduino -ga ulash
Servolarni Arduino -ga ulash
Servolarni Arduino -ga ulash

Agar siz robot yasamoqchi bo'lsangiz, birinchi navbatda, uni qanday aylanib o'tish kerakligini hal qilmoqchisiz. Ehtimol, siz uni oldinga, orqaga, o'ngga, chapga jo'natib, to'xtata olasiz. Agar siz qanday qilib to'g'ri harakat qilishni buyurishni tushunolmasangiz, siz barcha sensorlarni ulashda hech narsa qila olmaysiz. Dvigatelni Arduino -ga ulash bo'yicha qadamlar quyida keltirilgan.

1. Lehimsiz non taxtasini o'rnatishda birinchi navbatda, servo uchun zamin (GND) va quvvat (+6V) o'rnatiladi. Men taxtada Arduino -ga eng yaqin bo'lgan ikkita uzun chiziqdan foydalanishni tanladim. 2. Tuproq va elektr uzatish liniyalari aniqlangandan so'ng, Arduino taxtasining erini lehimsiz non panelidagi er chizig'iga ulang. Quvvatni lehimsiz non paneliga hali ulamang. 3. Har bir servoda ulardan chiqadigan uchta sim bor. Menda har biri uchun qora, qizil va oq sim bor. Qora - er uchun, qizil - kuch uchun, oq - nazorat simidir. Bir xil o'lchamdagi har bir servo uchun uchta o'tish simini kesib oling (jami 6 ta). 4. Jumper simlarini servo simlarning oxiriga, so'ngra har bir servoni lehimsiz non taxtasiga ulang. 5. Endi har bir servodan erga va quvvatga lehimsiz non taxtasining er va quvvatini ulash uchun jumperlardan foydalaning. 6. Endi boshqaruv simlarini har bir servodan Arduino -ga ulang. Chap servo raqamli chiqishga (PWM) 3, o'ng servo esa raqamli chiqishga (PWM) 11. 7. Nihoyat, 4AA batareyalaridan er va quvvatni lehimsiz non paneli va quvvatiga ulang. Agar Arduino -da quvvat bo'lmasa yoki hali dasturlashtirilmagan bo'lsa, servolar harakat qila boshlasa, xavotir olmang. 8. Kodni ishlatib, siz motorlarni oldinga, orqaga, chapga yoki o'ngga yo'naltirilgan funksiyalar yordamida boshqarishingiz kerak.

4 -qadam: dvigatellarni sinovdan o'tkazish

Menimcha, Arduino Mothbot -ni yig'ishda ishlatgan ba'zi test kodlarini kiritish muhim. Agar siz qiziqmoqchi bo'lsangiz va vaqt topishga tayyor bo'lsangiz, menimcha, siz ushbu kod parchalarini boshqa loyihalarda foydali va foydali deb topasiz. Quyida biron bir kodni joylashtirishdan oldin shuni aytmoqchimanki, quyida Arduino boshqariladigan servo robotni qanday yaratish (SERB) nomli yana bir ajoyib loyiha yaratilgan. Men ko'rsatmali ishni bajarishdan ko'p narsani o'rgandim va o'z vaqtida kredit berishni xohlayman.

github.com/chrisgilmerproj/Mothbot/blob/master/motor_test1.pde

5 -qadam: yoqish/o'chirish tugmachasini birlashtirish

Yoqish/o'chirish tugmachasini birlashtirish
Yoqish/o'chirish tugmachasini birlashtirish
Yoqish/o'chirish tugmachasini birlashtirish
Yoqish/o'chirish tugmachasini birlashtirish
Yoqish/o'chirish tugmachasini birlashtirish
Yoqish/o'chirish tugmachasini birlashtirish
Yoqish/o'chirish tugmachasini birlashtirish
Yoqish/o'chirish tugmachasini birlashtirish

Endi siz robotni tugmani bosib yoqishni va o'chirishni xohlashingiz mumkin. Arduino o'zi kodni uzilmaguncha cheksiz pastadirda ishga tushiradi, bu esa robotni stolga ulab, sizdan qochib keta boshlaganda asabiylashishi mumkin! Tugmani birlashtirish - bu jarayonda juda yaxshi qadam, chunki siz boshqa narsalar uchun tugmalardan foydalanishni o'rganasiz, masalan, robot devorga tegib ketishini aniqlash uchun bamper yaratadi. ko'p rasmlarim uchun lehimsiz non paneli. Bu men har xil qadamlarni ko'rsatayotganimda tasvirni yanada aniqroq qilishga yordam beradi. Boshlash uchun, boshqa ishni bajarishdan oldin, servo dvigatellardan quvvatni uzing. Har safar ushbu loyihaga biror narsa qo'shganda buni qilishni unutmang. Endi siz robotni yoqish va o'chirish imkoniyatiga ega bo'lishni xohlashingiz mumkin. Lehimsiz non taxtasining qarama -qarshi tomonidagi yoqish/o'chirish tugmachasi (va keyinroq datchiklar) bo'ladigan chiziqni aniqlang. Uzoq o'tish simidan foydalanib, Arduino -dan quvvatni (+5V) siz aniqlagan chiziqqa ulang. Vaqtinchalik kalitga ikkita o'tish simini ulang va bir uchini (+5V) quvvat manbaiga ulang6. Vaqtinchalik kalitning ikkinchi uchini lehimsiz non paneli o'rtasida kichikroq bo'lakka ulang.7. Xuddi shu chiziqdan 10K ohmli rezistorni chiziqqa, ikkinchi uchini esa erga ulang8. Nihoyat, bir uchida kalit va qarshilik bilan chiziqdan simni ulang va ikkinchi uchini Arduino raqamli kirishiga 7 joylashtiring.9. Endi kod yordamida siz robotni yoqish va o'chirish uchun tugmani ishlatishingiz kerak. Agar siz kodni LED bilan ishlatsangiz (raqamli chiqish 13), siz bortdagi LEDning yonishi va o'chishini ko'rasiz. Agar sizda motorlar uzilgan bo'lsa, bu Arduino kodini sinab ko'rishning ajoyib usuli.

6 -qadam: yoqish/o'chirish tugmachasini sinab ko'rish

Bu yangi kod yoqish/o'chirish tugmachasini ishlatish va bortdagi LEDni yonib o'chirish haqidagi ma'lumotlarni o'z ichiga oladi.

github.com/chrisgilmerproj/Mothbot/blob/master/motor_test2.pde

7 -qadam: yorug'lik sezgichlarini birlashtirish

Yorug'lik sensorlarini birlashtirish
Yorug'lik sensorlarini birlashtirish
Yorug'lik sensorlarini birlashtirish
Yorug'lik sensorlarini birlashtirish
Yorug'lik sensorlarini birlashtirish
Yorug'lik sensorlarini birlashtirish

Agar yorug'lik sensorlar bo'lmasa, Arduino Mothbot nima bo'lar edi? Ushbu oddiy loyihaning maqsadi - eng yorqin nurga jalb qilingan robot yasash. Buning uchun biz yorug'lik rezistorlari deb ham ataladigan yorug'lik sezgichlarini birlashtirishimiz kerak bo'ladi.

1. Yana, bu qadamni bajarishdan oldin, servo dvigatellardan quvvatni uzing 2. Yorug'lik sezgichlarini sozlash ikki marta amalga oshiriladi. Bu deyarli bir lahzali kalit bilan bir xil. Aslida, bu xuddi shunday sozlash, lekin bu safar siz bir lahzali kalit o'rniga yorug'lik sensori (foto-rezistor) dan foydalanasiz. 3. Bu robot haydash yo'nalishini tanlash uchun ikkita yorug'lik sezgichidan foydalanganligi sababli, har bir yorug'lik sezgichini lehimsiz non taxtasining qarama -qarshi tomoniga yoki iloji boricha bir -biridan uzoqroqqa o'rnatish tavsiya etiladi. 4. Yorug'lik sezgichining bir uchini (+5V) elektr uzatish liniyasiga, ikkinchi uchini esa taxtaning markazidagi kichik chiziqqa ulang. 5. 10k ohmli rezistorni o'sha chiziqqa, ikkinchi uchini esa erga ulang 6. Endi kichik chiziqdan (foto rezistor va oddiy rezistor ulangan) o'tish simini ulang va boshqa uchini analog kirishga ulang. 7. Chap sensorni Arduino -dagi analogli 0 -kirishga, o'ng sensorni analog -1 -ga ulang. 8. Endi siz servolarni harakatlantirish uchun yorug'lik sensorlaridan foydalanishingiz kerak.

8 -qadam: Yakuniy kod

Yakuniy kod
Yakuniy kod
Yakuniy kod
Yakuniy kod

Bu erda Arduino Mothbot -ni ishga tushirish uchun ishlatiladigan oxirgi kod. Kodga men Arduino ketma -ket portiga bosma bayonotlarni kiritdim. Agar siz Arduino -ni kompyuteringizning USB -porti orqali ulagan bo'lsangiz, siz robotning qaysi tomonga ketishni rejalashtirayotganini ko'rsatadigan bosma bayonotlarni ko'rishingiz kerak. Robotning xatti -harakatlarini aniq sozlash uchun siz yorug'lik sensori ostonasini sozlashni xohlashingiz mumkin. Chegara asosan sizning sensorlaringizga va siz turgan joyning atrofdagi nuriga bog'liq.

github.com/chrisgilmerproj/Mothbot/blob/master/mothbot.pde

9 -qadam: Mothbot tanasini yarating

Mothbot tanasini yarating
Mothbot tanasini yarating
Mothbot tanasini yarating
Mothbot tanasini yarating
Mothbot tanasini yarating
Mothbot tanasini yarating

Siz qurayotgan robot o'zini tuta olmas ekan, aslida yaxshi emas. Shuning uchun unga tana kerak. Men buni iloji boricha sodda qurilish loyihasi qilishga harakat qildim. To'g'ri o'lchovlarni aniqlash uchun siz ozgina ishlashingiz kerak bo'ladi. Men qarilikni "ikki marta o'lchab, bir marta kes" usulini taklif qilaman.1. Robotning korpusi men apparat do'konidan 6 x 24 dyuym o'lchamdagi kichkina terak yog'ochidan yasalgan. Men apparat do'konida taqdim etilgan arra yordamida 6 "x 8" gacha qisqartirdim. Keyin men har bir servo uchun servo qavslarni ulash uchun taxtaning old tomoniga teshik ochdim. Buning uchun men 5/32 dyuymli matkap uchini ishlatardim.3. Shuningdek, men taxtaning orqa qismidagi robotni muvozanatlashtiruvchi g'ildirak uchun teshik ochdim. Men ozgina kichikroq matkapdan foydalanishni tanladim, shunda men g'ildirak g'ildiragim bilan qattiq ishqalanib keta olaman, chunki uni ulash uchun non va murvat birikmasidan foydalanmadim. Keyin men qavslarni taxtaga yong'oq va murvat bilan biriktirdim. Bu tekis tornavida va sozlanishi kalit yordamida amalga oshirildi.5. Qavslar biriktirilgandan so'ng, men har bir servo qistirgichga yong'oq va murvat bilan biriktirdim. 6. Nihoyat, men g'ildirak g'ildiragini butun qismga surdim.

10 -qadam: g'ildiraklarni yasash

G'ildiraklarni yasash
G'ildiraklarni yasash
G'ildiraklarni yasash
G'ildiraklarni yasash

G'ildiraklar men uchun murakkab muammo edi. Menda haqiqatan ham sertifikatlangan robot g'ildiraklari bor edi, lekin ular a) juda og'ir va b) men tanlagan servolarga ulashning iloji yo'qligini tushundim. O'sha paytda men shunga o'xshash loyihada o'rta maktabda kavanoz qopqog'idan foydalanganimni esladim. Har bir g'ildirak Ziploc Twist 'n Loc konteynerining qopqog'idan yasalgan. Yong'oqli idishlar yoki boshqa oziq -ovqat tovarlari boshqa yaxshi qovoqlardir. Men ovqatni isrof qilishni yoqlamayman, lekin qovog'ingizni saqlang, shunda siz robot loyihangiz uchun mos o'lchamni topasiz. Men qolgan idishlardan yig'ilgan qismlarni ushlab turish uchun foydalanardim.1. Men qilgan birinchi narsa g'ildiraklar uchun kerakli servo shoxini tanlash edi. Men to'rtta shoxli va ularni sotib olganimda servolarimga qo'shilganlarni tanladim. Hech narsa qilishdan oldin, g'ildirakning o'rtasida teshik qiling. Men buni 5/32 dyuymli matkap bilan bajarishni maslahat beraman. Bunga kerak bo'ladi, shunda siz shoxni servo bilan bog'laydigan vintga kirasiz. Endi qopqog'ini shoxga burang. Men har biri bilan to'rtta vintni ishlatardim. qovoqlarni shoxlarga ulash uchun servo. Qopqoq orqali men kabi mayda teshiklarni oldindan burg'ulash osonroq bo'lishi mumkin. Buning uchun 1/16 dyuymli matkap ishlatardim. Ehtiyot bo'ling, bu plastmassani og'ir matkap bilan burg'ulash juda qiyin bo'lishi mumkin. Endi shoxlarni kichik Filipp (4 qirrali) tornavida yordamida servolarga ulang.6. Nihoyat, ko'proq tortishish uchun har bir g'ildirakka rezina bantlar o'rang. Men rezina bantlarimni oziq -ovqat do'konida sotib olingan mahsulotlardan oldim. Umid qilamanki, sizda bir nechtasi yotadi. Bu vaqtda butun korpus va g'ildiraklar yig'ilishi kerak.

11 -qadam: Arduino Mothbot -ni bajarish

Arduino Mothbot -ni bajarish
Arduino Mothbot -ni bajarish

Korpus va g'ildiraklar yig'ilsa, Arduino va lehimsiz non taxtasini robot korpusining tepasiga qo'yish oson. Agar siz dasturni o'zgartirishingiz kerak bo'lsa, Arduino -dagi USB kirishiga hali ham kirishingiz mumkinligiga ishonch hosil qiling. Men ularni tanaga yopishtirish uchun har birining ostidan qora elektr tasmasini ishlatardim. Elektr tasmasini olib tashlash oson va yaxshi ushlab turadi.1. Siz qurgan robot korpusining yuqori qismiga Arduino va lehimsiz taxtani yopishtiring. Qayta lentani ishlatib, korpusga 4AA batareya ushlagichi va 9V batareyani ulash yaxshi bo'ladi. Simlarning yetib borishiga ishonch hosil qiling. Agar siz ilgari olib tashlagan bo'lsangiz, servo simlarni lehimsiz non paneliga ulang. Arduino 5 kuchini ulang. Servo dvigatel quvvatini ulang 6. Endi robotingizni erga qo'ying va yoqish/o'chirish tugmachasini bosing! Endi u hayotga qaytishi va xona atrofidagi yorug'likni ta'qib qilishi kerak:) Kelajakda qo'shiladigan loyiha sifatida men oddiy bamper yoki devor sensori bilan jihozlangan bo'lardim. Bu kalit, xuddi shu loyihada ishlatilgan yoqish/o'chirish tugmasi kabi bo'ladi. Biroq, tugma bosilganda, u robotga yo'nalishni teskari burish, chapga yoki o'ngga burish va dasturni davom ettirishni aytadi. Bu tugallangach, robot boshqa sensorlar va qurilmalar uchun ajoyib sinov platformasi bo'ladi.

Tavsiya: