Talaan ng mga Nilalaman:

Kinokontrol ng Arduino Servo Robot (SERB): 7 Mga Hakbang (na may Mga Larawan)
Kinokontrol ng Arduino Servo Robot (SERB): 7 Mga Hakbang (na may Mga Larawan)

Video: Kinokontrol ng Arduino Servo Robot (SERB): 7 Mga Hakbang (na may Mga Larawan)

Video: Kinokontrol ng Arduino Servo Robot (SERB): 7 Mga Hakbang (na may Mga Larawan)
Video: Control 360 continuous Servo with push button switches and Arduino 2024, Hulyo
Anonim
Kinokontrol ng Arduino Servo Robot (SERB)
Kinokontrol ng Arduino Servo Robot (SERB)
Kinokontrol ng Arduino Servo Robot (SERB)
Kinokontrol ng Arduino Servo Robot (SERB)
Kinokontrol ng Arduino Servo Robot (SERB)
Kinokontrol ng Arduino Servo Robot (SERB)
Kinokontrol ng Arduino Servo Robot (SERB)
Kinokontrol ng Arduino Servo Robot (SERB)

Anong mas mahusay na paraan upang simulan ang pag-eksperimento sa bukas na mapagkukunan ng mga micro-control (Arduino) pagkatapos sa pamamagitan ng pagbuo ng iyong sariling open source robot (CC (SA -BY))? Ano ang gagawin sa iyong SERB?

  • (Dito) - Paano ikonekta ang iyong SERB sa internet at ihatid ito sa isang tawag sa video sa Skype.
  • (Dito) - Paano Makontrol ang Iyong SERB Gamit ang mga accelerometers ng isang Wii nunchuck
  • (Dito) - Paano Magdagdag ng Obstacle Detecting Whiskers sa Iyong Robot
  • (Dito) - Paano gumawa ng 30 kit (Buksan ang Paggawa)

Mga Tampok:

  • Ganap na napaprograma gamit ang isang Arduino Duemilanove micro-controller (o ibang micro-controller na iyong pinili).
  • Hindi na kailangang maghinang.
  • Pagpipili ng mga pagpipilian sa paggupit para sa mga piraso ng acrylic. (scroll saw, pag-access sa isang laser cutter, pagbili ng mga pre-cut na piraso)
  • Madaling napapalawak at nababago na may sobrang mga butas ng bolt at may kasamang breadboard.
  • Dobleng gulong ng bola sa likuran.
  • Tumatakbo at tumatakbo sa loob ng 1-2 oras. (mula sa kit)
  • Buksan ang disenyo ng mapagkukunan (bumuo ng maraming hangga't gusto mo)

(Walang kahihiyang Plug) Sa UK at gusto ng mga bagay na Arduino? suriin ang aming bagong bukas na web store oomlout.co.uk Isang mabilis na video ng isang nakumpletong Arduino na kinokontrol na servo robot - (SERB) na nagpapatakbo ng kasamang programa sa pagsubok (hakbang 6) Tandaan: Magagamit ang mga file ng mapagkukunan sa isang kahanay na Makatuturo (Mga Pinagmulan ng Mga File Para sa) - Paano Gumawa ng isang Arduino Controlled Servo Robot - (SERB)

Hakbang 1: Mga Bahagi at Tool

Mga Bahagi at Tool
Mga Bahagi at Tool

Ang lahat ng mga bolt ay matatagpuan sa iyong lokal na Home Depot. Ang iba pang mga bahagi ay matatagpuan sa online (Nagsama ako ng isang link sa aking paboritong mapagkukunan para sa bawat isa). Listahan ng Mga Bahagi: Ang isang bundle na naglalaman ng lahat ng mga item sa hardware ay maaaring mabili sa tindahan ng oomlout.com (dito) ($ 120) Mga Nut at Bolts:

  • 3mm x 15mm bolt (x20)
  • 3mm x 10mm bolt (x12)
  • 3mm nut (x34)
  • 3mm washer (x12)
  • 8mm x 25mm bolt (x2)
  • 8mm nut (x2)
  • Mga Skate Bearing (x2) (VXB) (ito ang karaniwang mga skate bearings upang maaari silang mai-salvage mula sa isang pares ng roller-blades o isang skateboard)

Gulong

  • Malaking O-ring (4.5 "ID 3/16" Bead Dash # 349) (x2) (McMaster-Carr Product # 9452K407)
  • Maliit na O-ring (3/4 "ID 3/16" Bead Dash # 314) (x1) (McMaster-Carr Product # 9452K387)

Elektronika

  • Arduino Duemilanove (x1) (Maker Shed)
  • Patuloy na Pag-ikot Servo (x2) (Parallax)
  • 400 Makipag-ugnay sa Breadboard (x1) (Lahat ng Electronics))
  • Quad AA Battery Box (x1) (Lahat ng Elektronika)
  • 9V Battery Clip (x1) (Lahat ng Elektronik)
  • 2.1 mm Plug (x1) (Lahat ng Elektronik)
  • 3 pin header (x2) (Lahat ng Electronics)
  • A-B USB Cable - Estilo ng Printer (x1) (Lahat ng Elektronik) (hindi kasama sa kit)

Baterya:

  • AA Battery (x4) (hindi kasama sa kit)
  • 9v Baterya (x1) (hindi kasama sa kit)

Wire: (lahat ng kawad ay 22 AWG solid Bumibili ako ng minahan sa pamamagitan ng McMaster-Carr)

  • 15 cm Lila (x2)
  • 15 cm Itim (x1)
  • 5 cm Itim (x2)
  • 5 cm Pula (x2)

Mga kasangkapan

  • Screwdriver (x1) (Philips)
  • Needle-nose Pliers (x1)

Hakbang 2: Mga piraso ng paggupit

Mga piraso ng paggupit
Mga piraso ng paggupit
Mga piraso ng paggupit
Mga piraso ng paggupit
Mga piraso ng paggupit
Mga piraso ng paggupit
Mga piraso ng paggupit
Mga piraso ng paggupit

Mangyaring piliin kung aling mga hakbang ang susundin batay sa pagpipilian ng paggupit na iyong pinili. Pagpipilian 1 (Pagbili ng Mga Bahaging Na-pre-cut)

Bumili ng isang pre-cut chassis mula sa tindahan ng oomlout.com (dito) ($ 60 kabilang ang pagpapadala sa USA at Canada)

Opsyon 2 (Digital Manufacturing (ie. Ponoko) / Pag-access sa isang Laser Cutter)

  • I-download ang layout ng pamutol ng laser ("03 SERB Ponoko Cutting Layout P2.eps" o "03- (SERB) -Ponoko Cutting Layout (P2).cdr")
  • Gupitin ang mga file gamit ang Ponoko o sa iyong sariling Laser Cutter (gamit ang 3mm,.118 "acrylic (minsan ay ibinebenta bilang.125")

Pagpipilian 3 (Nakita ang scroll at Drill)

  • I-download at i-print ang pattern ng PDF (mangyaring piliin ang file na naaayon sa laki ng iyong papel) 03- (SERB) -ScrollSaw Pattern (sulat).pdf 03- (SERB) -ScrollSaw Pattern (A4).pdf (mahalaga na huwag sukatin ang pagguhit habang nagpi-print)
  • Sukatin ang namumuno sa printout laban sa isang pinuno na pinagkakatiwalaan mo, kung hindi sila tumutugma sa pattern na na-scale at kailangan mong tingnan ang mga setting ng iyong printer bago muling i-print. Kung magkatugma sila, pasulong.
  • Kola ang pattern sa acrylic sheet (3mm,.118 "(minsan ay ibinebenta bilang.125").
  • Bumutas.
  • Mga piraso ng ginupit gamit ang isang scroll saw

Hakbang 3: Assembly

Assembly
Assembly
Assembly
Assembly
Assembly
Assembly

Congrats sa paggawa nito sa ngayon 90% ng proseso ay kumpleto na lang i-download ang mga tagubilin sa pagpupulong sa hakbang na ito (04- (SERB) -Ass Assembly Guide.pdf) & pagkatapos ng isang maliit na pagpupulong ng estilo ng lego / mekano handa ka nang mag-wire. Upang aliwin ka sa daan dito ay isang time-lapse ng aking pagpupulong:

Hakbang 4: Mga kable

Kable
Kable
Kable
Kable

Sa lahat ng mga malalaking piraso magkasama oras nito upang idagdag ang maliit na mga ugat ng kuryente na magpapahintulot sa aming robot na makontrol. Upang magawa ang pag-download na ito at i-print ang diagram ng mga kable (05- (SERB) -Wiring Diagram.pdf). Ang isang unang tingin dito ay maaaring tumingin medyo nakakatakot, subalit kung gagawin mo ang bawat koneksyon nang sunud-sunod at isasagawa ang iyong oras na magkakasama itong napakabilis. Ang mga kable ay medyo simple at walang pinsala na maaaring dumating sa iyong circuit hanggang sa magdagdag ka ng mga baterya. Kaya't i-wire ang lahat ng dobleng suriin ito, pagkatapos ay magdagdag ng lakas.

Hakbang 5: Pagsubok at Pag-troubleshoot

Pagsubok at Pag-troubleshoot
Pagsubok at Pag-troubleshoot

Kung nag-order ka ng isang kit ang iyong Arduino ay na-preload na may isang programa sa pagsubok. Ilagay lamang sa 4 na baterya ng AA at isaksak ang 9v na baterya sa Arduino. At kung ang lahat ay nagawa nang tama ang iyong robot ay magsisimulang gumalaw (ito ay liliko sa isang random na direksyon para sa isang oras sa pagitan ng 0.1 at 1 segundo bago magpatuloy para sa isang random na oras sa pagitan ng 1 at 2 segundo pagkatapos ay huminto ng 2 segundo bago magsimula muli). Kung hindi ka pa nabili ng isang kit kinakailangan ng karagdagang hakbang. I-download ang nakalakip na zip file (07- (SERB) - SERB-Test Arduino Program.zip). Pagkatapos ay i-unzip ito sa iyong direktoryo ng sketch ng Arduino (default na "my Documents / Arduino \") at i-download ito sa iyong arduino board. (kung bago ka sa Arduino tumalon nang maaga sa isang hakbang kung saan may mga link sa mahusay na pagsisimula ng mga tutorial) Mga Karaniwang Suliranin: Ang aking SERB ay dahan-dahang gumagalaw kapag dapat itong tumigil. Ito ay isang resulta ng iyong servos na hindi na-calibrate nang tama, upang i-calibrate ang iyong servos maghintay hanggang ang iyong programa ay tumigil ang servos pagkatapos ay may isang maliit na distornilyador na iikot ang potensyomiter sa loob ng servo (ang maliit na pagbubukas sa servo casing sa itaas lamang kung nasaan ang mga wire.). Paikutin ito alinman sa kaliwa o kanan hanggang sa tumigil ang servo. Ang mga bagay ay hindi masyadong gumagana nang maayos. Magpadala sa amin ng isang e-mail kasama ang iyong mga sintomas at susubukan ka naming tulungan, habang naghihintay ka para sa isang tugon na dobleng suriin ang lahat ng iyong mga wire na may diagram ng mga kable mula sa hakbang 4. Kung nakatagpo ka ng anumang problema mangyaring magdagdag ng isang komento sa Instructable na ito o magpadala ng isang e-mail sa [email protected] at susubukan namin ang aming makakaya upang matulungan kang mapagtrabaho ang iyong SERB

Hakbang 6: Programming

Programming
Programming

Ang pisikal na robot ay tapos na oras upang simulang bigyan ito ng utak. Bago namin makuha ang mga detalye ng pag-program ng isang Arduino Controlled Servo Robot - (SERB) - ilang mga link sa ilang mahusay na mapagkukunan ng programa ng Arduino sa internet. Gabay sa Starter ng Arduino - Isang gabay upang matulungan kang magsimula sa Arduinos, mula sa pag-download ng kapaligiran sa pagprograma hanggang sa pagsulat ng iyong unang programa. Sanggunian sa Programu Aruino - Isang kumpletong madaling sanggunian na gabay sa wika ng programa ng Arduino. Paano Gumagana ang Servos - Isang mabilis na panimulang aklat kung paano gumagana ang mga motor na servo.rduino Servo Library - Paano gumagana ang Arduino Servo library (kung paano namin kontrolin ang aming mga servos). Tama sa pag-aaral sa labas ng paraan ay hinahayaan na makakuha ng programa. Mayroong tatlong mga paraan upang masimulan ang pag-program ng iyong Arduino Controlled Servo Robot - (SERB). Option 1: (Pagbabago sa SERB_Test.pde) Minsan kapag nagprograma ang pinakamadaling bagay na gawin ay kumuha ng isang gumaganang programa at simulang idagdag ang iyong sariling code dito. Upang magawa itong i-download ang SERB_Test naka-zip na programa (07- (SERB) - SERB-Test Arduino Program.zip). Magpatuloy upang i-unzip ito sa iyong Arduino sketch folder (default na "Aking Mga Dokumento / Arduino \"). Panghuli buksan ang Arduino programa sa kapaligiran at i-download ito sa iyong Arduino. Mahusay na nagkomento ang code. (O kopyahin at i-paste ang code mula sa apendiks sa hakbang na ito sa isang bagong Arduino Sketch) Opsyon 2: (Pagdaragdag ng Mga Rutin sa SERB sa iyong programa) Magdagdag ng ilang simpleng mga gawain sa iyong dati nang programa (tulad ng goForward (), setSpeed (int) atbp.). Upang magawa ito i-download ang mga gawain sa text file (07- (SERB) - Simple Routines Text.txt). 1. Kopyahin at i-paste ang preamble na bahagi sa simula ng iyong programa.2. Kopyahin at i-paste ang nakagawiang bahagi sa katawan ng iyong programa.3. Magdagdag ng isang tawag sa serbSetup (); sa iyong setup () na gawain. Pagpipilian 3: (Lumilikha ng iyong sariling programa mula sa simula) Hindi ito masyadong mahirap. Ang kailangan lang ay pamilyar ang Arduino Servo Library. Pagkatapos ang tamang servo ay konektado sa pin 9, at ang kaliwang servo upang i-pin ang 10. nota: Ang mga karagdagang programa ay idaragdag dito habang binuo ito; o kung nagkakaroon ka ng isang bagay at nais mong itampok magpadala sa akin ng isang pribadong mensahe at maaari itong idagdag. Lakip: (SERB_Test.pde Code)

/ * * Arduino Controlled Servo Robot (SERB) - Program sa Pagsubok * Para sa higit pang mga detalye bisitahin ang: https://www.oomlout.com/serb * * Pag-uugali: Isang simpleng programa sa pagsubok na sanhi ng SERB * na sapalarang lumiko sa alinman sa kaliwa o kanan para sa isang * random na tagal ng panahon sa pagitan ng 0.1 at 1 segundo. * Ang SERB pagkatapos ay magdadala ng pasulong para sa isang random * tagal ng panahon sa pagitan ng 1 at 2 segundo. Sa wakas * pag-pause ng 2 segundo bago magsimulang muli. * * Mga kable: Tamang Servo Signal - pin 9 * Kaliwa Servo Signal - pin 10 * * Lisensya: Ang gawaing ito ay lisensyado sa ilalim ng Creative Commons * Attribution-Share Alike 3.0 Unported Lisensya. Upang * tingnan ang isang kopya ng lisensyang ito, bisitahin ang * https://creativecommons.org/licenses/by-sa/3.0/ * o magpadala ng isang sulat sa Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105, * USA. * * / // -------------------------------------------- ----------------------------- // SIMULA NG ARDUINO CONTROLLED SERVO ROBOT (SERB) PREAMBLE # isama ang # tukuyin ang LEFTSERVOPIN 10 # tukuyin ang RIGHTTSERVOPIN 9Servo leftServo; Servo rightServo; int bilis = 100; // nagtatakda ng bilis ng robot (parehong servos) // isang porsyento sa pagitan ng 0 at 100 // END OF ARDUINO CONTROLLED SERVO ROBOT (SERB) PREAMBLE // ---------------- ---- ---- / * * nagtatakda ng mga pin sa naaangkop na estado at nakakabit ng mga servo. Pagkatapos ay i-pause * nang 1 segundo bago magsimula ang programa * / void setup () {serbSetup (); // nagtatakda ng estado ng lahat ng mga // // pin at nagdaragdag ng mga servos sa iyong sketch randomSeed (analogRead (0)); // nagtatakda ng random na binhi ng numero na may // isang bagay na bahagyang random na pagkaantala (1000);} / * * lumiliko ang robot alinman sa kaliwa o kanan (sapalaran) para sa isang panahon sa pagitan ng * 0.1 at 1 segundo. Bago magpatuloy para sa isang random na tagal ng panahon * sa pagitan ng 1 at 4 na segundo. Bago huminto nang dalawang segundo pagkatapos magsimula ulit *. * / Void loop () {turnRandom (100, 1000); // Lumiliko nang kaliwa o pakanan para sa isang // randomtime period sa pagitan ng.1 segundo // at isang segundo goForwardRandom (1000, 2000); // Nagpapatuloy para sa isang random na tagal ng panahon // sa pagitan ng // 1 at 2 segundo goStop (); // Humihinto sa pagkaantala ng robot (2000); // nag-pause ng 2 segundo (habang tumigil)} / * * pinapalitan ang robot nang random pakaliwa o pakanan para sa isang random na tagal ng panahon sa pagitan ng * minTime (milliseconds) at maxTime (milliseconds) * / void turnRandom (int minTime, int maxTime) {int pagpipilian = random (2); // Random number upang magpasya // sa pagitan ng kaliwa (1) at kanan (0) int turnTime = random (minTime, maxTime); // Random number for the pause // time if (choice == 1) {goLeft ();} // Kung random number = 1 pagkatapos ay lumiko // pakaliwa {goRight ();} // Kung random number = 0 pagkatapos lumiko // kanang pagkaantala (turnTime); // pagkaantala para sa random na oras} / * * nagpapatuloy para sa isang random na tagal ng oras sa pagitan ng minTime (milliseconds) * at maxTime (milliseconds) * / void goForwardRandom (int minTime, int maxTime) {int forwardTime = random (minTime, maxTime); // matukoy ang isang random na oras upang // magpatuloy goForward (); // nagtatakda ng SERB forward na pagkaantala (forwardTime); // mga pagkaantala para sa random na tagal ng panahon} // ----------------- ------------------------------ // Start OF ARDUINO CONTROLLED SERVO ROBOT (SERB) ROUTINES / * * set up your arduino upang tugunan ang iyong SERB gamit ang kasama na mga gawain * / void serbSetup () {setSpeed (bilis); pinMode (LEFTSERVOPIN, OUTPUT); // nagtatakda ng kaliwang servo signal pin // sa output pinMode (RIGHTTSERVOPIN, OUTPUT); // nagtatakda ng tamang pin ng signal ng servo // sa output leftServo.attach (LEFTSERVOPIN); // nakakabit sa left servo rightServo.attach (RIGHTTSERVOPIN); // nakakabit ang kanang servo goStop ();} / * * nagtatakda ng bilis ng robot sa pagitan ng 0- (tumigil) at 100- (buong bilis) * TANDAAN: ang bilis ay hindi magbabago ng kasalukuyang bilis dapat mong baguhin ang bilis * pagkatapos ay tumawag sa isa ng mga pamamaraang go bago maganap ang mga pagbabago. * / void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // kung ang bilis ay higit sa 100 // gawin itong 100 kung (newSpeed <= 0) {newSpeed = 0;} // kung ang bilis ay mas mababa sa 0 gumawa // ito 0 bilis = newSpeed * 0.9; // scales the speed to be // between 0 and 90} / * * nagpapadala ng robot pasulong * / void goForward () {leftServo.write (90 + bilis); rightServo.write (90 - bilis);} / * * nagpapadala ng paatras ang robot * / void goBackward () {leftServo.write (90 - bilis); rightServo.write (90 + bilis);} / * * nagpapadala ng robot sa kanan * / void goRight () {leftServo.write (90 + bilis); rightServo.write (90 + bilis);} / * * nagpapadala ng robot sa kaliwa * / void goLeft () {leftServo.write (90 - bilis); rightServo.write (90 - bilis);} / * * ihihinto ang robot * / void goStop () {leftServo.write (90); rightServo.write (90);} // END OF ARDUINO CONTROLLED SERVO ROBOT (SERB) ROUTINES // ---------------------------- ------------ -------------

Hakbang 7: Tapos na, Ang Iba Na Tapos Na at ang Hinaharap

Tapos, Ang Iba Na Tapos Na at ang Hinaharap
Tapos, Ang Iba Na Tapos Na at ang Hinaharap
Tapos, Ang Iba Na Tapos Na at ang Hinaharap
Tapos, Ang Iba Na Tapos Na at ang Hinaharap
Tapos na, Ang Iba Na Tapos Na at ang Hinaharap
Tapos na, Ang Iba Na Tapos Na at ang Hinaharap
Tapos, Ang Iba Na Tapos Na at ang Hinaharap
Tapos, Ang Iba Na Tapos Na at ang Hinaharap

Binabati kita sa pagpunta sa ngayon at inaasahan kong masaya ka sa iyong Arduino Controlled Servo Robot - (SERB). Natagpuan ng SERB-Michael Michael Beck -Michael ang mga plano para sa SERB sa Thingiverse.com at pinutol ang kanyang dilaw at pula na acrylic. Sa palagay ko mukhang maganda ito. Ang SERB ni Mike - Si Mike (ng St. Louis Area robot club ROBOMO) ay may isang kaibigan na laser na pinutol ang isang chassis ng SERB, at ginamit ang kanyang sariling robotic know-how upang maiangat ito at tumakbo. Sa tingin ko mukhang kahanga-hangang tapos ito sa asul. (suriin ang kanyang website para sa mga detalye tungkol dito pati na rin ang kanyang iba pang mga robot (dito) Ang seksyon na ito ay magkakaroon ng mga detalye sa mga hinaharap na pagpapaunlad at mga kalakip (itatampok ang mga ito dito bago sila maayos na dokumentado). Ngunit nais ko ring ipakita ang mga larawan ng ibang mga tao SERB's. Kaya kung natapos mo na magpadala sa akin ng isang pribadong mensahe na may larawan at ilang mga salita (maging isang paglalarawan o isang link sa iyong website) at idaragdag ko ito dito. (Walang kahihiyang Plug) Kung nagustuhan mo itinuturo ito suriin ang oomlout.com para sa iba pang mga kasiyahan na bukas na mga proyekto ng mapagkukunan.

Unang Gantimpala sa SANYO eneloop Battery Powered Contest

Inirerekumendang: