Innholdsfortegnelse:

3D -trykt Raspberry Pi Zero Robot: 12 trinn
3D -trykt Raspberry Pi Zero Robot: 12 trinn

Video: 3D -trykt Raspberry Pi Zero Robot: 12 trinn

Video: 3D -trykt Raspberry Pi Zero Robot: 12 trinn
Video: Makeblock Untimate Robot Kit Part 1 : Step by Step Assembly Robot of Aram Tank 2024, Juli
Anonim
Image
Image
3D -trykt Raspberry Pi Zero Robot
3D -trykt Raspberry Pi Zero Robot
3D -trykt Raspberry Pi Zero Robot
3D -trykt Raspberry Pi Zero Robot

Har du noen gang ønsket å bygge en robot, men bare ikke hatt alle materialene til å bygge en uten å ende opp med et unødvendig omfangsrikt chassis? 3D -skrivere er her for å redde dagen! Ikke bare kan de lage deler som er kompatible med praktisk talt hvilken som helst maskinvare, de kan gjøre det på en svært plasseffektiv måte. Her vil jeg vise deg hvordan du lager en helt grunnleggende robot som har 3D -trykte deler, Raspberry Pi Zero og Pi -kameraet. Jeg vil oppfordre deg til å ta og endre det jeg har gjort for å passe dine praktiske eller underholdningsbehov. For å kontrollere roboten og se kamerastrømmen, bygde jeg en IOS -app (PiBotRemote -appen) som du gjerne kan bruke og endre. Den virkelige kraften i prosjekter som dette stammer imidlertid fra mangfoldet i mulighetene i både maskinvare og programvare. Så jeg vil oppfordre deg til å være kreativ og legge til det jeg har gjort avhengig av hva du vet hvordan du skal gjøre. Jeg tror for eksempel at det ville være kult å få denne roboten til å bruke maskinsyn til å gjenkjenne omgivelsene og navigere på samme måte som en selvkjørende bil.

Trinn 1: Krav

Krav
Krav
  • Materialer

    • Påkrevd (omtrent $ 75)

      • Raspberry Pi Zero W ($ 10)
      • Micro SD -kort ($ 8,25)
      • 40 -pinners topptekst ($ 3,25)
      • Jumper Wires ($ 6,86)
      • USB -batteri ($ 5,00)
      • 900 o / min mikro girmotor x 2 ($ 12,95 hver)
      • Motordriver ($ 4,95)
      • Hjul ($ 6,95)
      • 14 mm stålkulelager ($ 0,62)
      • Skruer, muttere og avstandsstykker (se nedenfor)
    • Valgfritt (Omtrent $ 45)

      • Lysdioder
      • Raspberry Pi -kamera ($ 29,95)
      • Pi Zero Camera Adapter ($ 5,95)
      • Servomotor ($ 8,95)
    • Verktøy

      • 3D -skriver og filament
      • Datamaskin (jeg bruker en mac, og du trenger en hvis du vil bruke PiBot Remote -appen)
      • iPhone/iPad/iPod Touch (hvis du skal bruke appen)
      • Bore
      • Skrutrekker med utskiftbare tips

Mer informasjon om deler

  • Pi Zero: Hvis du bare vil bruke Pi Zero til dette prosjektet, vil du ha det bra med å kjøre hodeløst hele tiden. Ellers må du kjøpe ekstra adaptere hvis du noen gang vil koble til en HDMI -utgang eller en USB -enhet. I dette tilfellet er det mest sannsynlig det mest kostnadseffektive alternativet å kjøpe et Pi Zero-sett, som dette ($ 24) kjøpte jeg av amazon. Selv om jeg fortsatt måtte kjøpe et micro SD -kort, kom dette settet med Pi Zero, både nødvendige adaptere og mange forskjellige overskrifter. Alt dette kan være nyttig.
  • Micro SD -kort: Du kan bruke et hvilket som helst Micro SD -kort så lenge det har minst 8 GB lagringsplass.
  • Jumper Wires: Jeg liker hoppere som disse fordi de kommer som en tilkoblet bunt. Dette gjør at jeg kan skille en 9-leders seksjon og koble Pi og motordriveren pent.
  • USB -batteri: Batteriet jeg kjøpte av Sparkfun har siden blitt avviklet. Som et resultat må du finne en andre steder. Den jeg koblet til lignet min, men jeg har ikke kjøpt den, og du må kanskje endre utskriftsfiler for å passe til batteriet. Sørg for å finne et batteri med en tilkoblet mikro -USB -kabel, da dette lar deg koble direkte til pi uten overflødig ledning.
  • Motordriver: Jeg vil anbefale å bruke dykkeren jeg koblet til siden det er ganske billig, og utskriften er designet for å passe akkurat det brettet. I tillegg kan andre tavler fungere annerledes, og du kan ha forskjellige resultater.
  • 14 mm stålkule: Jeg brukte denne ballen rett og slett fordi jeg tilfeldigvis hadde en liggende. Bruk gjerne andre størrelser, men du må kanskje endre stikkontaktstørrelsen. Ballen vil fungere som det tredje hjulet for roboten vår. Dette er et av designområdene på roboten min som er det mest problematiske akkurat nå og som kan bruke mest forbedring. Selv om det fungerer fint på glatte, harde overflater, har det problemer på tepper og grovere overflater. Du er velkommen til å endre dette området av designet ditt.
  • Skruer, muttere, distanser: Du må kanskje jobbe litt for å finne skruer som fungerer for deg. Jeg fant ganske enkelt skruene som monterte Pi, så vel som skruene som holdt Pi -kamerafeste sammen i pappas skruesamling. For motorfester og stikkontakter brukte jeg disse ($ 2,95) skruene og disse ($ 1,50) muttere, som begge er tilgjengelige på Sparkfun. Avstandene og 8 skruer (jeg tok tilfeldigvis bare 4 med på bildet) som holder roboten sammen jeg tok fra skolens ubrukte VEX -sett.
  • Lysdioder: Jeg er sikker på at du vet hvor du enkelt kan finne deg noen lysdioder. Velg hvilken farge du vil representere funksjonene: strøm, tilkobling, robotspillebane og robotmottaksinstruksjon.
  • Kamera og servo: Avhengig av hva du vil gjøre med roboten din, kan du velge å ikke inkludere kameraet og servoen siden de ikke er nødvendige for grunnleggende bevegelse, og legge 45 dollar til roboten.

Trinn 2: Pi Zero Setup

Oppsett av Pi Zero
Oppsett av Pi Zero

Følg denne lenken for å sette opp en hodeløs installasjon på Raspberry Pi Zero W

  • Ikke glem at Pi Zero ikke kan koble til et 5 GHz Wi-Fi-nettverk
  • Sørg for å følge instruksjonene for Raspbian Stretch eller nyere

Når du har koblet til pi -en din via SSH, kjører du

sudo raspi-config

og endre følgende konfigurasjoner:

  • Bytt passord. Det er veldig farlig å la standardpassordet bringebær stå. Sørg for at du husker dette passordet.
  • I Nettverksalternativer, endre vertsnavnet fra raspberrypi til noe kortere som pizero eller pibot. Jeg vil bruke pibot for resten av denne opplæringen. Husk å huske hva du legger her.
  • I Boot -alternativer -> Desktop / CLI, velg Console Autologin
  • Gå til grensesnittalternativer og aktiver kameraet

Velg Fullfør og start enheten på nytt.

Trinn 3: Konfigurer AdHoc -nettverket

Ved å sette opp et AdHoc -nettverk vil vi kunne koble kontrollenheten vår direkte til roboten uten mellomledd. Dette gir raskere streaming av video og lavere ventetid for kontroll. Dette trinnet er imidlertid ikke nødvendig, siden alt fortsatt vil fungere gjennom et normalt wifi -nettverk.

Først må du laste ned og pakke ut alle nødvendige filer fra GitHub. I terminalen, naviger til den nedlastede mappen og send PiBotRemoteFiles -mappen til pi med kommandoen:

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

Dette sender alle nødvendige filer til roboten som skal kontrollere den og sette opp AdHoc -nettverket. Sørg for at filene er i en mappe kalt "PiBotRemoteFiles" som ligger på skrivebordet; ellers vil mange ting mislykkes i å fungere nedover veien. Hvis du bruker PiBot Remote-appen, kan du bytte mellom vanlig Wi-Fi og et AdHoc-nettverk i appinnstillingene. Ellers kan du manuelt endre det gjennom SSH med en av følgende kommandoer:

sudo bash adhoc.sh

sudo bash wifi.sh

Sørg selvfølgelig for at du har navigert til PiBotRemoteFiles -mappen før du kjører de foregående kommandoene. Enhver endring mellom AdHoc og Wi-Fi trer først i kraft etter neste omstart. Hvis en AdHoc er konfigurert, bør du se et PiBot -nettverk vises når Pi Zero starter.

Trinn 4: Legg til en strøm -LED

Legg til en strøm -LED
Legg til en strøm -LED

Selv om det absolutt er unødvendig, kan det være nyttig å ha et strømlys. For å aktivere dette, SSH inn i Pi Zero og kjør kommandoen:

sudo nano /etc/bash.bashrc

Og legg til følgende linje i slutten av filen:

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

Vi vil senere endre GPIO -pinnen knyttet til strøm -LED.

Trinn 5: Oppsett av RPi Cam Web Interface

RPi Cam Web Interface Setup
RPi Cam Web Interface Setup
Oppsett av RPi Cam Web Interface
Oppsett av RPi Cam Web Interface

For å bruke video-strømmen til Raspberry Pi Cameras, bruker vi RPi-Cam-web-grensesnittet. Informasjon om denne modulen finner du her, og koden er på GitHub. For å installere modulen må vi først oppdatere Pi. Dette kan ta opptil 10 minutter.

sudo apt-get oppdatering

sudo apt-get dist-upgrade

Vi må da installere git:

sudo apt-get install git

Og vi kan endelig installere modulen:

git -klon

RPi_Cam_Web_Interface/install.sh

Etter at modulen er installert, vises et konfigurasjonsvindu. Hvis du ønsker å legge til et brukernavn og passord, må du bruke det samme brukernavnet og passordet som pi -kontoen din. Ellers kan ikke PiBot Remote -appen motta kamerastrømmen.

Hvis du går til en nettleser på en enhet på samme nettverk som Pi, og hvis kameraet er koblet til pi, kan du motta strømmen ved å gå til https://pibot.local/html/#. RPi -grensesnittet gir enkel kontroll over kameraet, og ved å trykke eller klikke på videoen kan det bli fullskjerm. Vi kommer til å bruke dette senere med PiBot -fjernappen.

Vi er nå ferdige med å sette opp Pi Zero, til de morsomme tingene!

Trinn 6: Skriv ut alt

Skriv ut alt
Skriv ut alt
Skriv ut alt
Skriv ut alt

Selv om jeg brukte en Dremel 3D -skriver med PLA -filament, kan du gjerne bruke dine egne skrivere og materialer. Alle STL -filene er i mappen du lastet ned fra GitHub. Jeg klarte å skrive ut alt i fire grupper: topplaten, bunnplaten, alle festene og stikkontaktene og ringen. Vær kreativ i fargevalget ditt og dra full nytte av 3D -skriveres evner. Skriveren min hadde ikke dobbel ekstrudering eller slike fancy funksjoner, men hvis jeg har tilgang til en slik skriver, vil jeg anbefale å skrive ut dekorasjonene på toppen av topplaten i en kontrastfarge. Du må sannsynligvis fil og bore for å få noen stykker til å passe.

Mal gjerne topplaten for å synliggjøre LED -symboler og dekorasjoner.

Du har kanskje lagt merke til to fester på endene av bunnplaten som ligner GoPro -monteringssystemet. Bruk disse gjerne til å feste det du liker på forsiden eller baksiden av roboten. I blenderfilen kan du finne en markørfeste for tørr sletting jeg brukte, samt et malobjekt du kan endre for å holde objektet.

Du er også velkommen til å definere hvilken retning som er fremover; Jeg har byttet minst tre ganger så langt.

Trinn 7: Lodding på topptekstene

Lodd på hodene
Lodd på hodene
Lodd på hodene
Lodd på hodene
Lodd på hodene
Lodd på hodene

Selv om jeg valgte å lodde på overskrifter til PiZero, kan du lodde ledningene dine direkte til pi. Hvis du velger å lodde overskrifter som jeg gjorde, vil jeg anbefale å bruke en med en rett vinkel som min. Det holder ledningene mye mer skjult og får alt til å se mye penere ut.

Nå er det på tide å lodde motorføreren. Bunnplaten er designet spesielt for denne Sparkfun -motorføreren, og gir plass til stifthodet for å stikke ut bunnen. Dette gjør det enkelt å bytte motorpinner slik at du kan bytte til venstre og høyre, og fremover og bakover. Selv om jeg inkluderer følgende trinn nå, vil jeg sterkt anbefale å vente noen få trinn til du vet nøyaktig hvor lange ledningene må være. Klipp av en 9-leders seksjon av jumperpinner som er kompatible med toppnålene du nettopp loddet i pi. Lodd hver ledning forsiktig slik at gruppen samlet kan ligge flatt og vikle rundt batteriet. Mål ut lengden på ledningen på forhånd, slik at du ikke ender med for lite eller for mye.

Endelig er det på tide å lodde lysdiodene. Fest dem til hver sin plassering på topplaten, og brett alle jordpinnene oppå hverandre. Lodd en ledning til bakken, og en ledning til hver LED. Fra venstre til høyre er lysdiodens funksjoner: robotkraft, apptilkobling til roboten, roboten spiller av en lagret bane og instruksjoner mottas av roboten.

Også loddetråder til hver motor slik at de kan plugge inn hodene som kommer fra motorføreren.

Trinn 8: Skru på motoren og kontakten

Skru på motoren og kontakten
Skru på motoren og kontakten
Skru på motoren og kontakten
Skru på motoren og kontakten
Skru på motoren og kontakten
Skru på motoren og kontakten
Skru på motoren og kontakten
Skru på motoren og kontakten

Sett først hver motor inn i et motorfeste. Sett deretter inn hver skrue delvis, helt til spissen når overflaten på festet eller sokkelen. Deretter holder du på plass en mutter på den andre siden av platen for hver skrue mens du strammer hver skrue. Husk å plassere lageret mellom de to stikkontaktene mens du skruer på den andre. Plasser motorføreren i sin posisjon og plugg inn motorene. Det spiller ingen rolle hvilken motor som er koblet til hver utgang, da du enkelt kan endre det når roboten er i gang.

Trinn 9: Gjør kameraet og servoen klar

Klargjør kameraet og servoen
Klargjør kameraet og servoen
Gjør kameraet og servoen klar
Gjør kameraet og servoen klar
Gjør kameraet og servoen klar
Gjør kameraet og servoen klar
Klargjør kameraet og servoen
Klargjør kameraet og servoen

Koble Pi Zero -adapterbåndet til kameraet og skru kamerahuset sammen. Sett servoen på plass. Du kan bore skruehullene til servoen, men den er rikelig tett nok. Fest kameraet til servoen på den måten du finner best. For tiden har jeg to hull i festet, med en stift som passerer gjennom servohornet og kamerahuset. Det etterlater imidlertid mye svingrom, så det kan være lurt å bruke superlim. Pek kameraet i hvilken retning du ønsker, og skru servohornet på plass. Sett kamerabåndet gjennom spalten ved bringebæret, og koble det til pi -en. Til slutt bretter du båndet for å holde det flatt mot batteriet.

Trinn 10: Sett alt sammen

Å sette alt sammen
Å sette alt sammen
Å sette alt sammen
Å sette alt sammen
Å sette alt sammen
Å sette alt sammen
Å sette alt sammen
Å sette alt sammen

Det er endelig på tide at alt blir ett stykke. Koble ledningene fra lysdiodene, motordriveren og servoen til Pi på en slik måte at du bare bruker gyldige pinner, men hold dem nær utgangen. Legg deretter ledningene gjennom sporene og skru pi på plass. Dette er designet for å passe godt for å holde ting ryddig, så ikke gi opp når det virker som om det ikke er nok plass til de store jumperpinnene.

Skru inn hver avstand i bunnplaten slik at hver er sikker. Sett inn batteriet og kontroller at strømkabelen får plass gjennom sporet og inn i Pi Zero -strømporten. Vikle motorførerdrådene rundt den og sett ringene rundt alt. Når du har klemt alle ledningene inn i mellomrommet mellom batteriet og topplaten, skal liten rygg på bunnplaten inn i ringen, og de to høye punktene på ringen inn i topplaten. Du kan nå skru topplaten fast og du har bygget roboten din!

Trinn 11: Åpne Xcode -prosjektet

Åpne Xcode -prosjektet
Åpne Xcode -prosjektet
Åpne Xcode -prosjektet
Åpne Xcode -prosjektet
Åpne Xcode -prosjektet
Åpne Xcode -prosjektet

De neste trinnene gjelder bare hvis du skal bruke PiBot Remote -appen, som krever en Mac og en IOS -enhet.

Fordi jeg er billig og ikke har betalt Apple Developer -konto, kan jeg bare dele Xcode -prosjektet, ikke selve appen. Du kan deretter åpne prosjektet selv, endre signeringen og starte det på din egen enhet.

Hvis du ikke allerede har Xcode, kan du laste det ned fra appbutikken på din Mac. Når Xcode er lastet inn, velger du "Åpne et annet prosjekt" i nedre høyre hjørne, og navigerer til "PiBot Remote" -mappen i GitHub-nedlastingen.

Når prosjektet åpnes, klikker du på rotfilen i visningen helt til venstre kalt "PiBot Remote".

Endre "Bundle Identifier" til noe unikt. Du kan erstatte navnet mitt med ditt, eller legge til noe på slutten.

Bytt team til din egen personlige konto. Hvis du ikke har en, velger du "Legg til en konto".

Trykk på kommando-B for å bygge, og håp at alt fungerer som det skal. Når du har bygget prosjektet, kobler du enheten til datamaskinen. Klikk på knappen til høyre for spill- og stoppknappene øverst til venstre, og velg enheten.

Trykk kommando-R, og appen skal starte på enheten din. Enheten din må kanskje bekrefte identiteter før den kjøres, og trenger internettilgang bare nå.

Trinn 12: Endelige justeringer

Endelige justeringer
Endelige justeringer

Du kan justere pin -tallene for alt bortsett fra strøm -LED -en i PiBot Remote -appen. For å endre pinnen for strøm -LED, SSH i PI, og kjør kommandoen:

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

Endre de to forekomstene av 36 til hvilken GPIO -pin du brukte. Trykk deretter på kontroll-X, y, enter.

Appen og serveren er begge utsatt for feil. Bruk konsollen i feilsøkingsmodus for å finne ut hva som skjer. Hvis du er i tvil, kan du prøve å starte Pi på nytt og/eller starte appen på nytt. Noen ganger etter en kodefeil, kan ikke appen koble til på nytt fordi adressen allerede er i bruk. I dette tilfellet bytter du bare porten og appen skal koble seg til.

Når du kjører roboten med gasspedalen på enheten, må du også bruke noen upraktiske bevegelser for å kalibrere, stoppe/starte, justere kameraet og vise/skjule fanen

  • Kalibrer: Trykk og hold med to fingre i. 5 sekunder (hvis enheten støtter det, vil du føle haptisk tilbakemelding når enheten har kalibrert seg
  • Kamerajustering: Den vanskeligste bevegelsen, gjør det som tidligere ble beskrevet for å kalibrere, dra deretter fingrene opp for å flytte kameraet opp, og dra ned for å flytte kameraet ned. Justeringen gjøres når du løfter fingrene.
  • Stopp/start -veksle: Når du går til akselerometervisningen, er roboten først satt til å ignorere bevegelseskommandoer. For å veksle denne innstillingen, dobbelttrykk med to fingre.
  • Vis/skjul fanelinje: For å aktivere visning i fullskjerm mens du kjører i akselerometer, vil fanen automatisk gjemme seg etter noen sekunder. Sveip opp for å vise den igjen. Sveip ned for å skjule det.

Hvis du blir frustrert over problemene og ulempene knyttet til appen min, husk bare at jeg ikke har hatt noen formell utdannelse i programmering av noe slag. Så jeg tar gjerne imot råd og forslag. Gaffel gjerne mine GitHub -filer.

Hvis jeg gjør noen justeringer på GitHub, kan du bruke dem på roboten ved å laste ned filene og sende dem via rekursiv SCP til Pi på riktig sted. Hvis du klonet Xcode -prosjektet, trekker du bare endringen. Ellers kan du laste ned prosjektet og følge trinn 11 for å åpne appen på enheten din.

Hvis du gjør noe interessant med denne opplæringen, vennligst gi meg beskjed i kommentarene. Jeg er interessert i å se hvordan den kan brukes som en mal for alle slags fascinerende prosjekter.

Anbefalt: