Turinys:
- 1 žingsnis: dalys ir įrankiai
- 2 žingsnis: gabalų pjaustymas
- 3 žingsnis: Surinkimas
- 4 žingsnis: laidų prijungimas
- 5 veiksmas: bandymas ir trikčių šalinimas
- 6 žingsnis: programavimas
- 7 žingsnis: baigta, kiti, kurie baigė ir ateitis
Video: „Arduino“valdomas servo robotas (SERB): 7 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:50
Koks geresnis būdas pradėti eksperimentuoti su atvirojo kodo mikrovaldikliais („Arduino“), tada sukuriant savo atviro kodo robotą (CC (SA -BY))? Ką daryti su SERB?
- (čia) - Kaip prijungti SERB prie interneto ir valdyti jį per „Skype“vaizdo skambutį.
- (čia) - Kaip valdyti savo SERB naudojant „Wii nunchuck“akselerometrus
- (čia) - Kaip pridėti kliūčių aptikimo ūsus prie savo roboto
- (čia) - Kaip pagaminti 30 rinkinių (atvira gamyba)
Funkcijos:
- Visiškai programuojamas naudojant „Arduino Duemilanove“mikrovaldiklį (arba kitą jūsų pasirinktą mikrovaldiklį).
- Lituoti nereikia.
- Akrilo gabalų pjovimo variantų pasirinkimas. (slinkties pjūklas, prieiga prie lazerinio pjaustytuvo, perkant iš anksto supjaustytas dalis)
- Lengvai išplečiamas ir keičiamas, naudojant papildomas varžtų skyles ir pridedamą duonos lentą.
- Dvigubas rutulinis guolis galinis ratas.
- Pradės veikti 1–2 valandas. (iš komplekto)
- Atviro kodo dizainas (sukurkite tiek, kiek norite)
(„Shameless Plug“) JK ir kaip „Arduino“dalykai? Peržiūrėkite mūsų naujai atidarytą internetinę parduotuvę oomlout.co.uk Greitas vaizdo įrašas apie užbaigtą „Arduino“valdomą servo robotą - (SERB), kuriame vykdoma įtraukta bandymo programa (6 veiksmas) Pastaba: šaltinio failai yra prieinami lygiagrečioje instrukcijoje (šaltinio failai) - Kaip padaryti „Arduino“valdomą servo robotą - (SERB)
1 žingsnis: dalys ir įrankiai
Visus varžtus galite rasti vietiniame „Home Depot“. Kitas dalis galima rasti internete (kiekvienai pateikiau nuorodą į savo mėgstamą šaltinį). Dalių sąrašas: „Oomlout.com“parduotuvėje (čia) galima įsigyti paketą, kuriame yra visi aparatūros elementai (120 USD). Veržlės ir varžtai:
- 3 mm x 15 mm varžtas (x20)
- 3 mm x 10 mm varžtas (x12)
- 3 mm veržlė (x34)
- 3 mm poveržlė (x12)
- 8 mm x 25 mm varžtas (x2)
- 8 mm veržlė (x2)
- Riedučių guoliai (x2) (VXB) (tai yra standartiniai riedučių guoliai, todėl juos galima išgelbėti iš poros ritininių menčių arba riedlentės)
Padangos
- Didelis sandarinimo žiedas (4,5 col. ID 3/16 col. Karoliukų brūkšnys #349) (x2) („McMaster-Carr“gaminio Nr. 9452K407)
- Mažas sandarinimo žiedas (3/4 "ID 3/16" karoliukų brūkšnys #314) (x1) ("McMaster-Carr" produktas #9452K387)
Elektronika
- „Arduino Duemilanove“(x1) („Maker Shed“)
- Nuolatinio sukimosi servo sistema (x2) (paralaksas)
- 400 kontaktinė duonos lenta (x1) (visa elektronika))
- Keturių AA baterijų dėžutė (x1) (visa elektronika)
- 9V akumuliatoriaus spaustukas (x1) (visa elektronika)
- 2,1 mm kištukas (x1) (visa elektronika)
- 3 kontaktų antraštė (x2) (visa elektronika)
- A -B USB kabelis - spausdintuvo stilius (x1) (visa elektronika) (į komplektą neįeina)
Baterijos:
- AA baterija (x4) (į komplektą neįeina)
- 9 V baterija (x1) (į komplektą neįeina)
Viela: (visa viela yra 22 AWG kietas, aš įsigyju kasyklą per „McMaster-Carr“)
- 15 cm violetinė (x2)
- 15 cm juoda (x1)
- 5 cm juoda (x2)
- 5 cm raudona (x2)
Įrankiai
- Atsuktuvas (x1) („Philips“)
- Adatos replėms (x1)
2 žingsnis: gabalų pjaustymas
Prašome pasirinkti, kokius veiksmus atlikti, atsižvelgiant į pasirinktą pjovimo parinktį. 1 variantas (iš anksto supjaustytų dalių pirkimas)
Įsigykite iš anksto supjaustytą važiuoklę iš oomlout.com parduotuvės (čia) (60 USD, įskaitant pristatymą į JAV ir Kanadą)
2 variantas (skaitmeninė gamyba (pvz., „Ponoko“) / Prieiga prie lazerinio pjaustytuvo)
- Atsisiųskite lazerinio pjaustytuvo išdėstymą („03 SERB Ponoko Cutting Layout P2.eps“arba „03- (SERB) -Ponoko Cutting Layout (P2). Cdr“)
- Iškirpkite failus naudodami „Ponoko“arba savo lazerinį pjoviklį (naudodami 3 mm,.118 colių akrilą (kartais parduodamas kaip.125 colių)
3 variantas (slinkties pjūklas ir gręžtuvas)
- Atsisiųskite ir atsispausdinkite PDF šabloną (pasirinkite failą, atitinkantį jūsų popieriaus dydį) 03- (SERB) -ScrollSaw Pattern (raidė).pdf 03- (SERB) -ScrollSaw Pattern (A4).pdf (svarbu, kad nebūtų mastelio piešimas spausdinant)
- Išmatuokite spaudinyje esančią liniuotę su liniuote, kuria pasitikite, jei jos neatitinka modelio mastelio ir prieš perspausdindami turite peržiūrėti savo spausdintuvo nustatymus. Jei jie sutampa, pirmyn.
- Klijuokite modelį prie akrilo lakšto (3 mm,.118 "(kartais parduodamas kaip.125").
- Gręžkite skyles.
- Iškirpkite gabalus naudodami slinkimo pjūklą
3 žingsnis: Surinkimas
Sveikiname, kad 90% proceso baigta, tiesiog atsisiųskite šio žingsnio surinkimo instrukcijas (04- (SERB)-Surinkimo vadovas.pdf) ir po nedidelio lego/mechano stiliaus surinkimo būsite pasiruošę laidui. Norėdami jus linksminti pakeliui, yra mano susirinkimo laikas:
4 žingsnis: laidų prijungimas
Kai visi dideli gabalai kartu, laikas pridėti mažas elektrines gyslas, kurios leis valdyti mūsų robotą. Norėdami tai padaryti, atsisiųskite ir atsispausdinkite prijungimo schemą (05- (SERB)-laidų schema.pdf). Iš pirmo žvilgsnio jis gali atrodyti gana bauginantis, tačiau jei kiekvieną ryšį užmezgsite nuosekliai ir neskubėsite, jis susitvarkys nepaprastai greitai. Laidai yra gana paprasti ir jūsų grandinei nebus jokios žalos, kol nepridėsite baterijų. Taigi viską prijunkite, patikrinkite dar kartą, tada pridėkite maitinimą.
5 veiksmas: bandymas ir trikčių šalinimas
Jei užsisakėte rinkinį, „Arduino“buvo iš anksto įdiegta bandymo programa. Tiesiog įdėkite 4 AA baterijas ir prijunkite 9 V bateriją prie „Arduino“. Ir jei viskas buvo padaryta teisingai, jūsų robotas pradės judėti (jis pasuks atsitiktine kryptimi tam tikrą laiką nuo 0,1 iki 1 sekundės, prieš eidamas į priekį atsitiktiniu laiku nuo 1 iki 2 sekundžių, po to pristabdys 2 sekundes prieš pradėdamas iš naujo). Jei nenusipirkote rinkinio, reikia atlikti papildomą veiksmą. Atsisiųskite pridėtą ZIP failą (07- (SERB)-SERB-Test Arduino Program.zip). Tada išpakuokite jį savo „Arduino“eskizų kataloge (numatytasis „mano dokumentai / Arduino“) ir atsisiųskite jį į savo arduino plokštę. (jei esate naujokas „Arduino“, ženkite vieną žingsnį į priekį, kur yra nuorodų į puikias darbo pradžios pamokas) Dažnos problemos: mano SERB lėtai juda, kai jį reikia sustabdyti. Taip yra dėl to, kad jūsų servos nebuvo tinkamai sukalibruotos, kad sukalibruotumėte savo servus, palaukite, kol programa bus sustabdyta, tada mažu atsuktuvu pasukite potenciometrą servo viduje (maža anga servo korpuse, esančioje tiesiai virš laidų). Pasukite jį į kairę arba į dešinę, kol servo sistema tikrai sustos. Daiktai neveikia tinkamai. Atsiųskite mums el. Laišką su savo simptomais ir mes stengsimės jums padėti, kol laukiate atsakymo, dar kartą patikrinkite visus savo laidus su prijungimo schema iš 4 veiksmo. Jei susiduriate su problema, pridėkite komentarą į šį „Instructable“arba atsiųskite el. laišką adresu [email protected] ir mes stengsimės jums padėti, kad jūsų SERB veiktų
6 žingsnis: programavimas
Fizinis robotas yra baigtas laikas pradėti duoti jam smegenis. Prieš pradėdami susipažinti su „Arduino“valdomo servo roboto - (SERB) programavimo detalėmis - keletas nuorodų į puikius „Arduino“programavimo išteklius internete. „Arduino“pradžios vadovas - vadovas padėti jums pradėti naudotis „Arduinos“, pradedant programavimo aplinkos atsisiuntimu ir baigiant pirmosios programos rašymu. „Arduino“programavimo nuoroda - išsamus, lengvai pateikiamas „Arduino“programavimo kalbos vadovas. Kaip veikia „Servos“- greitas servo variklių veikimo pradžia. - Kaip veikia „Arduino Servo“biblioteka (kaip mes valdome savo servus). Gerai, jei mokotės iš kelio, galite pradėti programuoti. Yra trys būdai, kaip pradėti programuoti „Arduino“valdomą servo robotą - (SERB). 1 parinktis: (SERB_Test.pde modifikavimas) Kartais programuojant lengviausias dalykas yra imtis darbo programos ir pradėti prie jos pridėti savo kodą. Norėdami tai padaryti, atsisiųskite programą „SERB_Test zipped“(07- (SERB)-SERB-Test Arduino Program.zip). Toliau išpakuokite tai savo „Arduino“eskizų aplanke (numatytasis „Mano dokumentai / Arduino“). Galiausiai atidarykite „Arduino“programavimo aplinką ir atsisiųskite ją į „Arduino“. Kodas yra gerai pakomentuotas. (Arba nukopijuokite ir įklijuokite kodą iš šio veiksmo priedo į naują „Arduino“eskizą) 2 variantas: (SERB įpročių pridėjimas prie savo programos) Prie savo esamos programos pridėkite keletą paprastų procedūrų (pvz., „GoForward“), setSpeed (int) ir tt). Norėdami tai padaryti, atsisiųskite tekstinio failo procedūras (07- (SERB)- Simple Routines Text.txt). 1. Nukopijuokite ir įklijuokite preambulės dalį į savo programos pradžią.2. Nukopijuokite ir įklijuokite įprastą dalį į savo programos tekstą. Pridėti skambutį prie serbSetup (); 3 parinktis: (Sukurkite savo programą nuo nulio) Tai nėra per sunku. Viskas, ko jums reikia, yra susipažinti su „Arduino Servo“biblioteka. Tada dešinysis servo įrenginys yra prijungtas prie 9 kaiščio, o kairysis - prie 10 kaiščio. Pastaba: čia bus pridėtos papildomos programos, kai jos bus sukurtos; arba jei ką nors sukursite ir norėtumėte, kad jis būtų rodomas, atsiųskite man asmeninę žinutę ir jis gali būti pridėtas. Priedas: (SERB_Test.pde kodas)
/ * * „Arduino“valdomas servo robotas (SERB) - bandymo programa * Norėdami gauti daugiau informacijos, apsilankykite: https://www.oomlout.com/serb * * Elgesys: paprasta bandymo programa, dėl kurios SERB * atsitiktinai pasisuka į kairę arba į dešinę * atsitiktiniam laikotarpiui nuo 0,1 iki 1 sekundės. * Tada SERB važiuos į priekį atsitiktine tvarka * nuo 1 iki 2 sekundžių. Galiausiai * sustabdykite 2 sekundes prieš vėl pradėdami. * * Laidai: dešinysis servo signalas - 9 kaištis * Kairysis servo signalas - 10 kaištis * * Licencija: Šis darbas yra licencijuotas pagal „Creative Commons“* „Attribution -Share Alike 3.0 Unported License“. Norėdami * peržiūrėti šios licencijos kopiją, apsilankykite * https://creativecommons.org/licenses/by-sa/3.0/ * arba atsiųskite laišką „Creative Commons“, 171 Second * Street, Suite 300, San Francisco, California 94105, * JAV. * */// --------------------------------------------- ----------------------------- // ARDUINO KONTROLIUOJAMO SERVO ROBOTO (SERBO) PRAMBOS PRADA #apima #define LEFTSERVOPIN 10 #define RIGHTSERVOPIN 9Servo kairėServo; Servo dešinėServo; int greitis = 100; // nustato roboto greitį (abu servai) // procentas tarp 0 ir 100 // ARDUINO KONTROLIUOTO SERVO ROBOTO (SERBO) PABAIGA // ---------------- -------------------------------------------------- --------/ * * nustato smeigtukus į atitinkamas būsenas ir pritvirtina servo servus. Tada pauzė * 1 sekundei prieš pradedant programą */ void setup () {serbSetup (); // nustato visų būtinų // smeigtukų būseną ir prideda servo prie jūsų eskizo randomSeed (analogRead (0)); // nustato atsitiktinio skaičiaus sėklą su // kažkuo šiek tiek atsitiktiniu vėlavimu (1000);}/ * * pasuka robotą į kairę arba į dešinę (atsitiktinai) tam tikrą laikotarpį nuo * 0,1 iki 1 sekundės. Prieš eidami į priekį atsitiktine tvarka * nuo 1 iki 4 sekundžių. Prieš sustabdydami dvi sekundes, tada vėl pradėdami *. */Void loop () {turnRandom (100, 1000); // Atsitiktinai pasisuka į kairę arba į dešinę // atsitiktinio laiko tarpui nuo.1 sekundės // iki vienos sekundės goForwardRandom (1000, 2000); // Eina į priekį atsitiktine tvarka // nuo 1 iki 2 sekundžių goStop (); // Sustabdo roboto uždelsimą (2000); // pauzė 2 sekundėms (tuo pat metu sustabdyta)}/ * * atsitiktine tvarka pasuka robotą į kairę arba į dešinę nuo * minTime (milisekundės) iki maxTime (milisekundės) */void turnRandom (int minTime, int maxTime) {int pasirinkimas = atsitiktinis (2); // Atsitiktinis skaičius nuspręsti // tarp kairės (1) ir dešinės (0) int turnTime = atsitiktinis (minTime, maxTime); // Atsitiktinis pauzės numeris // laikas, jei (pasirinkimas == 1) {goLeft ();} // Jei atsitiktinis skaičius = 1, tada pasukite // į kairę {goRight ();} // Jei atsitiktinis skaičius = 0, tada turn // vėlavimas į dešinę (turnTime); // uždelsimas atsitiktiniam laikui}/ * * eina į priekį atsitiktiniam laikotarpiui tarp minTime (milisekundžių) * ir maxTime (milisekundžių) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = random (minTime, maxTime); // nustatyti atsitiktinį laiką iki // eiti į priekį goForward (); // nustato SERB persiuntimo delsa (forwardTime); // vėlavimai atsitiktiniam laikotarpiui} // ---------------------------------------- -------------------------------- // ARDUINO KONTROLIUOJAMO SERVO ROBOTO (SERBO) MUTŲ PRADŽIA/ * * nustato jūsų arduino, kad kreiptųsi į jūsų SERB naudodami įtrauktas procedūras*/void serbSetup () {setSpeed (sparta); pinMode (LEFTSERVOPIN, OUTPUT); // nustato kairįjį servo signalo kaištį // į išvesties pinMode (RIGHTSERVOPIN, OUTPUT); // nustato dešinį servo signalo kaištį // išvesti leftServo.attach (LEFTSERVOPIN); // prideda kairįjį servo dešinįjįServo.attach (RIGHTSERVOPIN); // pridedamas dešinysis servo goStop ();}/ * * nustato roboto greitį tarp 0- (sustabdytas) ir 100- (visu greičiu) * PASTABA: greitis nepakeis dabartinio greičio, turite pakeisti greitį *, tada paskambinkite iš eigos metodų prieš įvykstant pakeitimams.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // jei greitis didesnis nei 100 // padarykite jį 100, jei (newSpeed <= 0) {newSpeed = 0;} // jei greitis mažesnis nei 0, tai // it 0 speed = newSpeed * 0.9; // padidina greitį // nuo 0 iki 90}/ * * siunčia robotą į priekį */void goForward () {leftServo.write (90 + greitis); rightServo.write (90 greičių);}/ * * siunčia robotą atgal */void goBackward () {leftServo.write (90 greičių); rightServo.write (90 + greitis);} / * * siunčia robotą į dešinę * /void goRight () {leftServo.write (90 + greitis); rightServo.write (90 + greitis);}/ * * siunčia robotą į kairę */void goLeft () {leftServo.write (90 - greitis); rightServo.write (90 - greitis);}/ * * sustabdo robotą */void goStop () {leftServo.write (90); rightServo.write (90);} // ARDUINO VALDOMO SERVO ROBOTO (SERBO) PASKIRTIES PABAIGA // ---------------------------- -----------------------------------------------
7 žingsnis: baigta, kiti, kurie baigė ir ateitis
Sveikiname pasiekus šį tikslą ir tikiuosi, kad jums smagu su „Arduino“valdomu servo robotu - (SERB). Michaelas Beckas „SERB“- Michaelas Thingiverse.com rado SERB planus ir išpjovė jį iš geltono ir raudono akrilo. Manau, kad tai atrodo puikiai. Mikės SERB - Mike'as (iš Sent Luiso srities robotų klubo ROBOMO) draugas lazeriu nupjovė SERB važiuoklę ir panaudojo savo robotų žinias, kad ją pradėtų eksploatuoti. Manau, kad tai atrodo nuostabiai mėlyna spalva. (išsamesnės informacijos apie tai ir kitus jo robotus rasite jo svetainėje (čia). Šiame skyriuje bus išsami informacija apie būsimus pokyčius ir priedus (jie bus pateikti čia, kol jie nebus tinkamai dokumentuoti). Bet aš taip pat norėčiau parodyti nuotraukas kitų žmonių SERB. Taigi, jei baigėte, atsiųskite man asmeninę žinutę su nuotrauka ir keliais žodžiais (ar tai būtų aprašymas, ar nuoroda į jūsų svetainę), ir aš ją pridėsiu čia. („Shameless Plug“) šią pamokomą informaciją rasite kitų įdomių atvirojo kodo projektų svetainėje oomlout.com.
Pirmasis prizas „SANYO eneloop“baterijų maitinimo konkurse
Rekomenduojamas:
RC valdomas robotas XLR8! Švietimo robotas: 5 žingsniai
RC valdomas robotas XLR8! Švietimo robotas: Sveiki, šiame straipsnyje bus parodyta, kaip sukurti pagrindinį robotą. Žodis „robotas“pažodžiui reiškia „vergas“arba „darbininkas“. Dėl dirbtinio intelekto pažangos robotai nebėra tik Issac Asimov mokslinės fantastikos dalis
Valdomas vibruojantis įtempimo robotas: 7 žingsniai (su nuotraukomis)
Valdomas vibruojantis įtempimo robotas: įtempta struktūra sudaryta iš ištemptų virvių ir standžių statramsčių. Jis gali sulenkti ir suspausti, kai jis nukrenta ar suspaudžiamas, o tada grįžta į formą. Jis taip pat turi aukštą atitikties lygį, o tai reiškia, kad jis nepakenks žmonėms ar įrangai aplink
Balansavimo robotas / 3 ratų robotas / STEM robotas: 8 žingsniai
Balansavimo robotas / 3 ratų robotas / STEM robotas: Mes sukūrėme kombinuotą balansavimo ir 3 ratų robotą, skirtą naudoti mokyklose ir po pamokų. Robotas sukurtas naudojant „Arduino Uno“, pasirinktinį skydą (pateikiama visa konstrukcijos informacija), „Li Ion“akumuliatorių paketą (visa tai atitinka
Naršyklės valdomas „Roomba“robotas su „Raspberry Pi“modeliu 3 A+: 6 žingsniai (su nuotraukomis)
Naršyklės valdomas „Roomba“robotas su „Raspberry Pi“modeliu 3 A+: apžvalga Šioje instrukcijoje pagrindinis dėmesys bus skiriamas mirusiai Roombai suteikti naujas smegenis („Raspberry Pi“), akis (žiniatinklio kamera) ir būdą, kaip viską valdyti naudojant žiniatinklio naršyklę. Yra daug „Roomba“įsilaužimų, kuriuos galima valdyti naudojant serijinę sąsają. Aš neturiu
[Arduino robotas] Kaip padaryti judesio fiksavimo robotą - Nykščių robotas - Servo variklis - Šaltinio kodas: 26 žingsniai (su paveikslėliais)
[Arduino robotas] Kaip padaryti judesio fiksavimo robotą | Nykščių robotas | Servo variklis | Šaltinio kodas: „Thumbs Robot“. Naudotas MG90S servo variklio potenciometras. Tai labai smagu ir lengva! Kodas yra labai paprastas. Tai tik apie 30 eilučių. Tai atrodo kaip judesio fiksavimas. Prašome palikti bet kokį klausimą ar atsiliepimą! [Instrukcija] Šaltinio kodas https: //github.c