INHOUDSOPGAWE:

Arduino -beheerde servo -robot (SERB): 7 stappe (met foto's)
Arduino -beheerde servo -robot (SERB): 7 stappe (met foto's)

Video: Arduino -beheerde servo -robot (SERB): 7 stappe (met foto's)

Video: Arduino -beheerde servo -robot (SERB): 7 stappe (met foto's)
Video: How to Wire an Arduino to a ClearPath Servo Motor 2024, November
Anonim
Arduino -beheerde servo -robot (SERB)
Arduino -beheerde servo -robot (SERB)
Arduino -beheerde servo -robot (SERB)
Arduino -beheerde servo -robot (SERB)
Arduino -beheerde servo -robot (SERB)
Arduino -beheerde servo -robot (SERB)
Arduino -beheerde servo -robot (SERB)
Arduino -beheerde servo -robot (SERB)

Watter beter manier om te begin eksperimenteer met oopbron -mikro -beheerders (Arduino), dan deur u eie open source -robot (CC (SA -BY)) te bou? Wat moet u met u SERB doen?

  • (hier) - Hoe u u SERB aan die internet kan koppel en dit via 'n Skype -video -oproep kan bestuur.
  • (hier) - Hoe om u SERB te beheer met behulp van 'n Wii nunchuck se versnellingsmeters
  • (hier) - Hoe om hindernisopsporende snorhare by u robot te voeg
  • (hier) - Hoe om 30 kits te maak (Open Manufacturing)

Kenmerke:

  • Ten volle programmeerbaar met behulp van 'n Arduino Duemilanove-mikrobeheerder (of 'n ander mikrobeheerder van u keuse).
  • Nie nodig om te soldeer nie.
  • Keuse van snyopsies vir akrielstukke. (bladsaag, toegang tot 'n lasersnyer, aankoop van vooraf gesnyde stukke)
  • Maklik uitbreidbaar en aanpasbaar met ekstra boutgate en broodbord ingesluit.
  • Dubbele kogellager agterwiel.
  • In 1-2 uur aan die gang. (uit kit)
  • Oopbronontwerp (bou soveel as wat u wil)

(Shameless Plug) In die Verenigde Koninkryk en hou u van Arduino -goed? Kyk na ons nuut geopende webwinkel oomlout.co.uk 'n Vinnige video van 'n voltooide Arduino -beheerde servobrobot - (SERB) wat die ingeslote toetsprogram uitvoer (stap 6) Let op: Bronlêers is beskikbaar op 'n parallelle Instructable (Bron Files For) - Hoe om 'n Arduino -beheerde servo -robot te maak - (SERB)

Stap 1: Onderdele en gereedskap

Onderdele en gereedskap
Onderdele en gereedskap

Alle boute kan by u plaaslike Home Depot gevind word. Die ander onderdele kan aanlyn gevind word.

  • 3mm x 15mm bout (x20)
  • 3mm x 10mm bout (x12)
  • 3 mm moer (x34)
  • 3 mm wasser (x12)
  • 8 mm x 25 mm bout (x2)
  • 8 mm moer (x2)
  • Skate bearings (x2) (VXB) (dit is standaard skate bearings sodat dit gered kan word uit 'n paar roller-lemme of 'n skaatsplank)

Bande

  • Groot O-ring (4,5 "ID 3/16" Bead Dash #349) (x2) (McMaster-Carr-produk #9452K407)
  • Klein O-ring (3/4 "ID 3/16" Bead Dash #314) (x1) (McMaster-Carr-produk #9452K387)

Elektronika

  • Arduino Duemilanove (x1) (Maker Shed)
  • Deurlopende rotasieservo (x2) (Parallax)
  • 400 kontakbroodbord (x1) (alle elektronika))
  • Quad AA -batterykas (x1) (alle elektronika)
  • 9V batteryklem (x1) (alle elektronika)
  • 2.1 mm -prop (x1) (alle elektronika)
  • 3 -pen kop (x2) (alle elektronika)
  • AB USB -kabel - drukkerstyl (x1) (alle elektronika) (nie by kit ingesluit nie)

Batterye:

  • AA -battery (x4) (nie by die kit ingesluit nie)
  • 9v battery (x1) (nie by die kit ingesluit nie)

Draad: (alle draad is 22 AWG soliede ek koop myne deur McMaster-Carr)

  • 15 cm pers (x2)
  • 15 cm Swart (x1)
  • 5 cm Swart (x2)
  • 5 cm rooi (x2)

Gereedskap

  • Skroewedraaier (x1) (Philips)
  • Naald-tang (x1)

Stap 2: Sny stukke

Sny stukke
Sny stukke
Sny stukke
Sny stukke
Sny stukke
Sny stukke
Sny stukke
Sny stukke

Kies die stappe wat u moet volg, gebaseer op die snyopsie wat u gekies het.

Koop 'n vooraf gesnyde onderstel in die winkel van oomlout.com (hier) ($ 60, insluitend aflewering na die VSA en Kanada)

Opsie 2 (digitale vervaardiging (bv. Ponoko) / toegang tot 'n lasersnyer)

  • Laai die lasersnyer-uitleg af ("03 SERB Ponoko Cutting Layout P2.eps" of "03- (SERB) -Ponoko Cutting Layout (P2).cdr")
  • Sny die lêers met Ponoko of op u eie lasersnyer (met 3 mm,.118 "akriel (soms verkoop as.125")

Opsie 3 (rolblad en boor)

  • Laai die PDF-patroon af en druk dit af (kies die lêer wat ooreenstem met u papierformaat) 03- (SERB) -ScrollSaw-patroon (letter).pdf 03- (SERB) -ScrollSaw-patroon (A4).pdf (dit is belangrik om nie te skaal nie) die tekening tydens die druk)
  • Meet die liniaal op die afdruk teenoor 'n liniaal wat u vertrou, as die patroon nie ooreenstem nie, is die patroon afgeskaal en moet u na u drukkerinstellings kyk voordat u dit herdruk. As hulle wel ooreenstem, dan verder.
  • Plak die patroon op die akrielblad (3 mm,.118 "(soms verkoop as.125")).
  • Boor gate.
  • Sny stukke met behulp van 'n rollesaag

Stap 3: Montering

Vergadering
Vergadering
Vergadering
Vergadering
Vergadering
Vergadering

Baie geluk met die voltooiing van hierdie 90% van die proses, laai net die monteerinstruksies op hierdie stap af (04- (SERB) -Gids vir montering.pdf), en na 'n bietjie lego/mechano-styl kan u gereed wees. Om u hier langs die pad te vermaak, is 'n tydsverloop van my vergadering:

Stap 4: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading

Met al die groot stukke bymekaar, is dit tyd om die klein elektriese are by te voeg, waarmee ons ons robot kan beheer. Laai dit af en druk die bedradingsdiagram (05- (SERB) -bedradingsdiagram.pdf) af. 'N Eerste blik daarop kan nogal skrikwekkend lyk, maar as u elke verbinding opeenvolgend maak en u tyd neem, kom dit merkwaardig vinnig bymekaar. Maak dus seker dat u alles deurmekaar sit, en voeg dan krag by.

Stap 5: Toets en probleemoplossing

Toets en probleemoplossing
Toets en probleemoplossing

As u 'n kit bestel het, is u Arduino vooraf gelaai met 'n toetsprogram. Plaas net 4 AA -batterye en steek die 9v -battery in die Arduino. En as alles korrek gedoen is, sal u robot begin beweeg (dit sal 'n tyd tussen 0,1 en 1 sekonde in 'n ewekansige rigting draai voordat dit 'n ewekansige tyd tussen 1 en 2 sekondes vorentoe gaan, en dan 2 sekondes wag voordat dit weer begin). As u nie 'n kit gekoop het nie, is 'n ekstra stap nodig. Laai die aangehegte zip-lêer af (07- (SERB)-SERB-Test Arduino Program.zip). Pak dit dan uit in u Arduino -sketsgids (standaard "my dokumente / Arduino \") en laai dit af na u arduino -bord. (as u nuut is in Arduino, spring dan 'n stap vorentoe, waar daar skakels is na uitstekende tutoriale om aan die gang te kom) Algemene probleme: my SERB beweeg stadig as dit gestop moet word. Dit is die gevolg dat u servo's nie heeltemal gekalibreer is nie; om u servo's te kalibreer, wag totdat u die servo's stop, en draai dan die potensiometer in die servo met 'n klein skroewedraaier (die klein opening in die servo -omhulsel net bokant die drade)). Draai dit links of regs totdat die servo werklik gestop is. Dinge werk nie heeltemal reg nie. Stuur vir ons 'n e-pos met u simptome, en ons sal u help, terwyl u op 'n antwoord wag, moet u al u drade met die bedradingsdiagram vanaf stap 4 nagaan. na hierdie instruksies of stuur 'n e-pos na [email protected], en ons sal ons bes doen om u SERB te laat werk

Stap 6: Programmering

Programmering
Programmering

Die fisiese robot is klaar met 'n brein, voordat ons die besonderhede van die programmering van 'n Arduino Controlled Servo Robot - (SERB) - 'n paar skakels na 'n paar uitstekende Arduino -programmeringshulpbronne op die internet kry. om u te help om met Arduinos te begin, van die aflaai van die programmeringsomgewing tot die skryf van u eerste program. Arduino -programmeringsverwysing - 'n Volledige handleiding vir die Arduino -programmeertaal. Hoe servo's werk - 'n Vinnige inleiding tot hoe servomotore werk. Arduino Servo -biblioteek - Hoe die Arduino Servo -biblioteek werk (hoe ons ons servo's beheer). Met die leer uit die weg kan ons programmeer. Daar is drie maniere om aan die gang te kom met die programmering van u Arduino Controlled Servo Robot - (SERB). Opsie 1: (Aanpassing van SERB_Test.pde) Soms neem u 'n werkende program by die programmering en begin u eie kode daarby. Laai hiervoor die SERB_Test-ritprogram (07- (SERB)-SERB-Test Arduino Program.zip) af. Pak dit uit in u Arduino -sketsmap (standaard "My Documents / Arduino \"). Maak uiteindelik die Arduino -programmeeromgewing oop en laai dit af na u Arduino. Daar is goeie kommentaar op die kode. (Of kopieer en plak die kode uit die bylaag op hierdie stap na 'n nuwe Arduino Sketch) Opsie 2: (Voeg SERB-roetines by u program) Voeg 'n paar eenvoudige roetines by u voorafbestaande program (soos goForward (), setSpeed (int) ens.). Laai die roetines in die tekslêer af (07- (SERB)- Simple Routines Text.txt). 1. Kopieer en plak die aanhefgedeelte aan die begin van u program. Kopieer en plak die roetine -gedeelte in die liggaam van u program. Voeg 'n oproep by serbSetup (); na u opset () roetine. Opsie 3: (Maak u eie program van nuuts af) Dit is nie te moeilik nie. Al wat nodig is, is om vertroud te raak met die Arduino Servo -biblioteek. Dan word die regter servo aan pen 9 gekoppel, en die linker servo aan pen 10. let op: addisionele programme sal hier bygevoeg word soos dit ontwikkel word; of stuur 'n privaat boodskap aan my as u iets ontwikkel en dit graag wil hê, en dit kan bygevoeg word. Bylaag: (SERB_Test.pde -kode)

/ * * Arduino Controlled Servo Robot (SERB) - Toetsprogram * Vir meer besonderhede besoek: https://www.oomlout.com/serb * * Gedrag: 'n Eenvoudige toetsprogram wat veroorsaak dat die SERB * willekeurig links of regs draai vir 'n * ewekansige tydperk tussen 0,1 en 1 sekonde. * Die SERB ry dan vorentoe vir 'n ewekansige * tydperk tussen 1 en 2 sekondes. Uiteindelik * onderbreek 2 sekondes voordat u weer begin. * * Bedrading: Regter Servosignaal - pen 9 * Linker servosignaal - pen 10 * * Lisensie: Hierdie werk is gelisensieer onder die Creative Commons * Erkenning -Deel Gelyke 3.0 Unported License. Om * 'n afskrif van hierdie lisensie te sien, besoek * https://creativecommons.org/licenses/by-sa/3.0/ * of stuur 'n brief aan Creative Commons, 171 Second * Street, Suite 300, San Francisco, Kalifornië 94105, * VSA. * */// ----------------------------------------------------- ----------------------------- // BEGIN VAN ARDUINO BEHEERDE SERVO ROBOT (SERB) PREAMBEL #sluit in #definieer LEFTSERVOPIN 10 #definieer RIGHTSERVOPIN 9Servo linksServo; Servo regs Servo; int spoed = 100; // stel die snelheid van die robot in (beide servo's) // 'n persentasie tussen 0 en 100 // EINDE VAN ARDUINO BEHEERDE SERVO ROBOT (SERB) VOORWOORD // ---------------- -------------------------------------------------- --------/ * * stel penne in die toepaslike toestande en heg servo's aan. Onderbreek dan * vir 1 sekonde voordat die program begin */ void setup () {serbSetup (); // stel die toestand van alle nodige // penne in en voeg servo's by u skets randomSeed (analogRead (0)); // stel die willekeurige getalsaad in met // iets matig ewekansige vertraging (1000);}/ * * draai die robot links of regs (lukraak) vir 'n tydperk tussen * 0,1 en 1 sekonde. Voordat u vorentoe gaan vir 'n ewekansige tydperk * tussen 1 en 4 sekondes. Voordat u twee sekondes stilstaan, begin dan weer *. */Void lus () {turnRandom (100, 1000); // Draai ewekansig links of regs vir 'n // ewekansige tydperk tussen.1 sekonde // en een sekonde goForwardRandom (1000, 2000); // Gaan vorentoe vir 'n ewekansige tyd // tussen // 1 en 2 sekondes goStop (); // Stop die robotvertraging (2000); // pouse vir 2 sekondes (terwyl gestop)}/ * * draai die robot lukraak na links of regs vir 'n ewekansige tydperk tussen * minTime (millisekondes) en maxTime (millisekondes) */void turnRandom (int minTime, int maxTime) {int keuse = ewekansig (2); // Willekeurige getal om te besluit // tussen links (1) en regs (0) int turnTime = random (minTime, maxTime); // Willekeurige getal vir die pouse // tyd as (keuse == 1) {goLeft ();} // As ewekansige getal = 1 draai dan // links anders {goRight ();} // As ewekansige getal = 0 dan draai // regs vertraging (turnTime); // vertraging vir ewekansige tyd}/ * * gaan vorentoe vir 'n ewekansige tydperk tussen minTime (millisekondes) * en maxTime (millisekondes) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = random (minTime, maxTime); // 'n ewekansige tyd bepaal om // voort te gaan goForward (); // stel die SERB vorentoe vertraging (forwardTime) in; // vertragings vir ewekansige tydperk} // ----------------------------------------- -------------------------------- // BEGIN VAN ARDUINO BEHEERDE SERVO ROBOT (SERB) ROUTINES/ * * stel u arduino om u SERB aan te spreek met behulp van die ingesluit roetines*/void serbSetup () {setSpeed (speed); pinMode (LEFTSERVOPIN, OUTPUT); // stel die linker servosignaalpen // in om pinMode uit te voer (RIGHTSERVOPIN, OUTPUT); // stel die regter servosignaalpen // om linksServo.attach (LEFTSERVOPIN) uit te voer; // heg linker servo regsServo.aanhegsel (RIGHTSERVOPIN) aan; // heg regs servo goStop ();}/ * * stel die snelheid van die robot in tussen 0- (gestop) en 100- (volspoed) * LET WEL: spoed verander nie die huidige spoed nie, u moet spoed verander * bel dan een van die go -metodes voordat veranderinge plaasvind.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // as die spoed groter is as 100 // maak dit 100 if (newSpeed <= 0) {newSpeed = 0;} // as spoed minder as 0 is, maak // dit 0 speed = newSpeed * 0,9; // skaal die spoed om te wees // tussen 0 en 90}/ * * stuur die robot vorentoe */ongeldig goForward () {leftServo.write (90 + spoed); rightServo.write (90 - spoed);}/ * * stuur die robot agteruit */void goBackward () {leftServo.write (90 - speed); rightServo.write (90 + spoed);} / * * stuur die robot regs * /void goRight () {leftServo.write (90 + spoed); rightServo.write (90 + spoed);}/ * * stuur die robot links */void goLeft () {leftServo.write (90 - spoed); rightServo.write (90 - spoed);}/ * * stop die robot */void goStop () {leftServo.write (90); rightServo.write (90);} // EINDE VAN ARDUINO BEHEERDE SERVO ROBOT (SERB) ROUTINES // ---------------------------- -----------------------------------------------

Stap 7: klaar, ander wat klaar is en die toekoms

Klaar, ander wat klaar is en die toekoms
Klaar, ander wat klaar is en die toekoms
Klaar, ander wat klaar is en die toekoms
Klaar, ander wat klaar is en die toekoms
Klaar, ander wat klaar is en die toekoms
Klaar, ander wat klaar is en die toekoms
Klaar, ander wat klaar is en die toekoms
Klaar, ander wat klaar is en die toekoms

Baie geluk met die bereik, en ek hoop dat u pret het met u Arduino Controlled Servo Robot - (SERB). Michael Beck se SERB -Michael het die planne vir die SERB op Thingiverse.com gevind en sy geel en rooi akriel uitgehaal. Ek dink dit lyk goed. Mike se SERB - Mike (van die robotklub ROBOMO in St. Louis Area) het 'n vriend met 'n SERB -onderstel laat laser sny en sy eie robotiese kennis gebruik om dit aan die gang te kry. Ek dink dit lyk fantasties gedoen in blou. (Besoek sy webwerf vir meer inligting hieroor sowel as sy ander robotte (hier) Hierdie afdeling bevat besonderhede oor toekomstige ontwikkelings en aanhangsels (dit sal hier verskyn voordat dit behoorlik gedokumenteer word.) Maar ek wil ook prente wys van ander mense se SERB's. As u klaar is, stuur vir my 'n privaatboodskap met 'n foto en 'n paar woorde ('n beskrywing of 'n skakel na u webwerf), en ek sal dit hier byvoeg. (Shameless Plug) As u daarvan hou hierdie instruksionele besoek oomlout.com vir ander prettige open source projekte.

Eerste prys in die SANYO eneloop -battery -aangedrewe kompetisie

Aanbeveel: