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, Juli
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 otvorenog koda (CC (SA -BY))? Šta učiniti sa vašim SERB -om?

  • (ovde) - Kako povezati SERB sa internetom i voziti ga preko Skype video poziva.
  • (ovdje) - Kako kontrolirati svoj SERB pomoću Wii nunchuckovih mjerača ubrzanja
  • (ovdje) - Kako dodati brkove za otkrivanje prepreka svom robotu
  • (ovdje) - Kako napraviti 30 kompleta (Otvorena proizvodnja)

Karakteristike:

  • Potpuno programiran pomoću Arduino Duemilanove mikrokontrolera (ili drugog mikrokontrolera po vašem izboru).
  • Nema potrebe za lemljenjem.
  • Izbor opcija rezanja akrilnih komada. (motorna pila, pristup laserskom rezaču, kupovina unaprijed izrezanih komada)
  • Lako proširivo i promjenjivo s dodatnim rupama za vijke i uključenom pločom za osnove.
  • Zadnji točak sa dvostrukim kugličnim ležajem.
  • Počinje s radom 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.uk Kratki video o dovršenom servo robotu kontroliranom Arduinom - (SRB) 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

Svi vijci se mogu pronaći u vašem lokalnom skladištu Home. Ostale dijelove možete pronaći na internetu (za svaki sam uključio vezu do svog omiljenog izvora). Lista dijelova: Paket sa svim hardverskim stavkama može se kupiti u trgovini oomlout.com (ovdje) (120 USD) Matice i vijci:

  • 3 mm x 15 mm vijak (x20)
  • 3 mm x 10 mm vijak (x12)
  • 3 mm matica (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 tako da 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 br. 9452K387)

Elektronika

  • Arduino Duemilanove (x1) (Maker Shed)
  • Servo sa kontinuiranom rotacijom (x2) (paralaks)
  • 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 štampač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 crvena (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 osnovu opcije rezanja koju ste odabrali. Opcija 1 (Kupovina 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 Cutting P2.eps" ili "03- (SERB) -Ponoko Layout Cutting (P2).cdr")
  • Izrežite datoteke pomoću Ponoko -a ili vlastitim laserskim rezačem (koristeći 3 mm, 0,111 "akril (ponekad se prodaje kao. 125")

Opcija 3 (motorna pila i bušilica)

  • Preuzmite i odštampajte PDF uzorak (izaberite datoteku koja odgovara veličini vašeg papira) 03- (SRB) -ScrollSatern Pattern (pismo).pdf 03- (SERB) -ScrollSatern Pattern (A4).pdf (važno je ne skalirati crtež tokom štampanja)
  • 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 štampanja. Ako se ipak podudaraju, nadalje.
  • Zalijepite uzorak na akrilnu ploču (3 mm,.118 "(ponekad se prodaje i kao.125").
  • Izbušite rupe.
  • Izrežite komade pomoću klizne pile

Korak 3: Montaža

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Čestitamo što ste ovoliko uspjeli. 90% procesa je dovršeno. Preuzmite 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. Da vas usput zabavim, evo kratkog prikaza moje skupštine:

Korak 4: Ožičenje

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

Sa svim velikim komadima zajedno, vrijeme je da dodate male električne žile koje će omogućiti upravljanje našim robotom. Da biste to učinili, preuzmite i odštampajte dijagram ožičenja (05- (SRB) -Dijagram ožičenja.pdf). Prvi pogled na njega može izgledati prilično zastrašujuće, međutim ako svaku vezu napravite uzastopno i odvojite vrijeme, dolazi do nje izuzetno brzo. Ožičenje je prilično jednostavno i nema štete u vašem krugu dok ne dodate baterije. Zato 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 umetnite 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 pauzirati 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 novi u Arduinu, skočite naprijed jedan korak gdje postoje veze do sjajnih vodiča za početak rada) Uobičajeni problemi: Moj SERB se kreće sporo kad ga treba zaustaviti. To je rezultat toga što vaši servosistemi nisu dobro kalibrirani, da biste kalibrirali svoje servoe sačekajte dok se vaš program ne zaustavi, a zatim malim odvijačem okrenite potenciometar unutar serva (mali otvor u servo kućištu neposredno iznad žica). Rotirajte ga lijevo ili desno sve dok se servo zaista ne zaustavi. Stvari ne funkcioniraju baš kako treba. Pošaljite nam e-poruku 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 radi

Korak 6: Programiranje

Programiranje
Programiranje

Fizički robot je završio sa vremenom 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 - Potpuno jednostavan vodič za programski jezik Arduino. Kako rade servomotori - brzi primer rada servo motora. Arduino servo biblioteka - Kako funkcionira Arduino Servo biblioteka (kako kontroliramo naše servo sisteme). 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: (Izmjena SERB_Test.pde) Ponekad je pri programiranju najjednostavnije učiniti uzeti radni program i početi mu dodavati vlastiti kod. Da biste to učinili, preuzmite program sa zipom SERB_Test (07- (SRB)-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 u vaš program) 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- (SRB)- 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: (Kreiranje vlastitog programa od nule) Ovo nije previše teško. Sve što je potrebno je da se upoznate sa Arduino Servo bibliotekom. Zatim je desni servo spojen na pin 9, a lijevi na pin 10. napomena: Dodatni programi bit će dodani ovdje kako 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) - Program testiranja * Za više detalja posetite: https://www.oomlout.com/serb * * Ponašanje: Jednostavan testni program koji uzrokuje da se SERB * nasumično okreće levo ili desno za * slučajan vremenski period između 0,1 i 1 sekunde. * SRB će tada voziti napred nasumično * vremenski period 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) PREAMBULA #uključuje #define LEFTSERVOPIN 10 #define RIGHTSERVOPIN 9Servo leftServo; Servo desnoServo; int brzina = 100; // postavlja brzinu robota (oba servo-a) // postotak između 0 i 100 // KRAJ ARDUINO SERVO ROBOTA (SERB) PREAMBLOG // ---------------- -------------------------------------------------- --------/ * * postavlja pinove u odgovarajuća stanja i priključuje servosisteme. Zatim pauzira * 1 sekundu prije početka programa */ void setup () {serbSetup (); // postavlja stanje svih potrebnih // pinova i dodaje servosisteme na vašu skicu randomSeed (analogRead (0)); // postavlja seme slučajnih brojeva sa // nečim blago nasumičnim kašnjenjem (1000);}/ * * okreće robota lijevo ili desno (nasumično) u periodu između * 0,1 i 1 sekunde. Prije nastavka nasumičnog vremenskog perioda * između 1 i 4 sekunde. Prije pauze na dvije sekunde, a zatim ponovo pokretanje *. */Void loop () {turnRandom (100, 1000); // Slučajno skreće lijevo ili desno za // slučajno vrijeme između.1 sekunde // i jedne sekunde goForwardRandom (1000, 2000); // Ide naprijed za slučajni vremenski period // 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 tokom nasumičnog vremenskog perioda 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 // desno kašnjenje (turnTime); // kašnjenje za slučajno vrijeme}/ * * ide naprijed za slučajni vremenski period između minTime (milisekunde) * i maxTime (milisekunde) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = random (minTime, maxTime); // određujemo slučajno vrijeme za // kretanje naprijed goForward (); // postavlja kašnjenje SRB -a naprijed (forwardTime); // kašnjenja za slučajni vremenski period} // ---------------------------------------- -------------------------------- // POČETAK ARDUINO KONTROLIRANIH SERVO ROBOTA (SRPSKIH) RUTINA/ * * postavlja vaše arduino za obraćanje vašem SERB -u pomoću uključenih rutina*/void serbSetup () {setSpeed (speed); pinMode (LEFTSERVOPIN, OUTPUT); // postavlja lijevu iglu servo signala // na izlaz 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, morate promijeniti brzinu * zatim pozovite 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 // to 0 speed = newSpeed * 0,9; // povećava brzinu između 0 i 90}/ * * šalje robota naprijed */void goForward () {leftServo.write (90 + brzina); rightServo.write (90 - brzina);}/ * * šalje robota unazad */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 ulijevo */void goLeft () {leftServo.write (90 - brzina); rightServo.write (90 - brzina);}/ * * zaustavlja robota */void goStop () {leftServo.write (90); rightServo.write (90);} // KRAJ ARDUINO SERVO ROBOTA (SRPSKIH) ROBOTA KOJE KONTROLIRA // ---------------------------- -----------------------------------------------

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 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 SRB - Mike (iz robotskog kluba ROBOMO iz St. Louis područja) dao je prijatelju laserski izrezati SRB šasiju i upotrijebio svoje robotsko znanje kako bi ga pokrenuo. Mislim da izgleda odlično napravljeno u plavoj boji. (provjerite njegovu web stranicu za detalje o ovome, kao i o njegovim drugim robotima (ovdje) Ovaj odjeljak će imati detalje o budućim razvojima i prilozima (oni će biti predstavljeni ovdje prije nego što budu pravilno dokumentirani). Ali također bih htio pokazati slike SRBI drugih naroda. Dakle, ako ste završili, pošaljite mi privatnu poruku sa fotografijom i nekoliko riječi (bilo da je to opis ili link na vašu web stranicu), a ja ću je dodati ovdje. (Besramni utikač) Ako vam se sviđa ovo uputstvo potražite na oomlout.com za druge zabavne projekte otvorenog koda.

Prva nagrada na SANYO eneloop takmičenju na baterije

Preporučuje se: