Sadržaj:

3D štampani Raspberry Pi Zero Robot: 12 koraka
3D štampani Raspberry Pi Zero Robot: 12 koraka
Anonim
Image
Image
3D štampani Raspberry Pi Zero Robot
3D štampani Raspberry Pi Zero Robot
3D štampani Raspberry Pi Zero Robot
3D štampani Raspberry Pi Zero Robot

Jeste li ikada htjeli izgraditi robota, ali jednostavno niste imali sve materijale za njegovu izradu, a da niste završili s nepotrebno glomaznom šasijom? 3D štampači su tu da spasu dan! Ne samo da mogu stvoriti dijelove kompatibilne s gotovo bilo kojim hardverom, već to mogu učiniti i na vrlo prostorno efikasan način. Ovdje ću vam pokazati kako stvoriti vrlo osnovnog robota koji sadrži 3D štampane dijelove, Raspberry Pi Zero i Pi kameru. Ohrabrio bih vas da uzmete i izmenite ono što sam učinio kako bi odgovarao vašim praktičnim ili zabavnim potrebama. Da bih kontrolirao robota i pregledao sadržaj kamere, izgradio sam aplikaciju za iOS (aplikaciju PiBotRemote) koju možete slobodno koristiti i mijenjati. Međutim, stvarna snaga u ovakvim projektima proizlazi iz raznolikosti mogućnosti i u hardveru i u softveru. Stoga bih vas ohrabrio da budete kreativni i dodate ono što sam učinio ovisno o tome šta znate raditi. Na primjer, mislim da bi bilo super natjerati ovog robota da koristi mašinski vid za prepoznavanje okoline i navigaciju slično automobilu koji se sam vozi.

Korak 1: Zahtjevi

Zahtevi
Zahtevi
  • Materijali

    • Obavezno (otprilike 75 USD)

      • Raspberry Pi Zero W (10 USD)
      • Micro SD kartica (8,25 USD)
      • Zaglavlje sa 40 pinova (3,25 USD)
      • Žice za kratkospojnike (6,86 USD)
      • USB baterija (5,00 USD)
      • Micro Gearmotor x 2, 900 o / min (12,95 USD svaki)
      • Vozač motora (4,95 USD)
      • Točkovi (6,95 USD)
      • 14 mm čelični kuglični ležaj (0,62 USD)
      • Vijci, matice i držači (vidi dolje)
    • Opcionalno (otprilike 45 USD)

      • LED diode
      • Raspberry Pi kamera (29,95 USD)
      • Adapter za kameru Pi Zero (5,95 USD)
      • Servo motor (8,95 USD)
    • Alati

      • 3D štampač i filament
      • Računar (koristit ću Mac, a trebat će vam jedan ako želite koristiti aplikaciju PiBot Remote)
      • iPhone/iPad/iPod Touch (ako ćete koristiti aplikaciju)
      • Drill
      • Odvijač sa promjenjivim vrhovima

Više informacija o dijelovima

  • Pi Zero: Ako želite koristiti Pi Zero samo za ovaj projekt, bit će vam dobro da sve vrijeme trčite bez glave. U protivnom, ako ćete ikada htjeti spojiti HDMI izlaz ili USB periferiju, morat ćete kupiti dodatne adaptere. U ovom slučaju, to je najvjerojatnije najisplativija opcija za kupnju Pi Zero kompleta, poput ovog (24 USD) koji sam kupio od Amazona. Iako sam još morao kupiti mikro SD karticu, ovaj komplet je došao s Pi Zero, oba potrebna adaptera i mnogo različitih zaglavlja. Sve to može biti korisno.
  • Mikro SD kartica: Možete koristiti bilo koju Micro SD karticu ako ima najmanje 8 GB prostora za pohranu.
  • Džemper žice: Volim ovakve kratkospojnike jer dolaze kao povezani snop. Ovo mi omogućava da odvojim, recimo, 9-žični dio, i uredno povežem Pi i upravljački program motora.
  • USB baterija: Baterija koju sam kupio od Sparkfun -a je od tada prestala. Kao rezultat toga, morat ćete ga pronaći na drugom mjestu. Ona koju sam povezao izgledala je slično mojoj, ali je nisam kupio i možda ćete morati izmijeniti datoteke za ispis tako da odgovaraju vašoj bateriji. Pobrinite se da pronađete bateriju s priključenim mikro USB kabelom jer vam to omogućuje da se priključite direktno na pi bez viška žice.
  • Vozač motora: Preporučio bih korištenje ronilaca s kojim sam se povezao jer je prilično jeftin, a otisak je dizajniran tako da savršeno pristaje toj ploči. Osim toga, druge ploče mogu funkcionirati drugačije, pa možete imati različite rezultate.
  • Čelična lopta od 14 mm: Koristio sam ovu loptu jednostavno zato što sam jednu slučajno ležao. Koristite druge veličine, ali možda ćete morati promijeniti veličinu utičnice. Lopta će našem robotu poslužiti kao treći kotač. Ovo je jedno od područja dizajna na mom robotu koje je trenutno najproblematičnije i koje bi moglo koristiti najviše poboljšanja. Iako radi dobro na glatkim, tvrdim površinama, ima problema s tepisima i grubljim površinama. Slobodno promijenite ovo područje vašeg dizajna.
  • Vijci, matice, držači: Možda ćete morati malo poraditi da pronađete vijke koji vam odgovaraju. Jednostavno sam pronašao vijke koji montiraju Pi, kao i vijke koji drže nosač Pi kamere zajedno u očevoj zbirci vijaka. Za držače i utičnice motora koristio sam ove vijke (2,95 USD) i ove matice (1,50 USD), koje su dostupne u Sparkfun -u. Zastoji i 8 vijaka (slučajno sam na slici uključio samo 4) koji drže robota zajedno uzeo sam iz nekorištenih VEX kompleta moje škole.
  • LED diode: Siguran sam da znate gdje lako možete pronaći LED diode. Odaberite boje koje želite predstavljati funkcije: napajanje, povezivanje, putanja ponovne reprodukcije robota i upute za prijem robota.
  • Kamera i servo: Ovisno o tome što želite raditi sa svojim robotom, možete odlučiti da ne uključite kameru i servo jer nisu potrebni za osnovno kretanje, te ćete dodati 45 USD na cijenu robota.

Korak 2: Pi Zero Setup

Pi Zero Setup
Pi Zero Setup

Slijedite ovu vezu za postavljanje bezglave instalacije na vašem Raspberry Pi Zero W

  • Ne zaboravite da se Pi Zero ne može povezati s 5GHz Wi-Fi mrežom
  • Slijedite upute za Raspbian Stretch ili kasnije

Nakon što ste se uspješno povezali putem SSH -a na svoj pi, pokrenite

sudo raspi-config

i promijenite sljedeće konfiguracije:

  • Promijenite lozinku. Vrlo je opasno ostaviti zadanu lozinku malinom. Zapamtite ovu lozinku.
  • U opcijama mreže promijenite ime hosta iz raspberrypi u nešto kraće poput pizera ili pibota. Za ostatak ovog vodiča koristit ću pibota. Upamtite šta ste ovdje stavili.
  • U Boot options -> Desktop / CLI, odaberite Console Autologin
  • Idite na opcije povezivanja i omogućite kameru

Odaberite Završi i ponovo pokrenite uređaj.

Korak 3: Postavite AdHoc mrežu

Postavljanjem AdHoc mreže, moći ćemo povezati naš upravljački uređaj izravno s robotom bez ikakvih posrednika. Ovo će omogućiti brže strujanje videa i manju latenciju kontrole. Međutim, ovaj korak nije neophodan jer će sve i dalje raditi putem normalne WiFi mreže.

Prvo ćete morati preuzeti i raspakirati sve potrebne datoteke s GitHub -a. U terminalu idite do preuzete mape i pošaljite mapu PiBotRemoteFiles pi -u naredbom:

scp -r PiBotRemoteFiles/ [email protected]: Desktop/

Ovo šalje sve potrebne datoteke robotu koji će ga kontrolirati i postaviti AdHoc mrežu. Uverite se da se datoteke nalaze u fascikli pod nazivom "PiBotRemoteFiles" koja se nalazi na radnoj površini; u suprotnom mnoge stvari neće uspjeti. Ako ćete koristiti aplikaciju PiBot Remote, u postavkama aplikacije možete se prebacivati s uobičajene Wi-Fi mreže na AdHoc mrežu. U suprotnom, možete ga ručno promijeniti putem SSH -a jednom od sljedećih naredbi:

sudo bash adhoc.sh

sudo bash wifi.sh

Naravno, provjerite jeste li otišli u mapu PiBotRemoteFiles prije nego pokrenete prethodne naredbe. Svaka promjena između AdHoc-a i Wi-Fi-ja stupit će na snagu tek nakon sljedećeg ponovnog pokretanja. Ako je postavljen AdHoc, trebali biste vidjeti da se PiBot mreža pojavljuje kada se Pi Zero pokrene.

Korak 4: Dodajte LED za napajanje

Dodajte LED za napajanje
Dodajte LED za napajanje

Iako svakako nepotrebno, može biti korisno imati svjetlo za napajanje. Da biste to aktivirali, SSH u Pi Zero i pokrenite naredbu:

sudo nano /etc/bash.bashrc

I dodajte sljedeći redak na kraj datoteke:

python /home/pi/Desktop/PiBotRemoteFiles/startup.py

Kasnije ćemo promijeniti GPIO pin povezan sa LED diodom za napajanje.

Korak 5: Postavljanje web sučelja RPi Cam

Postavljanje RPi Cam web sučelja
Postavljanje RPi Cam web sučelja
Postavljanje web sučelja RPi Cam
Postavljanje web sučelja RPi Cam

Da bismo pristupili video toku Raspberry Pi Cameras, koristit ćemo RPi-Cam-Web-sučelje. Informacije o ovom modulu možete pronaći ovdje, a njihov kod je na GitHub -u. Za instaliranje modula prvo moramo ažurirati naš Pi. To može potrajati oko 10 minuta.

sudo apt-get update

sudo apt-get dist-upgrade

Zatim moramo instalirati git:

sudo apt-get install git

I konačno možemo instalirati modul:

git klon

RPi_Cam_Web_Interface/install.sh

Nakon instaliranja modula pojavit će se prozor za konfiguraciju. Ako želite dodati korisničko ime i lozinku, svakako upotrijebite isto korisničko ime i lozinku kao i vaš pi račun. U suprotnom, aplikacija PiBot Remote neće moći primiti stream kamere.

Sada, ako odete u preglednik na uređaju na istoj mreži kao i Pi i ako je kamera spojena na pi, možete primiti prijenos tako što ćete otići na https://pibot.local/html/#. RPi sučelje omogućuje jednostavnu kontrolu kamere, a dodirom ili klikom na video zapis može postati na cijelom ekranu. Ovo ćemo kasnije koristiti s udaljenom aplikacijom PiBot.

Sada smo završili s postavljanjem Pi Zero, na zabavne stvari!

Korak 6: Odštampajte sve

Odštampajte sve
Odštampajte sve
Odštampajte sve
Odštampajte sve

Iako sam koristio Dremel 3D štampač sa PLA filamentom, slobodno koristite svoje štampače i materijale. Sve STL datoteke nalaze se u mapi koju ste preuzeli s GitHub -a. Uspio sam sve ispisati u četiri serije: gornja ploča, donja ploča, svi držači i utičnice te prsten. Budite kreativni u izboru boja i u potpunosti iskoristite mogućnosti 3D štampača. Moj pisač nije imao dvostruko istiskivanje niti bilo kakve druge otmjene značajke, ali ako imate pristup takvom pisaču, preporučio bih da se ukrasi ispišu na vrhu gornje ploče u kontrastnoj boji. Vjerojatno ćete morati turpijati i bušiti kako bi neki komadi odgovarali.

Slobodno naslikajte gornju ploču kako bi LED simboli i ukrasi bili vidljivi.

Možda ste primijetili dva držača na krajevima donje ploče koji podsjećaju na GoPro sistem za montažu. Slobodno ih koristite za pričvršćivanje bilo čega što želite na prednju ili stražnju stranu robota. U datoteci blendera možete pronaći nosač markera za suho brisanje koji sam koristio, kao i objekt predloška koji možete izmijeniti da zadrži vaš objekt.

Također, slobodno definirajte smjer prema naprijed; Do sada sam mijenjao najmanje tri puta.

Korak 7: Lemljenje na zaglavljima

Lemljenje na zaglavljima
Lemljenje na zaglavljima
Lemljenje na zaglavljima
Lemljenje na zaglavljima
Lemljenje na zaglavljima
Lemljenje na zaglavljima

Iako sam odabrao lemljenje zaglavlja na PiZero, mogli ste lemiti svoje žice direktno na pi. Ako se odlučite za lemljenje zaglavlja kao ja, preporučio bih vam da koristite one pod pravim uglom poput mog. On drži žice mnogo skrivenijima i čini da sve izgleda mnogo urednije.

Sada je vrijeme za lemljenje upravljačkog programa motora. Donja ploča dizajnirana je posebno za ovog vozača motora Sparkfun i omogućuje prostor za zaglavlje iglice za isticanje s dna. To omogućava jednostavnu zamjenu iglica motora tako da se možete mijenjati lijevo i desno, te naprijed i nazad. Iako sada uključujem sljedeći korak, toplo bih vam preporučio da sačekate nekoliko koraka dok ne saznate koliko točno vaše žice moraju biti dugačke. Odrežite 9-žični dio kratkospojnika koji je kompatibilan sa iglama zaglavlja koje ste upravo lemili u pi. Pažljivo lemite svaku žicu tako da grupa može zajedno ležati i omotati bateriju. Prethodno izmjerite dužinu žice kako ne biste dobili premalo ili previše.

Konačno, vrijeme je za lemljenje LED dioda. Zalijepite ih na odgovarajuće mjesto na gornjoj ploči i preklopite sve uzemljene igle jednu na drugu. Lemite jednu žicu na masu i po jednu žicu na svaku LED diodu. Slijeva na desno, funkcije LED dioda su: snaga robota, povezivanje aplikacije s robotom, robot reproducira spremljenu putanju, a robot prima upute.

Takođe lemite žice na svaki motor tako da se mogu priključiti u zaglavlja koja dolaze od upravljačkog programa motora.

Korak 8: Pričvrstite motor i utičnicu

Pričvrstite motor i utičnicu
Pričvrstite motor i utičnicu
Pričvrstite motor i utičnicu
Pričvrstite motor i utičnicu
Pričvrstite motor i utičnicu
Pričvrstite motor i utičnicu
Pričvrstite motor i utičnicu
Pričvrstite motor i utičnicu

Prvo umetnite svaki motor u nosač motora. Zatim umetnite svaki vijak djelomično, sve dok vrh ne dosegne površinu nosača ili utičnice. Zatim, za svaki vijak, pričvrstite svaki vijak držeći maticu s druge strane ploče. Ne zaboravite postaviti ležaj između dvije utičnice dok zavrtite drugu. Postavite upravljački program motora na njegovo mjesto i uključite motore. Nije važno koji je motor priključen na svaki izlaz jer to možete lako promijeniti nakon što se robot pokrene.

Korak 9: Pripremite kameru i servo

Spremite kameru i servo
Spremite kameru i servo
Spremite kameru i servo
Spremite kameru i servo
Spremite kameru i servo
Spremite kameru i servo
Spremite kameru i servo
Spremite kameru i servo

Priključite Pi Zero adapter vrpcu u fotoaparat i zajedno pričvrstite kućište fotoaparata. Postavite servo na njegovo mjesto. Možete izbušiti rupe za vijke za servo, ali dovoljno je čvrsto. Priključite kameru na servo na bilo koji način koji smatrate najboljim. Trenutno imam dvije rupe na nosaču, sa spajalicom koja prolazi kroz servo trubu i kućište kamere. Međutim, to ostavlja dosta prostora za kretanje pa ćete možda htjeti upotrijebiti super ljepilo. Usmerite kameru u bilo kom smeru i zavijte servo trubu na mesto. Provucite vrpcu kamere kroz prorez na malini i uključite je u pi. Konačno, presavijte vrpcu kako bi bila ravna uz bateriju.

Korak 10: Sve spojite

Spajanje svega
Spajanje svega
Spajanje svega
Spajanje svega
Spajanje svega
Spajanje svega
Spajanje svega
Spajanje svega

Konačno je vrijeme da sve postane jedno. Priključite žice od LED dioda, upravljačkog programa motora i servo u Pi na način da koristite samo važeće pinove, ali ih držite blizu izlaza. Zatim provucite žice kroz njihove proreze i pričvrstite pi na mjesto. Ovo je dizajnirano tako da čvrsto drži stvari urednim, stoga nemojte odustati ako vam se čini da nema dovoljno mjesta za te velike igle za kratkospojnike.

Uvrnite svaki držač u donju ploču tako da je svaki pričvršćen. Umetnite bateriju i provjerite može li kabel za napajanje proći kroz utor i u priključak za napajanje Pi Zero. Omotajte žice upravljačkog programa motora oko njega i postavite prsten oko svega. Nakon što ste sve žice stisnuli u prostor između baterije i gornje ploče, mali greben na donjoj ploči ulazi u prsten, a dvije visoke tačke na prstenu u gornju ploču. Sada možete dobro pričvrstiti gornju ploču i izgradili ste svog robota!

Korak 11: Otvorite Xcode Project

Otvorite Xcode Project
Otvorite Xcode Project
Otvorite Xcode Project
Otvorite Xcode Project
Otvorite Xcode Project
Otvorite Xcode Project

Sljedećih nekoliko koraka primjenjuje se samo ako ćete koristiti aplikaciju PiBot Remote, za koju su potrebni Mac i IOS uređaj.

Budući da sam jeftin i nemam plaćen Apple Developer račun, mogu dijeliti samo projekt Xcode, a ne i samu aplikaciju. Zatim možete sami otvoriti projekt, promijeniti potpis i pokrenuti ga na svom uređaju.

Ako već nemate Xcode, preuzmite ga iz trgovine aplikacija na svom Macu. Nakon što se Xcode učita, odaberite "Otvori drugi projekt" u donjem desnom kutu i idite do mape "PiBot Remote" u GitHubu za preuzimanje.

Kada se projekt otvori, kliknite na root datoteku u prikazu krajnje lijevo pod nazivom "PiBot Remote".

Promijenite "Bundle Identifier" u nešto jedinstveno. Moglo bi moje ime zamijeniti svojim ili dodati nešto do kraja.

Promijenite tim na svoj lični račun. Ako ga nemate, odaberite "Dodaj račun".

Pritisnite command-B za izgradnju i nadajte se da sve radi ispravno. Nakon što uspješno izgradite projekt, uključite uređaj u računar. Pritisnite dugme desno od dugmadi za reprodukciju i zaustavljanje u gornjem lijevom uglu i odaberite svoj uređaj.

Pritisnite command-R i aplikacija bi se trebala pokrenuti na vašem uređaju. Vaš uređaj će možda morati provjeriti identitete prije nego što se pokrene i bit će mu potreban pristup internetu samo u ovom trenutku.

Korak 12: Završna prilagođavanja

Završna podešavanja
Završna podešavanja

Brojeve pinova možete prilagoditi za sve osim za LED za napajanje u aplikaciji PiBot Remote. Da biste promijenili pin za LED za napajanje, SSH u PI i pokrenite naredbu:

/home/pi/Desktop/PiBotRemoteFiles/startup.py

Promijenite dvije instance 36 na bilo koji GPIO pin koji ste koristili. Zatim pritisnite control-X, y, enter.

I aplikacija i server su skloni greškama. Koristite konzolu u načinu otklanjanja pogrešaka da biste shvatili što se događa. Ako ste u nedoumici, pokušajte ponovo pokrenuti Pi i/ili ponovo pokrenuti aplikaciju. Ponekad se nakon kvara koda aplikacija ne može ponovno povezati jer je adresa već u upotrebi. U tom slučaju jednostavno promijenite port i aplikacija bi se trebala povezati.

Također, dok vozite robota s akceleratorom na uređaju, morate koristiti neke neugodne geste za kalibraciju, zaustavljanje/pokretanje, podešavanje kamere i prikazivanje/skrivanje trake kartica

  • Kalibrirajte: Dodirnite i držite s dva prsta 0,5 sekundi (ako vaš uređaj to podržava, osjetit ćete haptičku povratnu informaciju nakon što je uređaj kalibriran
  • Prilagođavanje kamere: Najteži pokret, učinite ono što je prethodno opisano za kalibraciju, zatim povucite prste prema gore da biste pomaknuli kameru prema gore, i povucite prema dolje za pomicanje kamere prema dolje. Podešavanje će se izvršiti kada podignete prste.
  • Stop/Start Toggle: Kada idete na prikaz akcelerometra, robot je u početku podešen da zanemaruje komande kretanja. Za promjenu ove postavke dvaput dodirnite s dva prsta.
  • Prikaži/sakrij traku sa karticama: Da biste omogućili prikaz na cijelom ekranu tokom vožnje akcelerometra, traka s karticama će se automatski sakriti nakon nekoliko sekundi. Da biste ga ponovo prikazali, prevucite prema gore. Da biste ga sakrili, prevucite prema dolje.

Ako ste frustrirani problemima i neugodnostima vezanim uz moju aplikaciju, samo se sjetite da nisam imao nikakvo formalno obrazovanje iz programiranja bilo koje vrste. Zato pozdravljam savjete i prijedloge. Slobodno forkirajte moje GitHub datoteke.

Ako napravim bilo kakva prilagođavanja na GitHub -u, primijenim ih na robota preuzimanjem datoteka i slanjem putem rekurzivnog SCP -a na Pi na odgovarajućoj lokaciji. Ako ste klonirali Xcode projekt, jednostavno povucite promjenu. U suprotnom, možete preuzeti projekt i slijediti korak 11 da biste otvorili aplikaciju na svom uređaju.

Ako učinite nešto zanimljivo s ovim vodičem, javite mi u komentarima, zanima me vidjeti kako se može koristiti kao predložak za sve vrste fascinantnih projekata.

Preporučuje se: