Përmbajtje:

Roboti Servo i kontrolluar nga Arduino (SERB): 7 hapa (me fotografi)
Roboti Servo i kontrolluar nga Arduino (SERB): 7 hapa (me fotografi)

Video: Roboti Servo i kontrolluar nga Arduino (SERB): 7 hapa (me fotografi)

Video: Roboti Servo i kontrolluar nga Arduino (SERB): 7 hapa (me fotografi)
Video: Arduino tutorial 7- How to control Servo motor with Arduino (code explained) | using servo library 2024, Korrik
Anonim
Roboti Servo i kontrolluar nga Arduino (SERB)
Roboti Servo i kontrolluar nga Arduino (SERB)
Roboti Servo i kontrolluar nga Arduino (SERB)
Roboti Servo i kontrolluar nga Arduino (SERB)
Roboti Servo i kontrolluar nga Arduino (SERB)
Roboti Servo i kontrolluar nga Arduino (SERB)
Roboti Servo i kontrolluar nga Arduino (SERB)
Roboti Servo i kontrolluar nga Arduino (SERB)

Cila mënyrë më e mirë për të filluar eksperimentimin me mikrokontrolluesit me burim të hapur (Arduino) pastaj duke ndërtuar robotin tuaj me burim të hapur (CC (SA -BY))? Çfarë të bëni me SERB -in tuaj?

  • (këtu) - Si ta lidhni SERB -in tuaj në internet dhe ta drejtoni atë përmes një video thirrjeje në Skype.
  • (këtu) - Si të kontrolloni SERB -in tuaj duke përdorur përshpejtuesit e Wii nunchuck
  • (këtu) - Si të shtoni mustaqet për zbulimin e pengesave në robotin tuaj
  • (këtu) - Si të bëni 30 komplete (Prodhim i Hapur)

Karakteristikat:

  • Plotësisht i programueshëm duke përdorur një mikrokontrollues Arduino Duemilanove (ose një mikrokontrollues tjetër sipas zgjedhjes suaj).
  • Nuk ka nevojë të bashkohet.
  • Zgjedhja e opsioneve të prerjes për copa akrilike. (sharrë rrotullimi, qasje në një prestar lazer, blerja e pjesëve të prera paraprakisht)
  • Lehtësisht i zgjerueshëm dhe i modifikueshëm me vrima shtesë të bulonave dhe dërrasë buke të përfshirë.
  • Rrota e pasme e dyfishtë me top.
  • Fillon dhe funksionon në 1-2 orë. (nga kompleti)
  • Dizajn me burim të hapur (krijoni sa të doni)

(Prizë e paturpshme) Në Mbretërinë e Bashkuar dhe ju pëlqejnë gjërat Arduino? shikoni dyqanin tonë të sapohapur në internet oomlout.co.uk Një video e shpejtë e një roboti servo të kontrolluar nga Arduino i përfunduar - (SERB) që ekzekuton programin e përfshirë të testimit (hapi 6) Shënim: Skedarët burim janë në dispozicion në një Instructable paralel (Burimet për) Si të bëni një servo robot të kontrolluar nga Arduino - (SERB)

Hapi 1: Pjesët dhe mjetet

Pjesë & Mjete
Pjesë & Mjete

Të gjitha bulonat mund të gjenden në Home Depot tuaj lokale. Pjesët e tjera mund të gjenden në internet (kam përfshirë një lidhje me burimin tim të preferuar për secilën). Lista e Pjesëve: Një pako që përmban të gjithë artikujt e harduerit mund të blihet në dyqanin e oomlout.com (këtu) ($ 120) Arra dhe bulona:

  • 3mm x 15mm rrufe në qiell (x20)
  • Rrufe në qiell 3mm x 10mm (x12)
  • Arrë 3 mm (x34)
  • Rondele 3 mm (x12)
  • Rrufe 8mm x 25mm (x2)
  • Arrë 8 mm (x2)
  • Kushineta Skate (x2) (VXB) (këto janë kushineta standarde të patina, kështu që ato mund të shpëtohen nga një palë tehe me rrota ose një skateboard)

Goma

  • Unazë e madhe O (4.5 "ID 3/16" Bead Dash #349) (x2) (Produkti McMaster-Carr #9452K407)
  • Unazë e vogël O (3/4 "ID 3/16" Bead Dash #314) (x1) (Produkti McMaster-Carr #9452K387)

Elektronikë

  • Arduino Duemilanove (x1) (Maker Shed)
  • Servo e rrotullimit të vazhdueshëm (x2) (Paralaks)
  • 400 Kontakt Breadboard (x1) (Të gjitha pajisjet elektronike))
  • Kutia e baterisë me katër AA (x1) (Të gjitha pajisjet elektronike)
  • Kapës baterie 9V (x1) (Të gjitha pajisjet elektronike)
  • Prizë 2.1 mm (x1) (Të gjitha pajisjet elektronike)
  • Koka me 3 kunja (x2) (Të gjitha pajisjet elektronike)
  • Kabllo USB A -B - Stili i Printerit (x1) (Të gjitha Elektronikat) (nuk përfshihen në komplet)

Bateritë:

  • Bateria AA (x4) (nuk përfshihet në komplet)
  • Bateri 9v (x1) (nuk përfshihet në komplet)

Tela: (i gjithë teli është 22 AWG i fortë, unë e blej timen përmes McMaster-Carr)

  • 15 cm Vjollcë (x2)
  • 15 cm E zezë (x1)
  • 5 cm E zezë (x2)
  • 5 cm E kuqe (x2)

Mjetet

  • Kaçavidë (x1) (Philips)
  • Pincë me hundë me gjilpërë (x1)

Hapi 2: Prerja e Copave

Prerja e Copave
Prerja e Copave
Prerja e Copave
Prerja e Copave
Prerja e Copave
Prerja e Copave
Prerja e Copave
Prerja e Copave

Ju lutemi zgjidhni cilat hapa të ndiqni bazuar në opsionin e prerjes që keni zgjedhur. Opsioni 1 (Blerja e pjesëve të prera paraprakisht)

Blini një shasi të prerë paraprakisht nga dyqani i oomlout.com (këtu) (60 dollarë përfshirë transportin në SHBA dhe Kanada)

Opsioni 2 (Prodhimi dixhital (p.sh. Ponoko) / Qasja në një prestar lazer)

  • Shkarkoni paraqitjen e prerëses lazer ("03 SERB Ponoko Cutting Layout P2.eps" ose "03- (SERB) -Ponoko Prerja e Prerjes (P2).cdr")
  • Pritini skedarët duke përdorur Ponoko ose në Laser Cutter tuaj (duke përdorur akrilik 3mm,.118 "(ndonjëherë shitet si.125")

Opsioni 3 (Shihni sharrën dhe stërviteni)

  • Shkarkoni dhe printoni modelin PDF (ju lutemi zgjidhni skedarin që korrespondon me madhësinë e letrës suaj) 03- (SERB) -Shkoni ScrollSaw (letër).pdf 03- (SERB) -ShkoniSawroll Model (A4).pdf (është e rëndësishme të mos shkallëzoni vizatimi gjatë shtypjes)
  • Matni vizoren në printim kundër një sundimtari të cilit i besoni, nëse ato nuk përputhen me modelin është shkallëzuar dhe ju duhet të shikoni cilësimet e printerit tuaj para se të ribotoni. Nëse ato përputhen, në vazhdim.
  • Ngjiteni modelin në fletën akrilike (3mm,.118 "(ndonjëherë shitet si.125").
  • Stërvitni vrima.
  • Pjesë të prera duke përdorur një sharrë rrotullimi

Hapi 3: Montimi

Kuvendi
Kuvendi
Kuvendi
Kuvendi
Kuvendi
Kuvendi

Urime që e keni përfunduar deri tani 90% e procesit është i plotë vetëm shkarkoni udhëzimet e montimit në këtë hap (04- (SERB) -Assemble Guide.pdf) & pas një montimi të vogël të stilit lego/mekano do të jeni gati për tel. Për t'ju argëtuar gjatë rrugës këtu është një kalim kohe i asamblesë sime:

Hapi 4: Instalimet elektrike

Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike

Me të gjitha pjesët e mëdha së bashku është koha për të shtuar venat e vogla elektrike të cilat do të lejojnë që roboti ynë të kontrollohet. Për ta bërë këtë, shkarkoni dhe printoni diagramin e instalimeve elektrike (05- (SERB)-Diagrami i telave.pdf). Një shikim i parë në të mund të duket mjaft i frikshëm, megjithatë nëse e bëni secilën lidhje në mënyrë të njëpasnjëshme dhe merrni kohën tuaj, ajo bashkohet jashtëzakonisht shpejt. Instalimet elektrike janë mjaft të thjeshta dhe asnjë dëm nuk mund të vijë në qarkun tuaj derisa të shtoni bateri. Pra, lidhni gjithçka gjithçka, kontrolloni dy herë, pastaj shtoni energji.

Hapi 5: Testimi dhe zgjidhja e problemeve

Testimi dhe zgjidhja e problemeve
Testimi dhe zgjidhja e problemeve

Nëse keni porositur një çantë, Arduino juaj është para -ngarkuar me një program testimi. Thjesht vendosni 4 bateri AA dhe futeni baterinë 9v në Arduino. Dhe nëse gjithçka është bërë në mënyrë korrekte, roboti juaj do të fillojë të lëvizë (ai do të kthehet në një drejtim të rastit për një kohë midis 0.1 dhe 1 sekondë para se të shkoni përpara për një kohë të rastësishme midis 1 dhe 2 sekonda, pastaj ndaloni për 2 sekonda para se të filloni përsëri). Nëse nuk keni blerë një çantë, kërkohet një hap shtesë. Shkarkoni skedarin zip të bashkangjitur (07- (SERB)-SERB-Test Arduino Program.zip). Pastaj hapeni atë në drejtorinë tuaj të skicimit Arduino (parazgjedhja "Dokumentet e mia / Arduino \") dhe shkarkojeni në bordin tuaj arduino. (nëse jeni i ri në Arduino hidheni përpara një hap ku ka lidhje me mësimet e shkëlqyeshme të fillimit) Problemet e zakonshme: SERB -i im lëviz ngadalë kur duhet ndalur. Ky është rezultat i servos tuaj që nuk janë kalibruar në mënyrë të duhur, për të kalibruar servot tuaj prisni derisa programi juaj të ketë ndaluar servot, pastaj me një kaçavidë të vogël ktheni potenciometrin brenda servo (hapja e vogël në shtresën e servo -së pikërisht aty ku janë telat)) Rrotulloni atë majtas ose djathtas derisa servo të ndalet vërtet. Gjërat nuk po funksionojnë siç duhet. Na dërgoni një e-mail me simptomat tuaja dhe ne do të përpiqemi t'ju ndihmojmë, ndërsa jeni duke pritur për një përgjigje, kontrolloni dy herë të gjitha telat tuaj me diagramin e instalimeve elektrike nga hapi 4. Nëse hasni ndonjë problem, ju lutemi ose shtoni një koment në këtë Instructable ose dërgoni një e-mail në [email protected] dhe ne do të përpiqemi më të mirën për t'ju ndihmuar të punoni SERB-in tuaj

Hapi 6: Programimi

Programimi
Programimi

Roboti fizik ka mbaruar kohën për të filluar t'i japë atij një tru. Para se të hyjmë në detajet e programimit të një Arduino të kontrolluar Servo Robot - (SERB) - disa lidhje me disa burime të shkëlqyera programimi Arduino në internet. Arduino Starter Guide - Një udhëzues për t'ju ndihmuar të filloni me Arduinos, nga shkarkimi i mjedisit të programimit deri në shkrimin e programit tuaj të parë. Referenca e Programimit Arduino - Një udhëzues i plotë për referencën e lehtë për gjuhën e programimit Arduino. Si Servos Work - Një abetare e shpejtë për mënyrën e funksionimit të servo motorëve. Biblioteka Arduino Servo - Si funksionon biblioteka Arduino Servo (si i kontrollojmë shërbimet tona). Në rregull me mësimin jashtë rrugës ju lejon të merrni programim. Ekzistojnë tre mënyra për të filluar programimin e Robotit tuaj të kontrolluar nga Arduino - (SERB). Opsioni 1: (Ndryshimi i SERB_Test.pde) Ndonjëherë kur programoni gjëja më e lehtë për të bërë është të merrni një program pune dhe të filloni të shtoni kodin tuaj në të. Për ta bërë këtë shkarkoni programin e zipuar SERB_Test (07- (SERB)-SERB-Test Arduino Program.zip). Vazhdoni ta zbërtheni këtë në dosjen tuaj të skicës Arduino (parazgjedhja "Dokumentet e mia / Arduino \"). Më në fund hapni mjedisin e programimit Arduino dhe shkarkojeni atë në Arduino tuaj. Kodi është i komentuar mirë. (Ose kopjoni dhe ngjisni kodin nga shtojca në këtë hap në një Skicë të re Arduino) Opsioni 2: (Shtimi i rutinave SERB në programin tuaj) Shtoni disa rutina të thjeshta në programin tuaj para-ekzistues (si goForward (), setSpeed (int) etj). Për ta bërë këtë, shkarkoni rutinat në skedarin e tekstit (07- (SERB)- Simple Routines Text.txt). 1. Kopjoni dhe ngjisni pjesën e parathënies në fillim të programit tuaj.2. Kopjoni dhe ngjisni pjesën rutinë në trupin e programit tuaj. Shtoni një telefonatë në serbSetup (); në rutinën tuaj të konfigurimit (). Opsioni 3: (Krijimi i programit tuaj nga e para) Kjo nuk është shumë e vështirë. E tëra çfarë kërkohet është të njiheni me Bibliotekën Arduino Servo. Pastaj servo e djathtë është e lidhur me pin 9, dhe servo e majtë me pin 10.nënim: Programet shtesë do të shtohen këtu ndërsa zhvillohen; ose nëse zhvilloni diçka dhe dëshironi që ajo të shfaqet më dërgoni një mesazh privat dhe mund të shtohet. Shtojca: (Kodi SERB_Test.pde)

/ * * Arduino Controlled Servo Robot (SERB) - Programi i Testit * Për më shumë detaje vizitoni: https://www.oomlout.com/serb * * Sjellja: Një program i thjeshtë testimi i cili bën që SERB * të kthehet rastësisht majtas ose djathtas për një periudhë kohore * të rastësishme midis 0.1 dhe 1 sekondë. * SERB pastaj do të ecë përpara për një periudhë të rastësishme * kohore midis 1 dhe 2 sekonda. Së fundi * pauzë për 2 sekonda para se të filloni përsëri. * * Instalimet: Sinjali Servo i Djathtë - pin 9 * Sinjali Servo i Majtë - pin 10 * * Licenca: Kjo punë është e licencuar sipas Creative Commons * Attribution -Share Alike 3.0 Licencë e paportuar. Për të * parë një kopje të kësaj licence, vizitoni * https://creativecommons.org/licenses/by-sa/3.0/ * ose dërgoni një letër Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105, * SHBA. * */// ------------------------------------------------- ------------------------ 9Servo majtëServo; Servo rightServo; int shpejtësia = 100; // cakton shpejtësinë e robotit (të dy servos) // një përqindje midis 0 dhe 100 // FUNDI I ARDUINO PARANDALUESIT SERVO ROBOT (SERB) // ---------------- ------------------------------------------------------ --------/ * * vendos kunjat në gjendjet e përshtatshme dhe bashkon servot. Pastaj ndalet * për 1 sekondë para fillimit të programit */ void setup () {serbSetup (); // vendos gjendjen e të gjitha kunjave të nevojshëm // dhe shton servos në skicën tuaj randomSeed (analogRead (0)); // vendos farën e numrit të rastit me // diçka vonesë të lehtë të rastësishme (1000);}/ * * e kthen robotin majtas ose djathtas (rastësisht) për një periudhë midis * 0.1 dhe 1 sekondë. Para se të shkoni përpara për një periudhë të rastësishme kohore * midis 1 dhe 4 sekonda. Para se të bëni pauzë për dy sekonda dhe pastaj të filloni përsëri *. */Void loop () {turnRandom (100, 1000); // Kthen rastësisht majtas ose djathtas për një periudhë // rastësore midis.1 sekondës // dhe një sekonde goForwardRandom (1000, 2000); // Shkon përpara për një periudhë të rastësishme kohore // midis // 1 dhe 2 sekonda goStop (); // Ndalon vonesën e robotit (2000); // ndalon për 2 sekonda (ndërsa ndalet)}/ * * e kthen robotin rastësisht majtas ose djathtas për një periudhë të rastësishme kohore midis * minTime (milisekonda) dhe maxTime (milisekonda) */void turnRandom (int minTime, int maxTime) {int zgjedhje = e rastit (2); // Numri i rastësishëm për të vendosur // midis majtas (1) dhe djathtas (0) int turnTime = rastësor (minTime, maxTime); // Numri i rastësishëm për pauzën // koha nëse (zgjedhja == 1) {goLeft ();} // Nëse numri i rastësishëm = 1 atëherë kthehuni // majtas tjetër {goRight ();} // Nëse numri i rastësishëm = 0 atëherë kthesë // vonesë në të djathtë (turnTime); // vonesa për kohën e rastësishme}/ * * shkon përpara për një periudhë të rastësishme kohore midis minTime (milisekonda) * dhe maxTime (milisekonda) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = rastësore (minTime, maxTime); // përcaktoni një kohë të rastësishme për të // shkuar përpara goForward (); // vendos vonesën e SERB përpara (forwardTime); // vonesa për një periudhë të rastësishme kohore} // -------------------------------------------- ------------------------ arduino për t'iu drejtuar SERB -it tuaj duke përdorur rutinat e përfshira*/void serbSetup () {setSpeed (shpejtësia); pinMode (LEFTSERVOPIN, OUTPUT); // vendos pinin e sinjalit servo të majtë // në daljen pinMode (RIGHTSERVOPIN, OUTPUT); // vendos pinin e sinjalit të servo të djathtë // për të dalë leftServo.attach (LEFTSERVOPIN); // bashkon servo majtas rightServo.attach (RIGHTSERVOPIN); // bashkon servo goStop ();}/ * * vendos shpejtësinë e robotit midis 0- (ndaluar) dhe 100- (shpejtësia e plotë) * SHENIM: shpejtësia nuk do të ndryshojë shpejtësinë aktuale ju duhet të ndryshoni shpejtësinë * pastaj telefononi një të metodave të lëvizjes para se të ndodhin ndryshimet.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // nëse shpejtësia është më e madhe se 100 // bëjeni 100 nëse (newSpeed <= 0) {newSpeed = 0;} // nëse shpejtësia është më e vogël se 0 bëjeni // atë 0 shpejtësi = newSpeed * 0.9; // shkallëzon shpejtësinë që të jetë // midis 0 dhe 90}/ * * dërgon robotin përpara */void goForward () {leftServo.write (90 + shpejtësi); rightServo.write (90 - shpejtësi);}/ * * dërgon robotin prapa */void goBackward () {leftServo.write (90 - shpejtësi); rightServo.write (90 + shpejtësi);} / * * dërgon robotin djathtas * /void goRight () {leftServo.write (90 + shpejtësi); rightServo.write (90 + shpejtësi);}/ * * dërgon robotin majtas */void goLeft () {leftServo.write (90 - shpejtësi); rightServo.write (90 - shpejtësi);}/ * * ndal robotin */void goStop () {leftServo.write (90); rightServo.write (90);} // FUNDI I RUTINAVE SERVO ROBOT (SERB) TT KONTROLLUARA ARDUINO // ---------------------------- --------------------------------------------------

Hapi 7: Të përfunduar, të tjerët që kanë përfunduar dhe e ardhmja

Të përfunduar, të tjerët që kanë përfunduar dhe e ardhmja
Të përfunduar, të tjerët që kanë përfunduar dhe e ardhmja
Të përfunduar, të tjerët që kanë përfunduar dhe e ardhmja
Të përfunduar, të tjerët që kanë përfunduar dhe e ardhmja
Të përfunduar, të tjerët që kanë përfunduar dhe e ardhmja
Të përfunduar, të tjerët që kanë përfunduar dhe e ardhmja
Të përfunduar, të tjerët që kanë përfunduar dhe e ardhmja
Të përfunduar, të tjerët që kanë përfunduar dhe e ardhmja

Urime për arritjen deri këtu dhe shpresoj se po argëtoheni me robotin tuaj të kontrolluar Arduino - (SERB). SERB i Michael Beck -Michael i gjeti planet për SERB në Thingiverse.com dhe e preu atë nga akriliku i verdhë dhe i kuq. Unë mendoj se duket e mrekullueshme. SERB i Majkut - Mike (nga klubi robotik St. Louis Area ROBOMO) një shok lazeri preu një shasi SERB dhe përdori njohurinë e tij robotike për ta vënë atë në punë. Unë mendoj se duket e mrekullueshme e bërë në ngjyrë blu. (shikoni faqen e tij të internetit për detaje mbi këtë si dhe robotët e tij të tjerë (këtu) Ky seksion do të ketë detaje mbi zhvillimet dhe bashkëngjitjet e ardhshme (ato do të shfaqen këtu para se të dokumentohen siç duhet). Por unë gjithashtu do të doja të shfaqja fotografi të njerëzve të tjerë SERB. Pra, nëse keni mbaruar, më dërgoni një mesazh privat me një fotografi dhe disa fjalë (qoftë përshkrim apo lidhje me faqen tuaj në internet) dhe unë do ta shtoj këtu. (Prizë e paturpshme) Nëse ju pëlqeu shikoni këtë udhëzues oomlout.com për projekte të tjera argëtuese me burim të hapur.

Çmimi i Parë në Konkursin SANYO eneloop Powered Powered

Recommended: