Mundarija:

Arduino boshqariladigan servo robot (SERB): 7 qadam (rasmlar bilan)
Arduino boshqariladigan servo robot (SERB): 7 qadam (rasmlar bilan)

Video: Arduino boshqariladigan servo robot (SERB): 7 qadam (rasmlar bilan)

Video: Arduino boshqariladigan servo robot (SERB): 7 qadam (rasmlar bilan)
Video: Как Сделать Робота на Arduino UNO / How to Make a Robot on Arduino UNO 2024, Iyul
Anonim
Arduino boshqariladigan servo robot (SERB)
Arduino boshqariladigan servo robot (SERB)
Arduino boshqariladigan servo robot (SERB)
Arduino boshqariladigan servo robot (SERB)
Arduino boshqariladigan servo robot (SERB)
Arduino boshqariladigan servo robot (SERB)
Arduino boshqariladigan servo robot (SERB)
Arduino boshqariladigan servo robot (SERB)

Ochiq manbali mikrokontrolerlar (Arduino) bilan tajriba o'tkazishni boshlash uchun o'zingizning ochiq manba robotingizni (CC (SA -BY)) yaratishning eng yaxshi usuli nima? SERB bilan nima qilish kerak?

  • (bu erda) - SERB -ni Internetga qanday ulash va uni Skype video qo'ng'irog'i orqali boshqarish.
  • (bu erda) - Wii nunchuck -ning akselerometrlari yordamida SERB -ni qanday boshqarish mumkin
  • (bu erda) - Robotingizga to'siqlarni aniqlaydigan mo'ylovlarni qanday qo'shish kerak
  • (bu erda) - 30 ta to'plamni qanday qilish kerak (Ochiq ishlab chiqarish)

Xususiyatlari:

  • Arduino Duemilanove mikro-tekshirgichi (yoki siz tanlagan boshqa mikro-kontroller) yordamida to'liq dasturlash mumkin.
  • Lehimlashning hojati yo'q.
  • Akril buyumlarni kesish variantlarini tanlash. (aylantiruvchi arra, lazerli kesgichga kirish, oldindan kesilgan qismlarni sotib olish)
  • Qo'shimcha murvat teshiklari va non paneli bilan osongina kengaytirilishi va o'zgartirilishi mumkin.
  • Orqa g'ildirakli ikkita bilya rulmanli.
  • 1-2 soat ichida ishga tushadi. (to'plamdan)
  • Ochiq kodli dizayn (xohlaganingizcha quring)

(Uyatsiz vilka) Buyuk Britaniyada va Arduino kabi narsalarmi? bizning yangi ochilgan veb -do'konimizga qarang oomlout.co.uk Arduino boshqariladigan servo robotining tezkor videosi - (SERB) test dasturini ishga tushiradi (6 -qadam) Eslatma: Manba fayllari parallel ko'rsatma (manba fayllari uchun) da mavjud - Arduino boshqariladigan servo robotini qanday qilish kerak - (SERB)

1 -qadam: ehtiyot qismlar va asboblar

Qismlar va asboblar
Qismlar va asboblar

Barcha murvatlarni mahalliy Home Depot -da topish mumkin. Qolgan qismlarni Internetda topish mumkin (men har biriga o'zim yoqtirgan manbaga havolani qo'shganman). Qismlar ro'yxati: Barcha uskuna elementlarini o'z ichiga olgan to'plamni oomlout.com do'konidan sotib olish mumkin (bu erda) ($ 120) Nuts va boltlar:

  • 3 mm x 15 mm murvat (x20)
  • 3 mm x 10 mm murvat (x12)
  • 3 mm yong'oq (x34)
  • 3 mm kir yuvish mashinasi (x12)
  • 8 mm x 25 mm murvat (x2)
  • 8 mm yong'oq (x2)
  • Skeyt podshipniklari (x2) (VXB) (bu standart konkida rulmanlari, shuning uchun ularni rulonli pichoqlar yoki skeytborddan qutqarish mumkin)

Shinalar

  • Katta halqa (4,5 "ID 3/16" Bead Dash #349) (x2) (McMaster-Carr Mahsulot № 9452K407)
  • Kichik O-ring (3/4 "ID 3/16" Bead Dash #314) (x1) (McMaster-Carr mahsuloti #9452K387)

Elektronika

  • Arduino Duemilanove (x1) (ishlab chiqaruvchi uyi)
  • Uzluksiz aylanish Servo (x2) (Parallaks)
  • 400 ta aloqa paneli (x1) (barcha elektronika))
  • To'rtta AA batareya qutisi (x1) (Barcha elektronika)
  • 9V batareya klipi (x1) (barcha elektronika)
  • 2.1 mm vilka (x1) (barcha elektronika)
  • 3 pinli sarlavha (x2) (barcha elektronika)
  • A -B USB kabeli - Printer uslubi (x1) (Barcha elektronika) (to'plamga kiritilmagan)

Batareyalar:

  • AA batareyasi (x4) (to'plamga kiritilmagan)
  • 9v batareya (x1) (to'plamga kiritilmagan)

Tel: (barcha simlar 22 AWG qattiq, men o'zimni McMaster-Carr orqali sotib olaman)

  • 15 sm binafsha (x2)
  • 15 sm qora (x1)
  • 5 sm qora (x2)
  • 5 sm qizil (x2)

Asboblar

  • Tornavida (x1) (Philips)
  • Igna pensesi (x1)

2 -qadam: bo'laklarni kesish

Kesish qismlari
Kesish qismlari
Kesish qismlari
Kesish qismlari
Kesish qismlari
Kesish qismlari
Kesish qismlari
Kesish qismlari

Iltimos, siz tanlagan kesish variantiga asoslanib, qaysi bosqichlarni bajarish kerakligini tanlaysiz. 1-variant (oldindan kesilgan qismlarni sotib olish)

Oomlout.com do'konidan oldindan kesilgan shassi sotib oling (bu erda) (AQSh va Kanadaga etkazib berish bilan birga 60 dollar)

Variant 2 (Raqamli ishlab chiqarish (ya'ni. Ponoko) / Lazerli kesgichga kirish)

  • Lazerni kesish sxemasini yuklab oling ("03 SERB Ponoko Cutting Layout P2.eps" yoki "03- (SERB) -Ponoko Cutting Layout (P2).cdr")
  • Fayllarni Ponoko yordamida yoki o'zingizning lazer kesgichingizda kesib oling (3 mm,.118 dyuymli akril (ba'zan.125 "qilib sotiladi))

3 -variant (arra va burg'ulash)

  • PDF naqshini yuklab oling va chop eting (iltimos, qog'oz hajmiga mos keladigan faylni tanlang) 03- (SERB) -ScrollSaw Pattern (letter).pdf 03- (SERB) -ScrollSaw Pattern (A4).pdf (o'lchamaslik muhim) bosib chiqarish paytida chizilgan)
  • Chiqarish o'lchagichini siz ishongan o'lchagich bilan o'lchang, agar ular naqshga mos kelmasa, o'lchami kattalashtirilgan va siz qayta chop etishdan oldin printer sozlamalarini ko'rib chiqishingiz kerak. Agar ular mos keladigan bo'lsa, oldinga.
  • Naqshni akril varaqqa yopishtiring (3 mm,.118 "(ba'zan.125" sifatida sotiladi).
  • Teshiklarni burg'ulash.
  • O'tish arra yordamida kesilgan qismlar

3 -qadam: yig'ish

O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish

Bu jarayonni 90% bajarganingiz bilan tabriklayman, faqat shu yo'ldagi montaj ko'rsatmalarini yuklab oling (04- (SERB) -Assemble Guide.pdf) va biroz lego/mexano uslubidagi yig'ilishdan so'ng siz sim o'tkazishga tayyor bo'lasiz. Yo'lda sizni xursand qilish uchun mening yig'ilishimning vaqti o'tdi:

4 -qadam: simlarni ulash

Ulanish
Ulanish
Ulanish
Ulanish

Barcha katta bo'laklarni birlashtirib, bizning robotni boshqarishga imkon beradigan kichik elektr tomirlarini qo'shish vaqti keldi. Buning uchun ulanish sxemasini yuklab oling va chop eting (05- (SERB) -simli diagramma.pdf). Bir qarashda, bu juda qo'rqinchli ko'rinishi mumkin, lekin agar siz har bir ulanishni ketma -ket amalga oshirsangiz va u juda tez yig'ilsa, simlar juda oddiy va siz batareyalarni qo'shmaguningizcha sizning davringizga hech qanday zarar etkaza olmaydi. Shunday qilib, hamma narsani simga ulang, uni ikki marta tekshiring va keyin quvvat qo'shing.

5 -qadam: sinov va nosozliklarni tuzatish

Sinov va muammolarni bartaraf etish
Sinov va muammolarni bartaraf etish

Agar siz to'plamga buyurtma bergan bo'lsangiz, Arduino sinov dasturi bilan oldindan yuklangan. Faqat 4 ta AA batareyasini joylashtiring va 9v batareyani Arduino -ga ulang. Va agar hamma narsa to'g'ri bajarilgan bo'lsa, sizning robotingiz harakatlana boshlaydi (u tasodifiy yo'nalishda 0,1 dan 1 sekundgacha buriladi va 1-2 soniya davomida oldinga siljiydi, keyin yana boshlashdan oldin 2 soniya pauza qilinadi). Agar siz to'plam sotib olmagan bo'lsangiz, qo'shimcha qadam talab qilinadi. Qo'shilgan zip faylini yuklab oling (07- (SERB)-SERB-Test Arduino Program.zip). Keyin uni Arduino eskizlar katalogidan oching (standart "Mening hujjatlarim / Arduino \") va uni arduino kartasiga yuklab oling. (agar siz Arduino -da yangi bo'lsangiz, unda bir qadam oldinga siljiting, bu erda mashg'ulotlarni boshlash uchun ajoyib havolalar mavjud) Umumiy muammolar: Mening SERB -ni to'xtatish kerak bo'lganda sekin harakat qiladi. Bu sizning servolaringiz to'g'ri sozlanmaganligi natijasidir, servolarni kalibrlash uchun dasturingiz servolar to'xtaguncha kuting, so'ngra servo ichidagi potansiyometrni kichik tornavida bilan aylantiring (servo korpusidagi simlar joylashgan joyning tepasida)). Servo to'xtatilgunga qadar uni chapga yoki o'ngga aylantiring. Ishlar to'g'ri ishlamayapti. Bizga sizning alomatlaringiz bilan elektron pochta xabarini yuboring, biz sizga yordam berishga harakat qilamiz, siz esa javobni kutayotganda 4-qadamdan boshlab barcha simlaringizni simlar sxemasi bilan tekshiring. bu ko'rsatmaga yoki [email protected] elektron pochtasini yuboring va biz SERB-ni ishlashingizga yordam berish uchun qo'limizdan kelganicha harakat qilamiz.

6 -qadam: dasturlash

Dasturlash
Dasturlash

Arduino boshqariladigan Servo Robot - (SERB) - Internetdagi Arduino dasturlash manbalariga bir nechta havolalar haqida batafsil ma'lumotga ega bo'lishdan oldin. Dasturlash muhitini yuklab olishdan tortib birinchi dasturni yozishgacha Arduinos bilan ishlashni boshlashga yordam berish uchun. Arduino dasturlash ma'lumotnomasi - Arduino dasturlash tiliga to'liq qo'llanma. Servo qanday ishlaydi - servo dvigatellar qanday ishlashi haqida tezkor ma'lumot. Arduino Servo kutubxonasi. - Arduino Servo kutubxonasi qanday ishlaydi (biz servolarni qanday boshqaramiz). To'g'ridan -to'g'ri o'rganib chiqsak, dasturlash mumkin. Arduino boshqariladigan servo robotini (SERB) dasturlashni boshlashning uchta usuli bor. 1 -variant: (SERB_Test.pde -ni o'zgartirish) Ba'zan dasturlashda eng oson ishchi dasturni olish va unga o'z kodingizni qo'shishni boshlashdir. Buning uchun SERB_Test ziplangan dasturini yuklab oling (07- (SERB)-SERB-Test Arduino Program.zip). Buni Arduino eskiz papkasida ochishga o'ting (standart "Mening hujjatlarim / Arduino \"). Nihoyat, Arduino dasturlash muhitini oching va uni Arduino -ga yuklab oling. Kod yaxshi izohlangan. (Yoki bu qadamdagi ilovadagi kodni yangi Arduino Sketch-ga nusxa ko'chiring va joylashtiring) 2-variant: (SERB dasturlarini dasturingizga qo'shish) Oldindan mavjud bo'lgan dasturga ba'zi oddiy tartiblarni qo'shing (masalan, goForward (), setSpeed (int) va boshqalar). Buning uchun muntazam fayllarni matnli fayldan yuklab oling (07- (SERB)- Simple Routines Text.txt). 1. Dastlabki qismni nusxa ko'chiring va dasturingiz boshiga qo'ying.2. Muntazam qismini nusxa ko'chiring va dasturingizga joylashtiring. SerbSetup () ga qo'ng'iroq qo'shing; 3 -variant: (o'z dasturingizni noldan yaratish) Bu unchalik qiyin emas. Buning uchun Arduino Servo kutubxonasi bilan tanishish kifoya. Keyin o'ng servo 9 -pinga, chap servo esa 10 -pinga ulanadi. Izoh: Bu erda qo'shimcha dasturlar ishlab chiqilganda qo'shiladi; yoki agar siz biror narsa ishlab chiqsangiz va u xususiy bo'lishini xohlasangiz, menga shaxsiy xabar yuboring va uni qo'shishingiz mumkin. Qo'shimcha: (SERB_Test.pde kodi)

/ * * Arduino boshqariladigan servo robot (SERB) - Test dasturi * Qo'shimcha ma'lumot olish uchun quyidagi manzilga tashrif buyuring: https://www.oomlout.com/serb * * Xulq -atvor: SERB * tasodifiy chapga yoki o'ngga burilishiga olib keladigan oddiy sinov dasturi. 0,1 dan 1 sekundgacha bo'lgan * tasodifiy vaqt oralig'ida. * Keyin SERB tasodifiy * 1 va 2 soniya oralig'ida oldinga siljiydi. Nihoyat * 2 soniya pauza qilib, qaytadan boshlang. * * Ulanish: O'ng Servo Signal - 9 -pin * Chap Servo Signal - 10 -pin * * Litsenziya: Bu ish Creative Commons * Attribution -Share Alike 3.0 Unported litsenziyasi ostida litsenziyalangan. * Ushbu litsenziya nusxasini ko'rish uchun * https://creativecommons.org/licenses/by-sa/3.0/ * ga tashrif buyuring yoki Creative Commons, 171 Second * Street, Suite 300, San-Frantsisko, Kaliforniya 94105, * AQSH. * */// --------------------------------------------- ----------------------------- // ARDUINO nazorati ostida xizmat ko'rsatuvchi robotning boshlanishi (serb) PREAMBLE #o'z ichiga #define LEFTSERVOPIN 10ni belgilang #RIGHTSERVOPINni aniqlang 9Servo chap Servo; Servo o'ng Servo; int tezligi = 100; // robot tezligini belgilaydi (ikkala servo) // foiz 0 dan 100 gacha // ARDUINO nazorati ostida xizmat ko'rsatuvchi robot (SERB) PREAMBLE // ---------------- -------------------------------------------------- --------/ * * pinlarni mos holatlarga o'rnatadi va servolarni biriktiradi. Keyin dastur boshlanishidan oldin 1 soniya davomida * pauza */ void setup () {serbSetup (); // barcha kerakli // pinlar holatini o'rnatadi va tasodifingizga tasodifni qo'shadi randomSeed (analogRead (0)); // tasodifiy sonli urug 'ni // bilan tasodifiy kechiktirishni o'rnatadi (1000);}/ * * robotni * 0,1 va 1 soniya orasida chapga yoki o'ngga (tasodifiy) aylantiradi. Tasodifiy vaqt oralig'ida oldinga siljishdan oldin * 1 dan 4 sekundgacha. Ikki soniya pauza qilishdan oldin * qaytadan boshlash. */Void loop () {turnRandom (100, 1000); // tasodifiy vaqt uchun.1 soniya // va bir soniya goForwardRandom (1000, 2000) oralig'ida tasodifiy ravishda chapga yoki o'ngga buriladi. // tasodifiy vaqt oralig'ida oldinga siljiydi // // 1 va 2 soniya orasida goStop (); // Robotning kechikishini to'xtatadi (2000); // 2 soniya pauza qiladi (to'xtab turganda)}/ * * robotni tasodifiy ravishda * minTime (millisekundlarda) va maxTime (millisekundlarda) */void turnRandom (int minTime, int maxTime) {int tanlov = tasodifiy (2); // qaror qabul qilish uchun tasodifiy son // chap (1) va o'ng (0) o'rtasida int turnTime = random (minTime, maxTime); // Pauza uchun tasodifiy son // vaqt (agar tanlov == 1) {goLeft ();} // Agar tasodifiy son = 1 bo'lsa, // chapga boshqa buriling {goRight ();} // Agar tasodifiy son = 0 bo'lsa burilish // o'ngga kechikish (turnTime); // tasodifiy vaqt uchun kechikish}/ * * tasodifiy vaqt oralig'ida minTime (millisekund) * va maxTime (millisekund) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = tasodifiy (minTime, maxTime); // tasodifiy vaqtni aniqlash // oldinga borish goForward (); // SERB oldinga siljishini o'rnatadi (forwardTime); // tasodifiy vaqt uchun kechikishlar} // ---------------------------------------- -------------------------------- // ARDUINO NAZORATLI SERVO ROBOTINING (SERB) ROUTINALARINING BOSHLANISI/ * * sizning arduino SERB -ga kiritilgan tartib yordamida*/void serbSetup () {setSpeed (tezlik); pinMode (LEFTSERVOPIN, OUTPUT); // chap servo signal pinini o'rnatadi // chiqish pinMode (RIGHTSERVOPIN, OUTPUT); // o'ng servo signal pinini o'rnatadi // leftServo.attach (LEFTSERVOPIN) chiqish uchun; // chap servo o'ngga qo'shiladiServo.attach (RIGHTSERVOPIN); // o'ng servo goStop ();}/ * * robot tezligini 0- (to'xtatilgan) va 100- (to'liq tezlik) oralig'ida o'rnatadi * QAYD: tezlik hozirgi tezlikni o'zgartirmaydi, siz tezlikni o'zgartirishingiz kerak *, so'ngra biriga qo'ng'iroq qiling O'zgarishlar sodir bo'lishidan oldin o'tish usullarining.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // agar tezlik 100 dan katta bo'lsa // uni 100 bo'lsa (newSpeed <= 0) {newSpeed = 0;} // agar tezlik 0dan kam bo'lsa // u 0 tezlik = newSpeed * 0,9; // tezlikni // bilan 0 dan 90 gacha o'lchaydi/ * * robotni oldinga yuboradi */void goForward () {leftServo.write (90 + tezlik); rightServo.write (90 - tezlik);}/ * * robotni orqaga qaytaradi */void goBackward () {leftServo.write (90 - tezlik); rightServo.write (90 + tezlik);} / * * robotni o'ngga yuboradi * /void goRight () {leftServo.write (90 + tezlik); rightServo.write (90 + tezlik);}/ * * robotni chapga yuboradi */void goLeft () {leftServo.write (90 tezlik); rightServo.write (90 - tezlik);}/ * * robotni to'xtatadi */void goStop () {leftServo.write (90); rightServo.write (90);} // ARDUINO boshqariladigan SERVO ROBOTI (SERB) ROUTINESINING oxiri // ---------------------------- -----------------------------------------------

7 -qadam: Bajarildi, qolganlar va kelajak

Tugadi, tugatgan boshqalar va kelajak
Tugadi, tugatgan boshqalar va kelajak
Bajarildi, tugatgan boshqalar va kelajak
Bajarildi, tugatgan boshqalar va kelajak
Tugadi, tugatgan boshqalar va kelajak
Tugadi, tugatgan boshqalar va kelajak
Tugadi, tugatgan boshqalar va kelajak
Tugadi, tugatgan boshqalar va kelajak

Sizni bu erga etib kelganingiz bilan tabriklayman va umid qilamanki, siz Arduino boshqariladigan servo robotidan (SERB) zavqlanasiz. Maykl Bekning SERB -Michael SERB rejalarini Thingiverse.com saytida topdi va uni sariq va qizil akrildan kesib tashladi. Menimcha, bu juda yaxshi ko'rinadi. Maykning SERB - Mayk (Sent -Luis shtatidagi ROBOMO robot -klubi) do'sti lazer bilan SERB shassisini kesib, uni ishga tushirish uchun o'z robot -nou -xauidan foydalangan. Menimcha, ko'k rangda qilingan ajoyib ko'rinadi. (bu haqda va uning boshqa robotlari haqida batafsil ma'lumot olish uchun uning veb -saytiga qarang) Agar siz tugatgan bo'lsangiz, menga fotosurat va bir nechta so'zlar bilan shaxsiy xabar yuboring (tavsif yoki veb -saytingizga havola) va men uni shu erga qo'shaman. ochiq manba kodli boshqa qiziqarli loyihalar uchun oomlout.com saytida ko'rsatma.

SANYO eneloop akkumulyator batareyalari tanlovida birinchi sovrin

Tavsiya: