Sadržaj:
- Korak 1: Dijelovi i alati koji će vam trebati
- Korak 2: Počnimo graditi - sastavite noge
- Korak 3: Izgradnja - pričvrstite noge uz tijelo
- Korak 4: Izgradnja - pričvrstite noge
- Korak 5: Ožičenje - Servo i napajanje
- Korak 6: Programiranje - Kod za kućnu kalibraciju
- Korak 7: Programiranje - premještanje generatorskog koda
- Korak 8: Ožičenje - HC -SR04 senzor sonara (oči)
- Korak 9: Programiranje - Walk_Avoid_Turn Code
- Korak 10: Zaključak
Video: ICBob - dvonožni robot nadahnut Bobom: 10 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Mi smo Teen Imagineering Club iz javne biblioteke Bridgeville Delaware. Pravimo sjajne projekte učeći o elektronici, računarskom kodiranju, 3D dizajnu i 3D štampanju.
Ovaj projekt je naša adaptacija BoB -a BiPed robota zasnovanog na Arduinu. Redizajnirali smo tijelo kako bismo iskoristili naš omiljeni Arduino izvor napajanja, Powerbot telefonsku banku napajanja. Ovaj jeftini punjivi izvor napajanja od 5 V odličan je za napajanje naših Arduino projekata i puni se bilo kojim USB zidnim punjačem. Također smo prilagodili tri prsta stopala Arduped dvonožnog robota samo zato što izgledaju ODLIČNO. Pokazat ćemo vam gdje nabaviti potrebne dijelove, kako sastaviti robota, pa čak i dati vam nekoliko lakih Arduino kodova za pokretanje. Bilo nam je sjajno napraviti naših jedanaest ICBob robota. Nastavite čitati ako želite naučiti kako sami sebi napraviti.
Korak 1: Dijelovi i alati koji će vam trebati
ICBob je dizajniran za sljedeći skup dijelova. Iako su zamjene moguće, možda ćete morati promijeniti tijelo kako bi funkcioniralo. Naš omiljeni dobavljač je Yourduino.com, ali za neke artikle morate otići na Amazon ili Ebay.
Ažuriranje dostupnosti proizvoda- Yourduino više ne nosi Micro Mag i kaže da ih Dagu ukida. Dagu web stranica ih još uvijek ima na raspolaganju https://www.dagurobot.com/goods.php?id=137, a ako nisu dostupni, S4A EDU kontroler je zamjena i radi na 5 volti.
Delovi
- 1x- MICRO Magician kontroler
- 4x- SG 90 servo
- 1x- HC-SR04 Ultrazvučni senzor
- 1x- Powerbot power bank 2600mAh (Powerbot od 3000mAh je većeg promjera i neće stati)
- 1x- Ženski MICRO USB na DIP 5-pinski pinboard
- 1x- 20cm 40 pin pljosnati ženski krajevi
- 1x10k otpornik
- 4x- 2-56 x 3/8 samorezni vijci (alternativno vruće ljepilo)
3D ispisi - Stl datoteke su dostupne na Thingiverse -u: 1313344
- 1x- telo
- 1x- ljuska
- 2x- koleno
- 1x- lijevo stopalo
- 1x- desno stopalo
Alati
- računalo sa Arduino IDE
- Arduino dodaj u biblioteku VarSpeedServo
- MICRO Magician Driver (potreban za neke operativne sisteme)
- 3D štampač (ili napravite dijelove)
- 3D alati za čišćenje dijelova
- Komplet za lemljenje (samo za pinove na USB adapteru)
- Pištolj za vruće ljepilo
- Mali Philips odvijač
- usb punjač
Ovaj Instructable pretpostavlja da imate osnovno znanje o upotrebi Arduina. Ako ste tek počeli koristiti Arduino, možete saznati više na
Za MICRO čarobnjaka odaberite ploču - Arduino Pro ili Pro Mini (3,3 V, 8 MHz) sa ATmega328
Za korištenje naših skica trebat će vam Kormanova VarSpeedServo biblioteka. Ovdje možete saznati više o njegovoj biblioteci, ali upotrijebite naše preuzimanje ispod koje je kompatibilno s novijim IDE -om. Preuzmite VarSpeedServo.zip datoteku ispod i raspakirajte je u svoju mapu arduino/libraries.
Možda vaš sustav neće prepoznati upravljački program MICRO Magician CP210x. Ova web lokacija može pomoći pri instaliranju upravljačkog programa
Korak 2: Počnimo graditi - sastavite noge
Za ovaj korak trebat će vam 2 - 3D štampana koljena i 4 servo paketa.
Započnite čišćenjem koljena. 2 rupe za servo trube moraju odgovarati jednostranim servo sirenama. Očistili smo ih bušilicom veličine L (.290). Jedna zakretna rupa mora odgovarati zakretnoj podlozi na podnožju. Očistili smo ih svrdlom veličine # 2 (.220).
Postavite 4 servo sirene u koljena. Pričvrstite trubu pomoću jednog od većih vijaka koji ste dobili uz servo paket. Provucite vijak sa strane koljena i zategnite ga u jednu od malih rupica na servo trubi. Za jedan vijak morat ćete zategnuti odvijačem pod kutom, ali to je izvedivo. Ako želite, možete pričvrstiti zavrtnje koji strše pomoću kliješta za bočne rezače.
4 servo vretena moraju biti centrirana prije nego što se pričvrste na koljena. To možete učiniti ručno laganim pomicanjem vretena kroz njegovu rotaciju kako biste pronašli pola puta. Bolji način je da priključite servo na pin 12. Preuzmite datoteku icbob_servo_center.zip ispod. Raspakirajte u svoj Arduino direktorij. Zatim pokrenite ovu Arduino skicu za svaki servo.
Počnite sastavljanjem bočnih (gornjih) servo servera do koljena. Bez pomicanja vretena, pričvrstite servo pogon paralelno s koljenom žicama okrenutim prema drugom servo trubi (sprijeda). Osigurajte jednim malim vijkom iz servo paketa. Ponovite za drugo koljeno.
Sada o servo pogonima za gležanj. Sjetite se da ćete imati desni i lijevi gležanj tako da će noge biti zrcalne slike jedna druge. Morat ćete lagano raširiti koljeno da biste sastavili servo za gležanj, pa orijentirajte servo kao na fotografiji prije nego što ga utisnete. Zapamtite da ne rotirate vreteno. Učvrstite malim vijkom. Ponovite s drugim koljenom tako da završite desnom i lijevom nogom.
Korak 3: Izgradnja - pričvrstite noge uz tijelo
Za ovaj korak trebat će vam 2 sklopa nogu i 3D štampana baza. Trebat će vam i (4) samorezna vijka 2-56x3/8 ili vruće ljepilo.
Nožni sklop se pričvršćuje za bazu pomoću servo upravljača kukova. Prvo provucite 2 servo žice prema gore kroz dno baze. Pazite na prava i ljevice. Kao što crtež prikazuje, žica za gležanj završava u polumjesecnom izrezu, ali morate umetnuti žicu za gležanj prije nego što je servo priključen. Morate nagnuti servo tako da žica (gdje ulazi u servo) prolazi prvo kroz pravokutnu rupu (prema naprijed). Čvrsto se uklapa, ali stražnji dio bi trebao samo ući. Sada okrenite bazu i pričvrstite servo pomoću 2 vijka ili bi alternativno moglo djelovati vruće ljepilo. Ponovite postupak za drugu nogu.
Korak 4: Izgradnja - pričvrstite noge
Za ovaj korak trebat će vam lijeva i desna noga za dodavanje u sklop. Vruće su zalijepljene pa zapali pištolj za ljepilo.
Pazite da dobro očistite proreze na stopalima. Lagano provjerite da li je servo postavljen na stopalo nakon čišćenja. Uvjerite se da okretna rupa u koljenu uklapa u zakretnu osovinu na stopalu. Najbolje je koristiti tanki odvijač između serva i stopala kako biste odvojili nogu ako je čvrsta. Nakon što dobro testirate, postavite globinu vrelog ljepila na komad veličine deset centimetara, a zatim pritisnite servo do stopala. Izbjegavajte da ljepilo dođe do područja zakretanja. Ponovite za drugu stranu kako bi vaš bot mogao stajati na vlastitim nogama.
Korak 5: Ožičenje - Servo i napajanje
U ovom koraku trebat će vam kontroler MICRO Magician, adapterska ploča za mikro USB sa zaglavljima, ravni kabel i vaš stalni bot. U ovom koraku ćete lemiti i vruće lijepiti pa pripremite te alate.
Powerbot banka za napajanje dolazi s kratkim USB do mikro USB kabelom. Za punjenje baterije mikro USB priključuje se u otvor za punjenje na bateriji, a USB ide do zidnog punjača. Ponovo ćete koristiti ovaj kabel za napajanje ICBob -a. Izlaz baterije je putem USB -a pa se povezujemo putem mikro USB adapterske ploče kako bismo napajali robota.
Prvo sklopimo adapter. Za sljedeće korake pogledajte fotografiju. Za napajanje bota ćete koristiti samo 2 vanjska pina (gnd i V+). Pažljivo gurnite 2 vanjska zatiča u zaglavlju tako da kratka strana strši oko 3/16 inča. Klještima savijte 2 dugačka igla za oko 60 stupnjeva. Savijte se prije lemljenja jer su ploče krhke. Umetnite zaglavlje kao što je prikazano i zalemite sve igle na stražnjoj strani radi jačine. Skratite sve neiskorištene igle što je moguće kraće i sprijeda i straga. Prije nego što zalijepimo adapter na cijev, priključite mikro USB kabel tako da dobijete dovoljno slobodnog prostora. Stavite veliku kuglu vrućeg ljepila na stražnju stranu adaptera, a zatim je postavite na položaj prikazan na cijevi. Držite dok se ne stvrdne.
Zatim priključite 4 servo konektora na kontroler. Sviđa nam se MICRO Magician jer ima 3 pinske konektore za lakše servo ožičenje. Žica tamnije boje (smeđa?) Ide prema rubu ploče. Uključene Arduino skice koriste sljedeće igle.
- Desni kuk (RH) - pin 9
- Desni gležanj (RA) - iglica 10
- Lijevi kuk (LH) - pin 11
- Lijevi gležanj (LA) - pin 12
Za priključivanje napajanja na ploču izvucite par žica sa ravnog kabla. Više ćete koristiti ovaj ravni kabel za ožičenje sonara. Spojite jedan kraj para na mikro USB adapter. Igla koja je bliže prednjoj strani robota je uzemljena, a druga V+. Drugi kraj se pričvršćuje na kontroler blizu prekidača. Žica V+ povezuje se s pinom s oznakom 'Battery IN' u dokumentaciji. Spojite žicu za uzemljenje na pin 'gnd' malo iznad pina 'Battery IN'.
BITAN! - Postoji kratkospojnik 'V+ select' neposredno iznad skupa igara D1. Ovaj kratkospojnik mora biti na unutarnjoj strani pinova ili servo upravljači neće raditi.
Na kraju očistite utor kontrolera na podnožju tako da kontroler dobro prianja. Možete priključiti bateriju i uključiti kontroler kako biste bili sigurni da se uključuje.
Korak 6: Programiranje - Kod za kućnu kalibraciju
Nekoliko riječi o našim izborima programiranja
Kada smo izrađivali prototip za ovaj projekt, koristili smo Kako naučiti vašeg BoB Biped -a da premjesti vodič na Let's Make Robots. Bob Poser softver je bio super i bilo nam je zabavno igrati se s njim. Problem je bio u tome što je 600+ redova koda u skici za navigaciju znatno iznad nivoa znanja tinejdžera. Kako bismo im učinili ovaj projekt više za učenje, odlučili smo prikupiti nekoliko ideja iz Poser koda, a zatim početi ispočetka s praznom stranicom. Tinejdžeri su već koristili biblioteku VarSpeedServo dok su učili o servo pogonima u našim Arduino laboratorijima. Odlučili smo provjeriti može li VarSpeedServo izdržati vrijeme i brzinu servomotora kako bismo se mogli koncentrirati na pozicije. Rezultirajući kod odlično funkcionira, a puna skica walk_avoid_turn ima manje od 100 redaka koda. Jedini novi koncepti koje su tinejdžeri trebali naučiti bili su dvodimenzionalni nizovi i način pristupa tim podacima pomoću koda. Uživajte!
Početna kalibracija
Kad ste ih sastavili, centrirali ste servo vretena. Sada ćete vidjeti koliko ste im se približili i fino prilagoditi njihove početne pozicije. Provjerite imate li instaliranu biblioteku VarSpeedServo iz 1. koraka. Preuzmite datoteku icbob_home_calibration.zip ispod i raspakirajte je u svoj Arduino direktorij. Otvorite skicu u Arduino IDE -u. Uključite MICRO Magician sa baterijom. Povežite računar sa pločom i otpremite kôd. Velike su šanse da početni položaji servo -a neće biti savršeni. Pronađite sljedeći odjeljak u kodu. Nastavite prilagođavati i učitavati dok ne ispravite.
//…………………………………………………….
// Počnite sa memorijskim nizom od 4 hm postavljenim na 90 stepeni. zatim podesite // ovu postavku tako da su koljena ravno prema naprijed, a stopala ravna int hm [4] = {90, 90, 90, 90}; // niz za držanje početne pozicije za svaki servo RH, RA, LH, LA // …………………………………………………….
Ako je bilo koji od vaših brojeva manji od 50 ili veći od 130, morate se vratiti unatrag i rastaviti noge te vretena približiti sredini.
Kada zauzmete dobar položaj kod kuće, zapišite brojeve. Za ostatak skica trebat će vam ovi brojevi.
Korak 7: Programiranje - premještanje generatorskog koda
Sada da pokrenete svog bota. Preuzmite datoteku icbob_move_generator.zip ispod i raspakirajte je u svoj Arduino direktorij. Otvorite skicu u Arduino IDE -u. Pronađite sljedeći odjeljak koda. Stavite početne pozicije koje ste snimili za svog bota u skicu.
// postavljanje članova niza hm na početne položaje za vašeg robota
// mogu se pronaći pomoću icbob_home_calibration skice const int hm [4] = {95, 95, 85, 90}; // niz za držanje početne pozicije za svaki servo RH, RA, LH, LA
Sljedeći odjeljak koda je mjesto gdje se unose sekvence pomaka. Svaka linija ima položaje za 4 servo upravljača (RH, RA, LH, LA) u odnosu na početni položaj.
// mv podaci polja. Svaka linija je 'okvir' ili položaj postavljen za 4 serva
// Više linija stvara grupu pokreta koje se mogu petlji // stvoriti hodanje, okretanje, ples ili druge pokrete const int mvct = 6; // Neka ovaj broj bude jednak broju linija u nizu const int mv [mvct] [4] = {{0, -40, 0, -20}, // Ovi unaprijed učitani brojevi trebaju omogućiti hod unaprijed {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},};
Ovo je kod koji pretvara podatke mv niza u servo slowmoves
void loop () // petlja se ponavlja zauvijek
{// Pokreni niz za (int x = 0; x <mvct; x ++) {// kruženje kroz broj RH.slowmove (hm [0]+mv [x] [0], svsp); // linije 'okvira' u nizu RA.slowmove (hm [1] + mv [x] [1], svsp); LH.polako kretanje (hm [2] + mv [x] [2], svsp); LA.slowmove (hm [3] + mv [x] [3], svsp); kašnjenje (framedelay); }}
Otpremite na bot. Bot će otići u početni položaj na 2 sekunde, a zatim započeti hod unaprijed. Najbolje funkcionira ako stol nije previše klizav.
Kad vam dosadi gledati ga kako hoda, možete isprobati vlastite poteze. Koristite 'save as' za preimenovanje skice. Zatim se poigrajte s brojkama i pogledajte što možete učiniti. Držite brojeve između +50 i -50 ili možete naprezati servomotore. Upamtite ako dodajete ili oduzimate redove morate promijeniti vrijednost mvct kako bi odražavala promjenu. Zabavi se!
Korak 8: Ožičenje - HC -SR04 senzor sonara (oči)
Za ovaj korak trebat će vam icbob_shell 3D ispis, HC-SR04 ultrazvučni senzor, ženski ravni kabel i jedan otpornik od 10 k ohma. Ovo bi trebalo da završi delove na našoj listi. Da!
Prvo očistite rupe senzora u ljusci kako biste ih čvrsto prilijepili. Ne vršite preveliki pritisak na senzor prilikom testiranja. Uklonite iz ljuske radi ožičenja.
Zatim izvucite 4 niti sa ravnog kabla. Uključite 4 žice u pinove osjetnika HC-SR04.
MICRO Magician interno radi na 3,3 V, a pinovi mogu prihvatiti samo 3,3 V signal. Problem je u tome što HC-SR04 radi na 5 volti. Može koristiti ulaz od 3,3 V kao signal „okidača“, ali kada šalje signal „eha“, to je 5 volti i oštetiće ulaz kontrolera ako se direktno spoji. Moramo staviti otpornik za ograničavanje struje od 10 k ohma na žicu 'odjeka' kako bismo zaštitili ulaz.
AŽURIRANJE: Iako nismo imali problema samo sa ugrađenim otpornikom od 10K, u komentarima je istaknuto da najbolja praksa ukazuje da bi ovdje trebalo koristiti krug razdjelnika napona. Osim 10K otpornika, između "echo" i "ground" treba postaviti 15K otpornik.
Izrežite vodove otpornika na 0,5 inča. Otpornik ulazi u 'echo' žicu na vašem ravnom kabelu. Stavili smo kap super ljepila na vezu kako bismo pomogli da ostane na mjestu.
Skica koristi pin 13 za okidač i pin 3 za eho. Koristite grupu pin 13 na kontroleru za 'gnd', 'vcc', 'trig' tim redoslijedom radeći od ruba prema sredini. Morat ćete ovdje ukrstiti neke žice da biste to ispravili. 'Echo' žica s otpornikom uključuje se u utičnicu ženskog pina 3.
Ako želite provjeriti senzor prije nego što prijeđete na sljedeći korak, možete upotrijebiti prvu skicu na ovoj stranici https://arduino-info.wikispaces.com/UltraSonicDistance da biste ga testirali. Trebat će vam spojena baterija. Očitavanje udaljenosti možete vidjeti na serijskom monitoru. Obavezno postavite 'trigger_pin' na 13, a 'echo_pin' na 3 u skici.
Najbolji način za ugradnju senzora u omotač je tako što su igle usmjerene prema vrhu, a žice presavijene i usmjerene između "očiju" senzora i kućišta.
Korak 9: Programiranje - Walk_Avoid_Turn Code
Spajajući sve zajedno. Svi dijelovi su sastavljeni. Spremni smo učitati cijeli kôd, staviti ljusku i gledati kako radi svoje.
Znate rutinu. Preuzmite datoteku icbob_walk_avoid_turn.zip ispod i raspakirajte je u svoj Arduino direktorij. Otvorite skicu u Arduino IDE -u. Pronađite sljedeći odjeljak koda. Stavite početne pozicije koje ste snimili za svog bota u skicu.
// postavljamo članove za hm niz na početne položaje za vašeg robota
// mogu se pronaći pomoću icbob_home_calibration skice const int hm [4] = {95, 95, 85, 90}; // niz za držanje početne pozicije za svaki servo RH, RA, LH, LA
Ova skica dodaje drugi niz poteza i drugi skup koda za sporo kretanje za potez 'skretanje'.
// prosljeđuje podatke niza
const int fwdmvct = 6; // Neka ovaj broj bude jednak broju redova u nizu const int fwdmv [fwdmvct] [4] = {{0, -40, 0, -20}, // premještanje okvira za pomicanje unaprijed {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},}; // okretanje podataka polja const int trnmvct = 5; // Neka ovaj broj bude jednak broju linija u nizu const int trnmv [trnmvct] [4] = {{-40, 0, -20, 0}, // okrenite okvire za pomicanje {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0},};
Dodali smo kôd za otkrivanje prepreka sonara kao i izjavu 'if' 'else' da odlučimo idemo li pravo ili skrećemo.
Završna montaža i pokretanje
Ostavite bateriju isključenu i postavite skicu. Odspojite programski kabel. Uverite se da je prekidač za napajanje na kontroleru u donjem položaju „uključeno“. Pažljivo gurnite školjku na podnožje s USB kabelom za napajanje provučenim kroz gornju rupu. Stavite bateriju. Uključite ga u utičnicu. Vaš ICBob trebao bi se početi kretati i okretati kako bi izbjegao prepreke bliže od 7 inča.
Korak 10: Zaključak
Nadamo se da ćete se jednako zabaviti u izgradnji vašeg ICBob -a kao i mi pri izgradnji našeg. Javite nam ako imate bilo kakvih pitanja ili komentara. Ako ga izgradite, obavijestite nas ovdje ili na Thingiverseu.
Preporučuje se:
Arduino - Robot za rješavanje labirinta (mikro miš) Robot koji prati zid: 6 koraka (sa slikama)
Arduino | Robot za rješavanje labirinta (MicroMouse) Zidni robot: Dobro došli, ja sam Isaac i ovo je moj prvi robot "Striker v1.0". Ovaj robot je dizajniran za rješavanje jednostavnog labirinta. U konkurenciji smo imali dva labirinta i robota uspio ih je identificirati. Bilo koje druge promjene u labirintu mogu zahtijevati promjenu
Droid inspiriran glasom R2D2 nadahnut koristeći Blynk i Ifttt: 6 koraka
Glasno upravljani R2D2 nadahnuti droid koristeći Blynk i Ifttt: Gledajući ratove zvijezda mnogi od nas su inspirirali likove robota, posebno model R2D2. Ne znam za druge, ali jednostavno volim tog robota. Pošto sam ljubitelj robota, odlučio sam izgraditi svoj vlastiti droid R2D2 u ovom zaključavanju koristeći blynk Io
PAPIR HUNGRY ROBOT - Pringles Recycle Arduino Robot: 19 koraka (sa slikama)
PAPIR HUNGRY ROBOT - Pringles Recycle Arduino Robot: Ovo je još jedna verzija Hungry Robot -a koju sam napravio 2018. Možete napraviti ovog robota bez 3D štampača. Sve što trebate učiniti je samo kupiti limenku Pringlesa, servo motor, senzor blizine, arduino i neke alate. Možete preuzeti sve
Joy Robot (Robô Da Alegria) - Otvoreni izvorni 3D ispis, Arduino pogonski robot!: 18 koraka (sa slikama)
Joy Robot (Robô Da Alegria) - Otvoreni izvorni 3D ispis, Arduino pogonski robot!: Prva nagrada na takmičenju Instructables Wheels, druga nagrada na Arduino takmičenju Instructables i drugoplasirana u izazovu Design for Kids. Hvala svima koji su glasali za nas !!! Roboti stižu posvuda. Od industrijske primjene do
Robot s maslacem: Arduino robot s egzistencijalnom krizom: 6 koraka (sa slikama)
Robot s maslacem: Arduino robot s egzistencijalnom krizom: Ovaj se projekt temelji na animiranoj seriji "Rick i Morty". U jednoj od epizoda, Rick pravi robota čija je jedina svrha donijeti maslac. Kao studenti s Brufacea (Bruxelleski inženjerski fakultet) imamo zadatak za mehaniku