Innehållsförteckning:

Arduino kontrollerad servobrobot (SERB): 7 steg (med bilder)
Arduino kontrollerad servobrobot (SERB): 7 steg (med bilder)

Video: Arduino kontrollerad servobrobot (SERB): 7 steg (med bilder)

Video: Arduino kontrollerad servobrobot (SERB): 7 steg (med bilder)
Video: Как Сделать Робота на Arduino UNO / How to Make a Robot on Arduino UNO 2024, November
Anonim
Arduino kontrollerad servobrobot (SERB)
Arduino kontrollerad servobrobot (SERB)
Arduino kontrollerad servobrobot (SERB)
Arduino kontrollerad servobrobot (SERB)
Arduino kontrollerad servobrobot (SERB)
Arduino kontrollerad servobrobot (SERB)
Arduino kontrollerad servobrobot (SERB)
Arduino kontrollerad servobrobot (SERB)

Vilket bättre sätt att börja experimentera med öppen källkodsmikrostyrenheter (Arduino) sedan genom att bygga din alldeles egen öppen källkodrobot (CC (SA -BY)) Vad ska du göra med din SERB?

  • (här) - Hur du ansluter din SERB till internet och driver den via ett Skype -videosamtal.
  • (här) - Så här styr du din SERB med hjälp av en Wii nunchucks accelerometrar
  • (här) - Hur man lägger till hinderdetekterande morrhår till din robot
  • (här) - Hur man gör 30 kit (öppen tillverkning)

Funktioner:

  • Fullt programmerbar med en Arduino Duemilanove mikrokontroller (eller en annan mikrokontroller du väljer).
  • Inget behov av att lödas.
  • Val av skäralternativ för akrylbitar. (rullsåg, tillgång till en laserskärare, köp av färdiga delar)
  • Lätt att utöka och modifiera med extra bulthål och medföljande brödbräda.
  • Dubbla kullager bakhjul.
  • Kör om 1-2 timmar. (från kit)
  • Öppen källkoddesign (bygg så många du vill)

(Shameless Plug) I Storbritannien och gillar Arduino -grejer? kolla in vår nyöppnade webbutik oomlout.co.uk En snabb video av en färdig Arduino -styrd servobrobot - (SERB) som kör det medföljande testprogrammet (steg 6) Obs: Källfiler finns tillgängliga på en parallell Instructable (Source Files For) - Hur man gör en Arduino -kontrollerad servorobot - (SERB)

Steg 1: Delar och verktyg

Delar och verktyg
Delar och verktyg

Alla bultar finns på ditt lokala Home Depot. De andra delarna kan hittas online (jag har inkluderat en länk till min favoritkälla för varje). Dellista: Ett paket som innehåller alla hårdvaruprodukter kan köpas i oomlout.coms butik (här) ($ 120) Nuts and Bolts:

  • 3 mm x 15 mm bult (x20)
  • 3 mm x 10 mm bult (x12)
  • 3 mm mutter (x34)
  • 3 mm bricka (x12)
  • 8 mm x 25 mm bult (x2)
  • 8 mm mutter (x2)
  • Skatelager (x2) (VXB) (dessa är standardskridslager så att de kan bärgas från ett par rullskidor eller en skateboard)

Däck

  • Stor O-ring (4,5 "ID 3/16" Bead Dash #349) (x2) (McMaster-Carr-produkt #9452K407)
  • Liten O-ring (3/4 "ID 3/16" pärlstreck #314) (x1) (McMaster-Carr-produkt nr 9452K387)

Elektronik

  • Arduino Duemilanove (x1) (Maker Shed)
  • Kontinuerlig rotationsservo (x2) (Parallax)
  • 400 kontaktbrödbräda (x1) (all elektronik))
  • Quad AA -batterilåda (x1) (all elektronik)
  • 9V batteriklämma (x1) (all elektronik)
  • 2,1 mm kontakt (x1) (all elektronik)
  • 3 -stifts rubrik (x2) (all elektronik)
  • A -B USB -kabel - Skrivarstil (x1) (all elektronik) (ingår inte i satsen)

Batterier:

  • AA -batteri (x4) (ingår inte i satsen)
  • 9v batteri (x1) (ingår inte i satsen)

Wire: (all tråd är 22 AWG solid jag köper min via McMaster-Carr)

  • 15 cm lila (x2)
  • 15 cm Svart (x1)
  • 5 cm Svart (x2)
  • 5 cm röd (x2)

Verktyg

  • Skruvmejsel (x1) (Philips)
  • Nåltång (x1)

Steg 2: Skärbitar

Skärbitar
Skärbitar
Skärbitar
Skärbitar
Skärbitar
Skärbitar
Skärbitar
Skärbitar

Välj vilka steg du vill följa baserat på det skäralternativ du har valt. Alternativ 1 (Inköp av färdigskurna delar)

Köp ett färdigskuret chassi från oomlout.coms butik (här) ($ 60 inklusive frakt till USA och Kanada)

Alternativ 2 (digital tillverkning (t.ex. Ponoko) / åtkomst till en laserskärare)

  • Ladda ner laserskärans layout ("03 SERB Ponoko Cutting Layout P2.eps" eller "03- (SERB) -Ponoko Cutting Layout (P2).cdr")
  • Klipp ut filerna med Ponoko eller på din egen laserskärare (med 3 mm,.118 "akryl (säljs ibland som.125")

Alternativ 3 (rullrulle och borr)

  • Ladda ner och skriv ut PDF-mönstret (välj filen som motsvarar din pappersstorlek) 03- (SERB) -ScrollSaw Pattern (bokstav).pdf 03- (SERB) -ScrollSaw Pattern (A4).pdf (det är viktigt att inte skala ritningen under utskrift)
  • Mät linjalen på utskriften mot en linjal du litar på, om de inte matchar mönstret har skalats och du måste titta på skrivarinställningarna innan du skriver ut igen. Om de matchar, framåt.
  • Limma mönstret på akrylarket (3 mm,.118 "(säljs ibland som.125").
  • Borrhål.
  • Klipp ut bitar med en rullsåg

Steg 3: Montering

hopsättning
hopsättning
hopsättning
hopsättning
hopsättning
hopsättning

Grattis till att du har nått så långt 90% av processen är klar, ladda bara ner monteringsanvisningarna på det här steget (04- (SERB) -Assemble Guide.pdf) och efter en liten lego/mechanostil är du redo att köra. Att underhålla dig längs vägen här är en time-lapse av min samling:

Steg 4: Kabeldragning

Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning

Med alla de stora bitarna tillsammans är det dags att lägga till de små elektriska venerna som gör att vår robot kan kontrolleras. För att göra detta ladda ner och skriv ut kopplingsschemat (05- (SERB) -Kopplingsschema.pdf). En första blick på det kan se ganska skrämmande ut, men om du gör varje anslutning i följd och tar dig tid kommer det ihop anmärkningsvärt snabbt. Kablarna är ganska enkla och ingen skada kan komma till din krets förrän du lägger till batterier. Så koppla upp allt dubbelkolla det och lägg sedan till ström.

Steg 5: Testning och felsökning

Testning och felsökning
Testning och felsökning

Om du har beställt ett kit har din Arduino förladdats med ett testprogram. Sätt bara i 4 AA -batterier och sätt i 9v -batteriet i Arduino. Och om allt har gjorts korrekt börjar din robot röra sig (den kommer att vrida i slumpmässig riktning under en tid mellan 0,1 och 1 sekund innan den går framåt en slumpmässig tid mellan 1 och 2 sekunder och pausar sedan i 2 sekunder innan den startar igen). Om du inte har köpt ett kit krävs ytterligare ett steg. Ladda ner den bifogade zip-filen (07- (SERB)-SERB-Test Arduino Program.zip). Packa sedan upp den i din Arduino -skisskatalog (standard "mina dokument / Arduino \") och ladda ner den till din arduino -tavla. (om du är ny på Arduino, hoppa ett steg framåt där det finns länkar till bra instruktioner för att komma igång) Vanliga problem: Min SERB rör sig långsamt när den ska stoppas. Detta är ett resultat av att dina servon inte har kalibrerats helt rätt, för att kalibrera dina servon vänta tills ditt program har servon stoppat och vrid potentiometern inuti servon med en liten skruvmejsel (den lilla öppningen i servohöljet precis ovanför där trådarna är). Vrid den antingen åt vänster eller höger tills servon verkligen stoppas. Saker och ting fungerar inte riktigt. Skicka oss ett e-postmeddelande med dina symptom så ska vi försöka hjälpa dig, medan du väntar på svar dubbelkolla alla dina ledningar med kopplingsschemat från steg 4. Om du stöter på några problem kan du antingen lägga till en kommentar till denna instruktionsbok eller skicka ett e-postmeddelande till [email protected] så försöker vi vårt bästa för att hjälpa dig att få din SERB att fungera

Steg 6: Programmering

Programmering
Programmering

Den fysiska roboten är färdig med att börja ge den en hjärna. Innan vi går in på detaljerna för programmering av en Arduino Controlled Servo Robot - (SERB) - några länkar till några utmärkta Arduino -programmeringsresurser på internet. Arduino Starter Guide - En guide för att hjälpa dig att börja med Arduinos, från att ladda ner programmeringsmiljön till att skriva ditt första program. Arduino -programmeringsreferens - En komplett lättanvisad guide till Arduino -programmeringsspråket. Hur servor fungerar - En snabb inledning till hur servomotorer fungerar. Arduino Servobibliotek - Hur Arduino Servo -biblioteket fungerar (hur vi kontrollerar våra servon). Det finns tre sätt att komma igång med att programmera din Arduino Controlled Servo Robot - (SERB). Alternativ 1: (Ändra SERB_Test.pde) Ibland när du programmerar är det enklaste att ta ett fungerande program och börja lägga till din egen kod till den. För att göra detta ladda ner SERB_Test-zippade programmet (07- (SERB)-SERB-Test Arduino Program.zip). Fortsätt att packa upp detta i din Arduino -skissmapp (standard "Mina dokument / Arduino \"). Slutligen öppna Arduino programmeringsmiljö och ladda ner den till din Arduino. Koden är väl kommenterad. (Eller kopiera och klistra in koden från bilagan i detta steg till en ny Arduino Sketch) Alternativ 2: (Lägga till SERB-rutiner i ditt program) Lägg till några enkla rutiner i ditt redan existerande program (som goForward (), setSpeed (int) etc.). För att göra detta ladda ner rutinerna i textfilen (07- (SERB)- Simple Routines Text.txt). 1. Kopiera och klistra in ingressen till början av ditt program. Kopiera och klistra in den rutinmässiga delen till programmets kropp. Lägg till ett samtal till serbSetup (); till din setup () -rutin. Alternativ 3: (Skapa ditt eget program från grunden) Detta är inte för svårt. Allt som krävs är att bekanta dig med Arduino Servo Library. Därefter ansluts höger servo till stift 9 och vänster servo till stift 10. Obs: Ytterligare program kommer att läggas till här när de utvecklas; eller om du utvecklar något och vill att det ska presenteras, skicka mig ett privat meddelande så kan det läggas till. Bilaga: (SERB_Test.pde -kod)

/ * * Arduino Controlled Servo Robot (SERB) - Testprogram * För mer information besök: https://www.oomlout.com/serb * * Beteende: Ett enkelt testprogram som får SERB * att vrida slumpmässigt antingen åt vänster eller höger under en * slumpmässig tidsperiod mellan 0,1 och 1 sekund. * SERB kör sedan framåt under en slumpmässig * tidsperiod mellan 1 och 2 sekunder. Äntligen * paus i 2 sekunder innan du börjar igen. * * Ledningar: Höger Servosignal - stift 9 * Vänster Servosignal - stift 10 * * Licens: Detta verk är licensierat under Creative Commons * Attribution -Share Alike 3.0 Unported License. För att * se en kopia av denna licens, besök * https://creativecommons.org/licenses/by-sa/3.0/ * eller skicka ett brev till Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105, * USA. * */// ----------------------------------------------------- ----------------------------- // START AV ARDUINO CONTROLLED SERVO ROBOT (SERB) PREAMBEL #inkluderar #define LEFTSERVOPIN 10 #define RIGHTSERVOPIN 9Servo lämnadeServo; Servo rightServo; int hastighet = 100; // ställer in robotens hastighet (båda servon) // en procentsats mellan 0 och 100 // END OF ARDUINO CONTROLLED SERVO ROBOT (SERB) PREAMBLE // ---------------- ---------------------------------------------------------- --------/ * * ställer in stiften i lämpliga tillstånd och fäster servon. Pausar sedan * i 1 sekund innan programmet startar */ void setup () {serbSetup (); // ställer in tillståndet för alla nödvändiga // pins och lägger till servon i din sketch randomSeed (analogRead (0)); // ställer in slumptalsfröet med // något milt slumpmässig fördröjning (1000);}/ * * vrider roboten antingen vänster eller höger (slumpmässigt) under en period mellan * 0,1 och 1 sekund. Innan du går framåt för en slumpmässig tidsperiod * mellan 1 och 4 sekunder. Innan du pausar i två sekunder och sedan börjar * igen. */Void loop () {turnRandom (100, 1000); // Svänger slumpmässigt åt vänster eller höger under en // slumpmässig period mellan.1 sekund // och en sekund goForwardRandom (1000, 2000); // Går framåt under en slumpmässig tidsperiod // mellan // 1 och 2 sekunder goStop (); // Stoppar robotfördröjningen (2000); // pausar i 2 sekunder (medan den är stoppad)}/ * * vrider roboten slumpmässigt åt vänster eller höger under en slumpmässig tidsperiod mellan * minTime (millisekunder) och maxTime (millisekunder) */void turnRandom (int minTime, int maxTime) {int val = slumpmässigt (2); // Slumpmässigt tal att bestämma // mellan vänster (1) och höger (0) int turnTime = random (minTime, maxTime); // Slumpmässigt nummer för pausen // tid if (choice == 1) {goLeft ();} // Om slumpmässigt tal = 1 svänger du // vänster annars {goRight ();} // Om slumptal = 0 då sväng // höger fördröjning (turnTime); // fördröjning för slumpmässig tid}/ * * går framåt för en slumpmässig tidsperiod mellan minTime (millisekunder) * och maxTime (millisekunder) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = random (minTime, maxTime); // bestäm en slumpmässig tid för att // gå framåt goForward (); // ställer in SERB -fördröjning (forwardTime); // förseningar för slumpmässig tidsperiod} // ----------------------------------------- -------------------------------- // START AV ARDUINO KONTROLLERADE SERVO ROBOT (SERB) RUTINER/ * * ställer in dina arduino för att adressera din SERB med de medföljande rutinerna*/void serbSetup () {setSpeed (speed); pinMode (LEFTSERVOPIN, OUTPUT); // ställer in vänster servosignalstift // för att mata ut pinMode (RIGHTSERVOPIN, OUTPUT); // ställer in höger servosignalstift // för att mata ut leftServo.attach (LEFTSERVOPIN); // fäster vänster servo rightServo.attach (RIGHTSERVOPIN); // fäster höger servo goStop ();}/ * * ställer in robotens hastighet mellan 0- (stoppad) och 100- (full hastighet) * OBS: hastigheten ändrar inte den aktuella hastigheten du måste ändra hastigheten * ring sedan en av go -metoderna innan ändringar inträffar.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // om hastigheten är större än 100 // gör det till 100 if (newSpeed <= 0) {newSpeed = 0;} // om hastigheten är mindre än 0 gör // det 0 speed = newSpeed * 0,9; // skalar hastigheten till // mellan 0 och 90}/ * * skickar roboten framåt */void goForward () {leftServo.write (90 + hastighet); rightServo.write (90 - hastighet);}/ * * skickar roboten bakåt */void goBackward () {leftServo.write (90 - speed); rightServo.write (90 + hastighet);} / * * skickar roboten höger * /void goRight () {leftServo.write (90 + hastighet); rightServo.write (90 + hastighet);}/ * * skickar roboten vänster */void goLeft () {leftServo.write (90 - speed); rightServo.write (90 - hastighet);}/ * * stoppar roboten */void goStop () {leftServo.write (90); rightServo.write (90);} // END OF ARDUINO CONTROLLED SERVO ROBOT (SERB) ROUTINES // ---------------------------- -----------------------------------------------

Steg 7: Avslutad, andra som har slutat & framtiden

Färdiga, andra som har slutat & framtiden
Färdiga, andra som har slutat & framtiden
Färdiga, andra som har slutat & framtiden
Färdiga, andra som har slutat & framtiden
Färdiga, andra som har slutat & framtiden
Färdiga, andra som har slutat & framtiden
Färdiga, andra som har slutat & framtiden
Färdiga, andra som har slutat & framtiden

Grattis till att du kommit så här långt och jag hoppas att du har roligt med din Arduino Controlled Servo Robot - (SERB). Michael Becks SERB -Michael hittade planerna för SERB på Thingiverse.com och klippte ut hans i gult och rött akryl. Jag tycker att det ser bra ut. Mike's SERB - Mike (från Robotklubben ROBOMO i St. Louis Area) fick en vän laserskära ett SERB -chassi och använde sitt eget robotkunskap för att få det igång. Jag tycker det ser fantastiskt ut gjort i blått. (kolla in hans webbplats för detaljer om detta liksom hans andra robotar (här) Det här avsnittet kommer att ha detaljer om framtida utveckling och bilagor (de kommer att presenteras här innan de dokumenteras korrekt). Men jag skulle också vilja visa upp bilder av andra människors SERB. Så om du är klar, skicka mig ett privat meddelande med ett foto och några ord (vare sig det är en beskrivning eller en länk till din webbplats) så lägger jag till det här. (Shameless Plug) Om du gillade denna instruerbara kolla in oomlout.com för andra roliga projekt med öppen källkod.

Första pris i SANYO eneloop batteridriven tävling

Rekommenderad: