Sadržaj:

Arduino upravljani servo robot (SRB): 7 koraka (sa slikama)
Arduino upravljani servo robot (SRB): 7 koraka (sa slikama)

Video: Arduino upravljani servo robot (SRB): 7 koraka (sa slikama)

Video: Arduino upravljani servo robot (SRB): 7 koraka (sa slikama)
Video: Как Сделать Робота на Arduino UNO / How to Make a Robot on Arduino UNO 2024, Srpanj
Anonim
Arduino upravljani servo robot (SRB)
Arduino upravljani servo robot (SRB)
Arduino upravljani servo robot (SRB)
Arduino upravljani servo robot (SRB)
Arduino upravljani servo robot (SRB)
Arduino upravljani servo robot (SRB)
Arduino upravljani servo robot (SRB)
Arduino upravljani servo robot (SRB)

Koji je bolji način da počnete eksperimentirati s mikrokontrolerima otvorenog koda (Arduino), a zatim izgradnjom vlastitog robota otvorenog koda (CC (SA -BY))? Što učiniti sa vašim SERB -om?

  • (ovdje) - Kako spojiti svoj SERB na internet i voziti ga putem Skype video poziva.
  • (ovdje) - Kako kontrolirati svoj SERB pomoću mjerača ubrzanja Wii nunchucka
  • (ovdje) - Kako svom brinu dodati brkove za otkrivanje prepreka
  • (ovdje) - Kako napraviti 30 kompleta (Otvorena proizvodnja)

Značajke:

  • Potpuno programiran pomoću Arduino Duemilanove mikrokontrolera (ili drugog mikrokontrolera po vašem izboru).
  • Nema potrebe za lemljenjem.
  • Odabir opcija rezanja akrilnih komada. (motorna pila, pristup laserskom rezaču, kupnja unaprijed izrezanih komada)
  • Lako proširivo i promjenjivo s dodatnim rupama za vijke i uključenom pločom za izradu.
  • Stražnji kotač s dvostrukim kugličnim ležajem.
  • Gotovo za 1-2 sata. (iz kompleta)
  • Dizajn otvorenog koda (napravite koliko god želite)

(Besramni utikač) U Velikoj Britaniji i volite Arduino stvari? pogledajte našu novootvorenu web trgovinu oomlout.co.ukKratki video o dovršenom servo robotu kontroliranom Arduinom - (SERB) koji pokreće uključeni testni program (korak 6) Napomena: Izvorne datoteke dostupne su na paralelnom uputstvu (Izvorne datoteke za) - Kako napraviti Arduino upravljani servo robot - (SRB)

Korak 1: Dijelovi i alati

Dijelovi i alati
Dijelovi i alati

Sve vijke možete pronaći u vašem lokalnom skladištu Home. Ostali dijelovi mogu se pronaći na internetu (za svaki sam uključio vezu do svog omiljenog izvora). Popis dijelova: Paket koji sadrži sve hardverske stavke može se kupiti u trgovini oomlout.com (ovdje) (120 USD) Matice i vijci:

  • Vijak 3 mm x 15 mm (x20)
  • Vijak 3 mm x 10 mm (x12)
  • Matica 3 mm (x34)
  • Podloška od 3 mm (x12)
  • Vijak 8 mm x 25 mm (x2)
  • Matica 8 mm (x2)
  • Ležajevi za klizanje (x2) (VXB) (ovo su standardni klizni ležajevi pa se mogu spasiti s par valjaka ili klizaljke)

Gume

  • Veliki O-prsten (4,5 "ID 3/16" Bead Dash #349) (x2) (McMaster-Carr proizvod br. 9452K407)
  • Mali O-prsten (3/4 "ID 3/16" Bead Dash #314) (x1) (McMaster-Carr proizvod #9452K387)

Elektronika

  • Arduino Duemilanove (x1) (Prostor za izradu)
  • Servo s kontinuiranom rotacijom (x2) (paralaksa)
  • 400 Kontakt Breadboard (x1) (sva elektronika))
  • Quad AA kutija za baterije (x1) (sva elektronika)
  • 9V držač za bateriju (x1) (sva elektronika)
  • Utikač od 2,1 mm (x1) (sva elektronika)
  • 3 -polno zaglavlje (x2) (sva elektronika)
  • A -B USB kabel - Stil pisača (x1) (sva elektronika) (nije uključeno u komplet)

Baterije:

  • AA baterija (x4) (nije uključena u komplet)
  • 9v baterija (x1) (nije uključena u komplet)

Žica: (sva žica je čvrsta od 22 AWG, svoju kupujem preko McMaster-Carra)

  • 15 cm ljubičasta (x2)
  • 15 cm crna (x1)
  • 5 cm crna (x2)
  • 5 cm crveno (x2)

Alati

  • Odvijač (x1) (Philips)
  • Klešta s iglastim nosom (x1)

Korak 2: Rezanje komada

Rezanje komada
Rezanje komada
Rezanje komada
Rezanje komada
Rezanje komada
Rezanje komada
Rezanje komada
Rezanje komada

Odaberite korake koje ćete slijediti na temelju opcije rezanja koju ste odabrali. Opcija 1 (Kupnja unaprijed izrezanih dijelova)

Kupite unaprijed izrezanu šasiju u trgovini oomlout.com (ovdje) (60 USD uključujući dostavu u SAD i Kanadu)

Opcija 2 (Digitalna proizvodnja (tj. Ponoko) / pristup laserskom rezaču)

  • Preuzmite izgled laserskog rezača ("03 SERB Ponoko Layout Layout P2.eps" ili "03- (SERB) -Ponoko Layout Cutting Layout (P2).cdr")
  • Izrežite datoteke pomoću Ponoko -a ili vlastitim laserskim rezačem (pomoću akrila od 3 mm,.118 "(ponekad se prodaje kao.125")

Opcija 3 (motorna pila i bušilica)

  • Preuzmite i ispišite PDF uzorak (molimo vas da odaberete datoteku koja odgovara veličini vašeg papira) 03- (SRPSKI) -ScrollSatern Pattern (letter).pdf 03- (SERB) -ScrollSatern Pattern (A4).pdf (važno je ne skalirati crtež tijekom ispisa)
  • Izmjerite ravnalo na ispisu s ravnalom kojem vjerujete, ako se ne podudara s uzorkom koji je skaliran i morate pogledati postavke pisača prije ponovnog ispisa. Ako se ipak podudaraju, nadalje.
  • Zalijepite uzorak na akrilnu ploču (3 mm,.118 "(ponekad se prodaje kao.125").
  • Izbušite rupe.
  • Izrežite komade pomoću pomične pile

Korak 3: Montaža

Skupština
Skupština
Skupština
Skupština
Skupština
Skupština

Čestitamo na uspjehu koji je dovršio 90% procesa. Dovoljno je preuzeti upute za sastavljanje u ovom koraku (04- (SERB) -Vodič za sastavljanje.pdf) i nakon kratkog sastavljanja u lego/mehanskom stilu bit ćete spremni za žicu. Kako bih vas usput zabavljao, evo kratkog prikaza moje skupštine:

Korak 4: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje

Uz sve velike komade zajedno, vrijeme je za dodavanje malih električnih žila koje će omogućiti upravljanje našim robotom. Da biste to učinili, preuzmite i ispišite shemu ožičenja (05- (SRB) -Žijagram ožičenja.pdf). Prvi pogled na njega može izgledati prilično zastrašujuće, no ako svaku vezu napravite uzastopno i odvojite vrijeme, dolazi do iznimne brzine. Ožičenje je prilično jednostavno i nema štete u vašem krugu dok ne dodate baterije. Pa sve spojite dvaput provjerite, a zatim dodajte napajanje.

Korak 5: Testiranje i rješavanje problema

Testiranje i rješavanje problema
Testiranje i rješavanje problema

Ako ste naručili komplet, vaš Arduino je već bio opremljen testnim programom. Samo umetnite 4 AA baterije i priključite 9v bateriju u Arduino. A ako je sve učinjeno ispravno, vaš će se robot kretati (okretat će se u slučajnom smjeru na vrijeme između 0,1 i 1 sekundu prije nego što će nasumično krenuti naprijed između 1 i 2 sekunde, a zatim zastati 2 sekunde prije ponovnog pokretanja). Ako niste kupili komplet, potreban je dodatni korak. Preuzmite priloženu zip datoteku (07- (SRB)-SERB-Test Arduino Program.zip). Zatim ga raspakirajte u svoj Arduino direktorij skica (zadani "moji dokumenti / Arduino \") i preuzmite ga na svoju arduino ploču. (ako ste tek počeli koristiti Arduino, skočite naprijed jedan korak gdje postoje veze do sjajnih vodiča za početak rada) Uobičajeni problemi: Moj SERB se polako kreće kad ga treba zaustaviti. To je rezultat toga što vaši servosistemi nisu dobro kalibrirani, da biste kalibrirali svoje servomotore pričekajte dok se vaš program ne zaustavi, a zatim malim odvijačem okrenite potenciometar unutar serva (mali otvor u kućištu servoa upravo iznad mjesta gdje su žice). Rotirajte ga lijevo ili desno sve dok se servo doista ne zaustavi. Stvari ne funkcioniraju baš kako treba. Pošaljite nam e-poštu sa svojim simptomima i mi ćemo vam pokušati pomoći, dok čekate odgovor, provjerite sve svoje žice sa shemom ožičenja iz koraka 4. Ako naiđete na bilo koji problem, dodajte komentar na ovaj Instructable ili pošaljite e-poštu na [email protected] i mi ćemo se potruditi da vam pomognemo da vaš SERB funkcionira

Korak 6: Programiranje

Programiranje
Programiranje

Fizički robot je završio vrijeme za početak davanja mozga. Prije nego što prijeđemo u detalje programiranja Arduino upravljanog servo robota - (SERB) - nekoliko veza do nekih izvrsnih Arduino programskih resursa na internetu. Arduino početni vodič - Vodič koji će vam pomoći da započnete s Arduinosom, od preuzimanja programskog okruženja do pisanja vašeg prvog programa. Arduino programiranje Reference - Potpuno jednostavan vodič za programski jezik Arduino. Kako rade servomotori - Brzi temeljni rad rada servo motora. Arduino servo knjižnica - Kako funkcionira Arduino Servo knjižnica (kako kontroliramo naše servomotore). U redu, s učenjem na putu, možemo pristupiti programiranju. Postoje tri načina za početak programiranja vašeg Arduino upravljanog servo robota - (SERB). Opcija 1: (Mijenjanje SERB_Test.pde) Ponekad je pri programiranju najjednostavnije uzeti radni program i početi mu dodavati vlastiti kod. Da biste to učinili, preuzmite program sa zipom SERB_Test (07- (SERB)-SERB-Test Arduino Program.zip). Raspakirajte ovo u svoju Arduino mapu skica (zadani "Moji dokumenti / Arduino \"). Na kraju otvorite programsko okruženje Arduino i preuzmite ga na svoj Arduino. Kôd je dobro komentiran. (Ili kopirajte i zalijepite kôd iz dodatka na ovom koraku u novu Arduino skicu) Opcija 2: (Dodavanje srpskih rutina vašem programu) Dodajte neke jednostavne rutine u svoj već postojeći program (poput goForward (), setSpeed (int) itd.). Da biste to učinili, preuzmite rutine u tekstualnoj datoteci (07- (SERB)- Jednostavne rutine Text.txt). 1. Kopirajte i zalijepite dio preambule na početak programa.2. Kopirajte i zalijepite rutinski dio u tijelo vašeg programa.3. Dodajte poziv u serbSetup (); na vašu rutinu setup (). Opcija 3: (Stvaranje vlastitog programa od nule) Ovo nije previše teško. Sve što je potrebno je upoznati se s Arduino Servo knjižnicom. Zatim je desni servo spojen na pin 9, a lijevi na pin 10. Napomena: Dodatni programi bit će dodani ovdje dok se razvijaju; ili ako razvijete nešto i želite da to bude predstavljeno, pošaljite mi privatnu poruku i to se može dodati. Dodatak: (kod SERB_Test.pde)

/ * * Arduino upravljani servo robot (SERB) - Testni program * Za više detalja posjetite: https://www.oomlout.com/serb * * Ponašanje: Jednostavan testni program zbog kojeg se SERB * nasumično okreće lijevo ili desno za * slučajni vremenski period između 0,1 i 1 sekunde. * SRB će tada voziti naprijed nasumično * vremensko razdoblje između 1 i 2 sekunde. Konačno * pauziranje 2 sekunde prije ponovnog početka. * * Ožičenje: Desni servo signal - pin 9 * Lijevi servo signal - pin 10 * * Licenca: Ovo djelo je licencirano pod licencom Creative Commons * Licenca za dijeljenje pod istim uvjetima 3.0, neprijavljena. Da biste * vidjeli kopiju ove licence, posjetite * https://creativecommons.org/licenses/by-sa/3.0/ * ili pošaljite pismo na Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105, * SAD. * */// --------------------------------------------- ----------------------------- // POČETAK ARDUINO SERVO ROBOTA (SRPSKI) PREAMBULJA #uključuje #define LEFTSERVOPIN 10 #define RIGHTSERVOPIN 9Servo leftServo; Servo desnoServo; int brzina = 100; // postavlja brzinu robota (oba servo servera) // postotak između 0 i 100 // KRAJ ARDUINO SERVO ROBOTA (SERB) PREAMBLOG // ---------------- -------------------------------------------------- --------/ * * postavlja pinove u odgovarajuća stanja i priključuje servosisteme. Zatim pauzira * na 1 sekundu prije početka programa */ void setup () {serbSetup (); // postavlja stanje svih potrebnih // pinova i dodaje servo u vašu skicu randomSeed (analogRead (0)); // postavlja izvor slučajnog broja s // nečim blago slučajnim kašnjenjem (1000);}/ * * okreće robota lijevo ili desno (nasumično) u razdoblju između * 0,1 i 1 sekunde. Prije nastavka nasumičnog vremenskog razdoblja * između 1 i 4 sekunde. Prije pauze na dvije sekunde, a zatim ponovno pokretanje *. */Void loop () {turnRandom (100, 1000); // Slučajno skreće lijevo ili desno za // slučajno razdoblje između.1 sekunde // i jedne sekunde goForwardRandom (1000, 2000); // Ide naprijed za slučajno vremensko razdoblje // između // 1 i 2 sekunde goStop (); // Zaustavlja odlaganje robota (2000); // pauzira 2 sekunde (dok je zaustavljen)}/ * * okreće robota nasumično ulijevo ili udesno za slučajno vremensko razdoblje između * minTime (milisekunde) i maxTime (milisekunde) */void turnRandom (int minTime, int maxTime) {int izbor = slučajan (2); // Slučajni broj za odlučivanje // između lijeve (1) i desne (0) int turnTime = random (minTime, maxTime); // Slučajni broj za pauzu // vrijeme if (choice == 1) {goLeft ();} // Ako je slučajni broj = 1 onda okrenite // lijevo else {goRight ();} // Ako je slučajni broj = 0 tada turn // kašnjenje udesno (turnTime); // kašnjenje za slučajno vrijeme}/ * * ide naprijed za slučajno vremensko razdoblje između minTime (milisekunde) * i maxTime (milisekunde) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = random (minTime, maxTime); // određujemo slučajno vrijeme za // ići naprijed goForward (); // postavlja kašnjenje SRB -a prema naprijed (forwardTime); // kašnjenja za slučajni vremenski period} // ---------------------------------------- -------------------------------- // POČETAK ARDUINO SERVO ROBOTA (SRB) KONTROLIRANIH SERVO/ * * postavlja vaše arduino za obraćanje vašem SERB -u pomoću uključenih rutina*/void serbSetup () {setSpeed (speed); pinMode (LEFTSERVOPIN, OUTPUT); // postavlja lijevi pin servo signala // na izlazni pinMode (RIGHTSERVOPIN, OUTPUT); // postavlja desni pin servo signala // na izlaz leftServo.attach (LEFTSERVOPIN); // priključuje lijevi servo rightServo.attach (RIGHTSERVOPIN); // priključuje desni servo goStop ();}/ * * postavlja brzinu robota između 0- (zaustavljeno) i 100- (puna brzina) * NAPOMENA: brzina neće promijeniti trenutnu brzinu koju morate promijeniti brzinu * zatim nazovite jednu go go metoda prije nego što dođe do promjena.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // ako je brzina veća od 100 // neka bude 100 if (newSpeed <= 0) {newSpeed = 0;} // ako je brzina manja od 0 make // it 0 speed = newSpeed * 0,9; // mjeri brzinu koja će biti // između 0 i 90}/ * * šalje robota naprijed */void goForward () {leftServo.write (90 + brzina); rightServo.write (90 - brzina);}/ * * šalje robota unatrag */void goBackward () {leftServo.write (90 - brzina); rightServo.write (90 + brzina);} / * * šalje robota desno * /void goRight () {leftServo.write (90 + brzina); rightServo.write (90 + brzina);}/ * * šalje robota lijevo */void goLeft () {leftServo.write (90 - brzina); rightServo.write (90 - brzina);}/ * * zaustavlja robota */void goStop () {leftServo.write (90); rightServo.write (90);} // ZAVRŠETAK ARDUINO SERVO ROBOTA (SRPSKIH) PROGRAMA // ---------------------------- -----------------------------------------------

Korak 7: Završeno, drugi koji su završili i budućnost

Završeno, drugi koji su završili i budućnost
Završeno, drugi koji su završili i budućnost
Završeno, drugi koji su završili i budućnost
Završeno, drugi koji su završili i budućnost
Završeno, drugi koji su završili i budućnost
Završeno, drugi koji su završili i budućnost
Završeno, drugi koji su završili i budućnost
Završeno, drugi koji su završili i budućnost

Čestitam vam što ste stigli dovde i nadam se da ćete se zabaviti sa svojim Arduino upravljanim servo robotom - (SRB). SRB Michaela Becka - Michael je pronašao planove za SRB na Thingiverse.com i izrezao mu žuti i crveni akril. Mislim da izgleda sjajno. Mikeov SRPSKI - Mike (iz robotskog kluba St. Louis Area ROBOMO) dao je prijatelju laserski izrezati SRB šasiju i upotrijebio svoje robotsko znanje kako bi ga pokrenuo. Mislim da izgleda super napravljeno u plavoj boji. (provjerite njegovu web stranicu za detalje o ovome, kao i o drugim njegovim robotima (ovdje) Ovaj odjeljak će sadržavati detalje o budućim razvojima i prilozima (oni će biti prikazani ovdje prije nego što budu pravilno dokumentirani). No htio bih pokazati i slike drugih ljudi SRBI. Dakle, ako ste završili, pošaljite mi privatnu poruku sa fotografijom i nekoliko riječi (bilo da je riječ o opisu ili poveznici na vašu web stranicu), a ja ću je dodati ovdje. (Shameless Plug) Ako vam se sviđa ovu poučnu stranicu potražite na oomlout.com za druge zabavne projekte otvorenog koda.

Prva nagrada na natjecanju SANYO eneloop na baterije

Preporučeni: