Turinys:

„Arduino Mothbot“: 11 žingsnių (su nuotraukomis)
„Arduino Mothbot“: 11 žingsnių (su nuotraukomis)

Video: „Arduino Mothbot“: 11 žingsnių (su nuotraukomis)

Video: „Arduino Mothbot“: 11 žingsnių (su nuotraukomis)
Video: ECE 450 Lab 7: Mothbot 2024, Liepa
Anonim
Arduino kandis
Arduino kandis
Arduino kandis
Arduino kandis

Šio projekto tikslas yra suprojektuoti ir sukurti paprastą šviesą sekantį robotą naudojant „Arduino Duemilanove“mikrovaldiklio plokštę. Aš tikrai norėjau pasidalyti roboto projektu, kuris buvo pigus, paprastas pastatyti ir turėjo visą instrukcijų rinkinį visiems skirtingiems veiksmams. Tikiuosi, kad man pasisekė, ir norėčiau sulaukti komentarų, kaip tai padaryti dar geriau.

Šio roboto dizainas buvo sutelktas naudojant Massimo Banzi knygą „Getting Started with Arduino“ir paskelbta kartu su [makezine.com Make]. Aš taip pat panaudojau servo paleidimo kodą iš projekto pavadinimu: Kaip sukurti „Arduino“valdomą servo robotą (SERB). „Arduino Mothbot“iš viso yra gana greitai sukurtas robotas. Darant prielaidą, kad pradedate nuo visų dalių ir nereikia improvizuoti, projektas iš viso turėtų užtrukti gal valandą. Tai yra, jei vykdote instrukcijas ir nukopijuojate kodą. Tačiau jei vienu metu sukursite tik vieną funkciją ir išbandysite, šis projektas gali užtrukti žymiai ilgiau. Ilgesnės trasos pranašumas yra tas, kad jūs tikriausiai sužinosite daug daugiau ir smagiai praleisite kelią.

1 žingsnis: surinkite dalis ir įrankius

Šio roboto kūrimas jums kainuos maždaug 80 USD dalimis, jei niekada nieko panašaus nedarėte. Kaina man buvo žymiai mažesnė, nes turiu daug elektronikos, iš kurios galiu dirbti. Tačiau aš žinau, kaip gali būti apmaudu bandyti laikytis nurodymų, nežinant, kurias dalis įsigyti, iš kur užsisakyti ir kiek viskas kainuos iš anksto, todėl aš padariau visą tą darbą už jus. Kai visos dalys bus išlenktos kvadratu, turėtų būti akimirksniu atliktas šis projektas. Sekite šią nuorodą į mano projekto wiki, kad gautumėte išsamų dalių sąrašą. Arduino Mothbot dalių sąrašas

Dabar galbūt norėsite įsigyti tam tikrų įrankių. Kadangi šiame projekte naudojama be litavimo duonos lenta, galite apsieiti be daug išgalvotos elektroninės įrangos. Tikimės, kad likusius reikalingus daiktus rasite garaže: 1. Adatinės replės 2. Vielos pjaustytuvai 3. Atsuktuvas su plokščia galvute 4. Mažas „Phillips“(4 pusių) atsuktuvas 5. Reguliuojamas veržliaraktis arba 11/32 " šešiakampis veržliaraktis 6. Gręžtuvas 7. 1/16 ", 5/32" ir 7/32 "grąžtai 8. Pjūklas (neprivaloma) 9. Apsauginiai akiniai Naudodami bet kokius elektrinius įrankius, naudokite saugią praktiką.

2 žingsnis: planavimo etapas

Planavimo etapas
Planavimo etapas
Planavimo etapas
Planavimo etapas

Prieš pradėdamas šį projektą, apžvelgiau „Instructables“daugybę kitų projektų. Taip pat šiek tiek laiko praleidau skaitydamas Massimo Banzi knygą „Darbo su Arduino pradžia“. Beveik viskas šiame projekte yra padaryta iš pavyzdžio šioje svetainėje arba knygoje. Aš taip suprojektavau projektą, bandydamas padaryti jį prieinamą pradedantiesiems robotams.

Planavimo etape aš ne tik žiūrėjau į aparatūrą ir kodavimą, bet ir atlikau namų elektronikos darbus. Norėjau parengti paprastą šio projekto elektronikos schemą, kad galėčiau sekti tai, kas vyksta ją kuriant. Paveikslėlyje galite pamatyti skirtingus komponentus, elektros linijas ir „Arduino“kaiščius. Tikimės, kad tai aiški schema ir taip pat parodo, kaip paprasta šio projekto elektronika.

3 žingsnis: „Servo“prijungimas prie „Arduino“

Servo prijungimas prie „Arduino“
Servo prijungimas prie „Arduino“
Servo prijungimas prie „Arduino“
Servo prijungimas prie „Arduino“
Servo prijungimas prie „Arduino“
Servo prijungimas prie „Arduino“

Jei ketinate sukurti robotą, pirmiausia turėsite išsiaiškinti, kaip jį judinti. Labiausiai tikėtina, kad norite jį siųsti į priekį, atgal, į dešinę, į kairę ir sustabdyti. Jei negalite suprasti, kaip įsakyti, kad jis tinkamai judėtų, greičiausiai negalėsite nieko padaryti, kai prijungsite visus jutiklius. Žemiau yra žingsniai, kaip prijungti variklį prie „Arduino“.

1. Pirmas dalykas, kurį reikia padaryti nustatant be litavimo duonos lentą, yra servo žemės (GND) ir maitinimo (+6 V) nustatymas. Aš nusprendžiau naudoti dvi ilgas juosteles ant lentos, kurios būtų arčiausiai „Arduino“. 2. Nustačius įžeminimo ir elektros linijas, prijunkite „Arduino“plokštės žemę prie įžeminimo juostos be litavimo lentos. Dar neprijunkite maitinimo šaltinio prie be litavimo skirtos duonos lentos. 3. Kiekvienas servo turi tris laidus, kurie išeina iš jų. Mano kiekviena turi juodą, raudoną ir baltą vielą. Juoda skirta įžeminimui, raudona - galiai, o balta - valdymo laidas. Kiekvienam to paties dydžio servui (taigi iš viso 6) nupjaukite tris trumpiklius. 4. Pritvirtinkite jungiamuosius laidus prie servo laidų galo, o po to kiekvieną servo prie be litavimo duonos lentos. 5. Dabar naudokite trumpiklius, kad prijungtumėte žemę ir maitinimą iš kiekvieno servo prie žemės ir be litavimo duonos lentos. 6. Dabar prijunkite valdymo laidus iš kiekvieno servo prie „Arduino“. Prijunkite kairįjį servo prie skaitmeninės išvesties (PWM) 3, o dešinįjį - prie skaitmeninės išvesties (PWM) 11. 7. Galiausiai prijunkite žemę ir maitinimą iš 4AA baterijų prie be litavimo skirtos lentos įžeminimo ir maitinimo. Nesijaudinkite, jei servos pradeda judėti, kai jūsų „Arduino“neturi maitinimo arba dar nėra užprogramuotas. 8. Naudodamiesi kodu, dabar galėsite naudoti variklius pirmyn, atgal, kairėn arba dešinėn, naudodami įtrauktas funkcijas.

4 žingsnis: išbandykite variklius

Manau, kad svarbu įtraukti kai kuriuos bandymo kodus, kuriuos naudoju sudedant „Arduino Mothbot“. Jei jus domina ir norite skirti laiko apmąstymams, manau, kad šie kodo fragmentai bus edukaciniai ir naudingi kituose projektuose. Prieš paskelbdamas žemiau esantį kodą, noriu pranešti, kad tai yra paremta kitu puikiu projektu „Kaip sukurti„ Arduino “valdomą servo robotą (SERB). Aš daug išmokau sekdamas tą pamokomą darbą ir noriu atsidėkoti ten, kur reikia.

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

5 veiksmas: įjungimo/išjungimo mygtuko integravimas

Įjungimo/išjungimo mygtuko integravimas
Įjungimo/išjungimo mygtuko integravimas
Įjungimo/išjungimo mygtuko integravimas
Įjungimo/išjungimo mygtuko integravimas
Įjungimo/išjungimo mygtuko integravimas
Įjungimo/išjungimo mygtuko integravimas
Įjungimo/išjungimo mygtuko integravimas
Įjungimo/išjungimo mygtuko integravimas

Dabar galbūt norėsite įjungti ir išjungti robotą vienu mygtuko paspaudimu. Pats „Arduino“vykdys kodą begaline kilpa, kol jį atjungsite, o tai gali būti gana varginanti, kai prijungsite robotą prie stalo ir jis pradės bėgti nuo jūsų! Mygtuko integravimas yra puikus žingsnis šiame procese, nes taip pat sužinosite, kaip naudoti mygtukus kitiems dalykams, pvz., Sukurti buferį, kad būtų galima nustatyti, kada robotas atsitrenkia į sieną. Kaip pastaba pastebėsite, kad pašalinau servo daugiasluoksnė mano paveikslų lentelė be litavimo. Tai tik padeda padaryti vaizdą aiškesnį, kai rodau skirtingus veiksmus. Norėdami pradėti, prieš atlikdami kitus darbus, atjunkite maitinimą nuo servo variklių. Nepamirškite to daryti kiekvieną kartą, kai ką nors pridedate prie šio projekto.2. Dabar galbūt norėsite įjungti ir išjungti savo robotą, o ne tada, kai robotas iškart pradės judėti, kai prijungsite maitinimą. Nustatykite juostelę, esančią priešingoje be litavimo duonos lentos pusėje, kad galėtumėte įjungti/išjungti mygtuką (o vėliau ir jutiklius). Naudodami ilgą trumpiklį, prijunkite „Arduino“maitinimą (+5 V) prie ką tik nustatytos juostos. Prijunkite du trumpalaikius laidus prie momentinio jungiklio ir vieną galą prijunkite prie (+5 V) maitinimo6. Kitą momentinio jungiklio galą įkiškite į mažesnę juostelę be litavimo duonos lentos viduryje.7. Iš tos pačios juostos prijunkite 10K omo rezistorių prie juostos, o kitą galą į žemę8. Galiausiai prijunkite laidą iš juostos su jungikliu ir rezistoriumi viename gale, o kitą galą įkiškite į „Arduino“skaitmeninę įvestį 7. Dabar, turėdami kodą, turėtumėte naudoti mygtuką, kad įjungtumėte ir išjungtumėte robotą. Jei naudosite kodą su šviesos diodu (skaitmeninė išvestis 13), pamatysite, kad kartu su robotu įjungiamas ir išjungiamas borto LED. Tai puikus būdas išbandyti „Arduino“kodą, jei turite atjungtų variklių maitinimą.

6 veiksmas: įjungimo/išjungimo mygtuko testavimas

Šis naujas kodas apima informaciją apie įjungimo/išjungimo mygtuko naudojimą ir blykstės šviesos diodo mirksėjimą.

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

7 žingsnis: integruokite šviesos jutiklius

Šviesos jutiklių integravimas
Šviesos jutiklių integravimas
Šviesos jutiklių integravimas
Šviesos jutiklių integravimas
Šviesos jutiklių integravimas
Šviesos jutiklių integravimas

Kas būtų „Arduino Mothbot“, jei jame nebūtų šviesos jutiklių? Šio paprasto projekto esmė yra sukurti robotą, kuris pritrauktų ryškiausią šviesą. Tam turėsime integruoti kai kuriuos šviesos jutiklius, dar žinomus kaip fotorezistoriai.

1. Prieš atlikdami šį veiksmą, dar kartą atjunkite maitinimą nuo servo variklių. 2. Šviesos jutiklių nustatymas bus atliekamas du kartus. Tai beveik tokia pati sąranka kaip momentinis jungiklis. Tiesą sakant, tai yra ta pati sąranka, tačiau šį kartą vietoj momentinio jungiklio naudosite šviesos jutiklį (fotorezistorių). 3. Kadangi šis robotas naudos du šviesos jutiklius, kad pasirinktų važiavimo kryptį, rekomenduojama kiekvieną šviesos daviklį pastatyti priešingose lituotinės duonos plokštės pusėse arba kuo toliau vienas nuo kito. 4. Prijunkite vieną šviesos jutiklio galą prie (+5 V) elektros linijos, o kitą galą - prie mažos juostelės plokštės centre. 5. Prie tos pačios juostos prijunkite 10 kΩ rezistorių, o kitą galą - prie žemės. 6. Dabar prijunkite trumpą laidą iš mažos juostelės (kur prijungtas foto rezistorius ir įprastas rezistorius), o kitą galą prijunkite prie analoginio įėjimo. 7. Prijunkite kairįjį jutiklį prie „Arduino“analoginio įvesties 0, o dešinįjį - prie 1 analoginio įėjimo. 8. Dabar turėtumėte naudoti šviesos jutiklius, kad galėtumėte perkelti servoservis.

8 žingsnis: galutinis kodas

Galutinis kodeksas
Galutinis kodeksas
Galutinis kodeksas
Galutinis kodeksas

Čia yra galutinis kodas, naudojamas „Arduino Mothbot“paleisti. Į kodą įtraukiau spausdinimo pareiškimus į „Arduino“nuoseklųjį prievadą. Jei „Arduino“prijungtas per kompiuterio USB prievadą, turėtumėte matyti spausdintinius teiginius, nurodančius, kokiu keliu robotas planuoja eiti. Galbūt norėsite pakoreguoti šviesos jutiklio slenksčio vertę, kad tiksliai sureguliuotumėte roboto elgesį. Slenkstis daugiausia priklauso nuo jūsų jutiklių ir vietos, kurioje esate, aplinkos šviesos.

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

9 žingsnis: sukurkite „Mothbot“kūną

Sukurkite „Mothbot“kūną
Sukurkite „Mothbot“kūną
Sukurkite „Mothbot“kūną
Sukurkite „Mothbot“kūną
Sukurkite „Mothbot“kūną
Sukurkite „Mothbot“kūną

Jūsų kuriamas robotas tikrai nėra geras, nebent jis gali išlaikyti save kartu. Dėl šios priežasties jam reikia kūno. Aš stengiausi, kad tai būtų kuo paprastesnis statybos projektas. Tačiau, norėdami išsiaiškinti teisingus matavimus, turėsite šiek tiek padirbėti. Siūlau senatvės „du kartus matuok, vieną kartą pjauk“metodą.1. Roboto korpusas pagamintas iš mažo tuopų medienos lakšto, kurį nusipirkau techninės įrangos parduotuvėje iki 6 "x 24". Aš sumažinau savo iki 6 "x 8", naudodami pjūklą, pateiktą techninės įrangos parduotuvėje. Tada aš išgręžiau skyles link plokštės priekio, kad pritvirtinčiau kiekvienos servo servo laikiklius. Tam naudojau 5/32 "dydžio grąžtą.3. Taip pat išgręžiau skylę lentos gale, skirtą ratukui, kuris subalansuoja robotą. Tam naudojau 7/32" dydžio grąžtą. Aš nusprendžiau naudoti šiek tiek mažesnį gręžtuvą, kad su ratuko ratu būtų galima tvirtai prisitvirtinti, nes aš jo nenaudojau veržlės ir varžto deriniu. Tada laikiklius prie lentos pritvirtinau veržlėmis ir varžtais. Tai buvo padaryta naudojant plokščią galvutę atsuktuvą ir reguliuojamą veržliaraktį. Pritvirtinus laikiklius, kiekvieną servo servetėlę pritvirtinau veržlėmis ir varžtais. 6. Galiausiai ratuką įstumiau į visumą.

10 žingsnis: padarykite ratus

Ratų gamyba
Ratų gamyba
Ratų gamyba
Ratų gamyba

Ratai man buvo kebli problema. Aš iš tikrųjų turėjau sertifikuotus robotų ratus, bet supratau, kad jie yra a) per sunkūs ir b) neturėjau galimybės jų pritvirtinti prie pasirinktų servo. Štai tada prisiminiau, kad panašiame projekte vidurinėje mokykloje naudojau stiklainių dangčius. Taigi jis nuėjo į parduotuvę, ieškodamas tinkamos alternatyvos roboto ratams. Kiekvienas ratas pagamintas iš dangčio iš „Ziploc Twist 'n Loc“konteinerio. Kiti geri dangteliai yra ant žemės riešutų sviesto stiklainių ar kitų maisto produktų. Aš nesakau, kad reikia švaistyti maistą, bet sutaupykite dangčius ir galbūt rasite, kad jūsų roboto projektui tinkamas dydis. Likusias talpas naudoju surinktoms dalims laikyti. Pirmas dalykas, kurį aš padariau, buvo pasirinkti servo ragą, kurio norėjau ratams. Aš pasirinkau tuos, kurie turėjo keturis ragus ir kurie buvo įtraukti į mano servus, kai juos nusipirkau. Prieš ką nors darydami, rato centre išgręžkite skylę. Rekomenduoju tai padaryti su 5/32 colio grąžtu. Jums to prireiks, kad galėtumėte patekti prie varžto, jungiančio ragą su servo sistema. 4. Dabar užsukite dangtelį prie rago. Naudojau keturis varžtus su kiekvienu servo, kad prijungtumėte dangčius prie ragų. Tai gali būti lengviau, jei iš anksto išgręžite mažas skylutes per dangtį, kaip aš. Aš tam naudoju 1/16 colio grąžtą. Tačiau būkite atsargūs, gręžti per šį plastiką sunkiu grąžtu ir mažu gabalėliu gali būti sunku. Dabar prijunkite ragus prie servo, naudodami mažą „Phillips“(4 pusių) atsuktuvą. Galiausiai apvyniokite gumines juostas aplink kiekvieną ratą, kad suteiktumėte daugiau sukibimo. Gumines juostas gavau iš produktų, kuriuos pirkau maisto prekių parduotuvėje. Tikimės, kad keli guli. 7. Šiuo metu reikia surinkti visą kėbulą ir ratus.

11 veiksmas: užpildykite „Arduino Mothbot“

Užbaigti „Arduino Mothbot“
Užbaigti „Arduino Mothbot“

Sumontavus korpusą ir ratus, lengva pastatyti „Arduino“ir be litavimo duonos lentą tiesiog ant roboto korpuso. Įsitikinkite, kad vis tiek galite pasiekti „Arduino“USB įvestį, jei jums reikės pakeisti programavimą. Po kiekviena juoda elektros juosta pritvirtinau juos prie kūno. Elektrinę juostą lengva nuimti ir ji gana gerai laikosi.1. Užklijuokite „Arduino“ir be litavimo duonos lentą prie jūsų sukurto roboto korpuso viršaus. Vėl naudojant juostą, gera idėja prijungti 4AA baterijos laikiklį ir 9V bateriją prie korpuso. Įsitikinkite, kad laidai pasiekia.3. Prijunkite servo laidus prie lituoklio neturinčios duonos lentos, jei anksčiau buvote juos pašalinę. Prijunkite „Arduino“maitinimą5. Prijunkite servo variklio maitinimą6. Dabar padėkite robotą ant žemės ir paspauskite įjungimo/išjungimo jungiklį! Dabar jis turėtų atgyti ir persekioti šviesą po kambarį:) Kaip būsimą papildomą projektą norėčiau įtraukti paprastą buferį arba sienos jutiklį. Tai būtų jungiklis, panašiai kaip šiame projekte naudojamas įjungimo/išjungimo mygtukas. Tačiau, paspaudus mygtuką, robotas lieps pakeisti kryptį, pasukti į kairę arba į dešinę ir tęsti programą. Kai tai bus baigta, šis robotas būtų puiki maža kitų jutiklių ir prietaisų bandymo platforma.

Rekomenduojamas: