Indholdsfortegnelse:

3D -printet Raspberry Pi Zero Robot: 12 trin
3D -printet Raspberry Pi Zero Robot: 12 trin

Video: 3D -printet Raspberry Pi Zero Robot: 12 trin

Video: 3D -printet Raspberry Pi Zero Robot: 12 trin
Video: MS200 TOF Lidar 12M Range support ROS ROS2 can be used on UAV/Sweeping robot/Raspberry Pi car 2024, November
Anonim
Image
Image
3D -printet Raspberry Pi Zero Robot
3D -printet Raspberry Pi Zero Robot
3D -printet Raspberry Pi Zero Robot
3D -printet Raspberry Pi Zero Robot

Har du nogensinde ønsket at bygge en robot, men havde bare ikke alle materialer til at bygge en uden at ende med et unødigt omfangsrigt chassis? 3D -printere er her for at redde dagen! Ikke alene kan de oprette dele, der er kompatible med stort set enhver hardware, de kan gøre det på en meget pladseffektiv måde. Her vil jeg vise dig, hvordan du opretter en meget grundlæggende robot, der indeholder 3D -printede dele, Raspberry Pi Zero og Pi -kameraet. Jeg vil opfordre dig til at tage og ændre, hvad jeg har gjort for at passe til dine praktiske eller underholdningsbehov. For at styre robotten og se kamerafeedet byggede jeg en IOS -app (PiBotRemote -appen), som du er velkommen til at bruge og ændre. Den reelle kraft i projekter som denne stammer imidlertid fra mangfoldigheden i mulighederne inden for både hardware og software. Så jeg vil opfordre dig til at være kreativ og tilføje til det, jeg har gjort, afhængigt af hvad du ved, hvordan du gør. For eksempel synes jeg, at det ville være fedt at få denne robot til at bruge maskinsyn til at genkende sine omgivelser og navigere på samme måde som en selvkørende bil.

Trin 1: Krav

Krav
Krav
  • Materialer

    • Påkrævet (cirka $ 75)

      • Raspberry Pi Zero W ($ 10)
      • Micro SD -kort ($ 8,25)
      • 40 Pin Header ($ 3,25)
      • Jumper Wires ($ 6,86)
      • USB -batteri ($ 5,00)
      • 900 o / min mikro gearmotor x 2 ($ 12,95 hver)
      • Motorfører (4,95 $)
      • Hjul ($ 6,95)
      • 14 mm stålkugleleje ($ 0,62)
      • Skruer, møtrikker og afstande (se nedenfor)
    • Valgfrit (Cirka $ 45)

      • LED'er
      • Raspberry Pi -kamera ($ 29,95)
      • Pi Zero Camera Adapter ($ 5,95)
      • Servomotor ($ 8,95)
    • Værktøjer

      • 3D printer og filament
      • Computer (jeg bruger en mac, og du skal bruge en, hvis du vil bruge PiBot Remote -appen)
      • iPhone/iPad/iPod Touch (Hvis du bruger appen)
      • Bore
      • Skruetrækker med udskiftelige spidser

Mere information om dele

  • Pi Zero: Hvis du kun vil bruge Pi Zero til dette projekt, har du det fint med at køre hovedløst hele tiden. Ellers skal du købe ekstra adaptere, hvis du nogensinde vil tilslutte en HDMI -udgang eller USB -perifer. I dette tilfælde er det sandsynligvis den mest omkostningseffektive løsning at købe et Pi Zero-kit, som dette ($ 24), jeg købte fra Amazon. Selvom jeg stadig skulle købe et micro SD -kort, kom dette kit med Pi Zero, både nødvendige adaptere og mange forskellige headers. Alt dette kan være nyttigt.
  • Micro SD -kort: Du kan bruge ethvert Micro SD -kort, så længe det har mindst 8 GB lagerplads.
  • Jumper Wires: Jeg kan godt lide jumpere som disse, fordi de kommer som et forbundet bundt. Dette giver mig mulighed for at adskille f.eks. En 9-leder sektion og pænt forbinde Pi og motordriveren.
  • USB -batteri: Batteriet, jeg købte fra Sparkfun, er siden blevet afbrudt. Som et resultat skal du finde en andre steder. Den, jeg linkede, lignede min, men jeg har ikke købt den, og du skal muligvis ændre udskrivningsfilerne, så de passer til dit batteri. Sørg for at finde et batteri med et tilsluttet mikro -USB -kabel, da dette giver dig mulighed for at tilslutte direkte til pi'en uden overskydende ledning.
  • Motordriver: Jeg vil anbefale at bruge den dykker, jeg har linket til, da det er ret billigt, og printet er designet til at passe præcist det bord. Derudover kan andre tavler fungere anderledes, og du kan have forskellige resultater.
  • 14 mm stålkugle: Jeg brugte denne bold simpelthen fordi jeg tilfældigvis havde en liggende. Brug gerne andre størrelser, men du skal muligvis ændre stikkontaktens størrelse. Bolden fungerer som det 3. hjul til vores robot. Dette er et af designområderne på min robot, der er det mest problematiske lige nu og kunne bruge den mest forbedring. Selvom det fungerer fint på glatte, hårde overflader, har det problemer på tæpper og grovere overflader. Du er velkommen til at ændre dette område af dit design.
  • Skruer, møtrikker, afstande: Du skal muligvis arbejde lidt for at finde skruer, der fungerer for dig. Jeg fandt simpelthen skruerne, der monterede Pi, samt skruerne, der holdt Pi -kameraholderen sammen i min fars skruesamling. Til motorophæng og fatninger brugte jeg disse ($ 2,95) skruer og disse ($ 1,50) møtrikker, som begge fås hos Sparkfun. Afstandene og 8 skruer (jeg kom tilfældigt kun med 4 på billedet), der holder robotten sammen, jeg tog fra min skoles ubrugte VEX -sæt.
  • Lysdioder: Jeg er sikker på, at du ved, hvor du nemt kan finde dig nogle lysdioder. Vælg den farve, du vil repræsentere funktionerne: strøm, forbindelse, robotafspilningssti og robotmodtagelse.
  • Kamera og servo: Afhængigt af hvad du ønsker at gøre med din robot, kan du vælge ikke at inkludere kameraet og servoen, da de ikke er nødvendige for grundlæggende bevægelser, og tilføje $ 45 til robottens omkostninger.

Trin 2: Pi Zero Setup

Opsætning af Pi Zero
Opsætning af Pi Zero

Følg dette link for at konfigurere en hovedløs installation på din Raspberry Pi Zero W

  • Glem ikke, at Pi Zero ikke kan oprette forbindelse til et 5 GHz Wi-Fi-netværk
  • Sørg for at følge instruktionerne for Raspbian Stretch eller senere

Når du har oprettet forbindelse via SSH til din pi, skal du køre

sudo raspi-config

og ændre følgende konfigurationer:

  • Skift dit kodeord. Det er meget farligt at forlade standardadgangskoden hindbær. Sørg for at huske denne adgangskode.
  • I netværksindstillinger skal du ændre værtsnavnet fra raspberrypi til noget kortere som pizero eller pibot. Jeg vil bruge pibot til resten af denne vejledning. Husk at huske, hvad du lægger her.
  • I Boot -indstillinger -> Desktop / CLI skal du vælge Console Autologin
  • Gå til grænsefladeindstillinger og aktiver kameraet

Vælg Afslut, og genstart enheden.

Trin 3: Konfigurer AdHoc -netværket

Ved at oprette et AdHoc -netværk vil vi kunne forbinde vores styreenhed direkte til robotten uden mellemled. Dette giver mulighed for hurtigere streaming af video og lavere kontrolforsinkelse. Dette trin er imidlertid ikke nødvendigt, da alt stadig vil fungere gennem et normalt wifi -netværk.

Først skal du downloade og pakke alle de nødvendige filer ud fra GitHub. I terminal skal du navigere til den downloadede mappe og sende mappen PiBotRemoteFiles til pi'en med kommandoen:

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

Dette sender alle de nødvendige filer til robotten, der vil styre den og konfigurere AdHoc -netværket. Sørg for, at filerne er i en mappe kaldet "PiBotRemoteFiles", der er placeret på skrivebordet; ellers vil mange ting ikke fungere undervejs. Hvis du vil bruge PiBot Remote-appen, kan du skifte mellem normalt Wi-Fi og et AdHoc-netværk i appindstillingerne. Ellers kan du manuelt ændre det via SSH med en af følgende kommandoer:

sudo bash adhoc.sh

sudo bash wifi.sh

Sørg selvfølgelig for, at du har navigeret til mappen PiBotRemoteFiles, før du kører de foregående kommandoer. Enhver ændring mellem AdHoc og Wi-Fi træder først i kraft efter den næste genstart. Hvis der er oprettet en AdHoc, skal du se et PiBot -netværk vises, når Pi Zero starter.

Trin 4: Tilføj en strøm -LED

Tilføj en strøm -LED
Tilføj en strøm -LED

Selvom det helt sikkert er unødvendigt, kan det være nyttigt at have et strømlys. For at aktivere dette skal SSH ind i Pi Zero og køre kommandoen:

sudo nano /etc/bash.bashrc

Og tilføj følgende linje til slutningen af filen:

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

Vi vil senere ændre GPIO -pin, der er knyttet til strøm -LED'en.

Trin 5: Opsætning af RPi Cam -webgrænseflade

Opsætning af RPi Cam -webgrænseflade
Opsætning af RPi Cam -webgrænseflade
Opsætning af RPi Cam -webgrænseflade
Opsætning af RPi Cam -webgrænseflade

For at bruge Raspberry Pi Cameras videostrømmen vil vi bruge RPi-Cam-Web-interface. Information om dette modul kan findes her, og deres kode er på GitHub. For at installere modulet skal vi først opdatere vores Pi. Dette kan tage op til omkring 10 minutter.

sudo apt-get opdatering

sudo apt-get dist-upgrade

Vi skal derefter installere git:

sudo apt-get install git

Og vi kan endelig installere modulet:

git -klon

RPi_Cam_Web_Interface/install.sh

Når modulet er installeret, vises et konfigurationsvindue. Hvis du ønsker at tilføje et brugernavn og en adgangskode, skal du bruge det samme brugernavn og adgangskode som din pi's konto. Ellers kan PiBot Remote -appen ikke modtage kamerastrømmen.

Hvis du nu går til en browser på en enhed på det samme netværk som Pi, og hvis kameraet er forbundet til pi, kan du modtage strømmen ved at gå til https://pibot.local/html/#. RPi -grænsefladen giver mulighed for let betjening af kameraet, og ved at trykke eller klikke på videoen kan det blive til fuld skærm. Vi vil bruge dette senere med PiBot -fjernappen.

Vi er nu færdige med at konfigurere Pi Zero, til de sjove ting!

Trin 6: Udskriv alt

Udskriv alt ud
Udskriv alt ud
Print alt ud
Print alt ud

Selvom jeg brugte en Dremel 3D -printer med PLA -filament, er du velkommen til at bruge dine egne printere og materialer. Alle STL -filerne er i den mappe, du downloadede fra GitHub. Jeg var i stand til at udskrive alt i fire partier: toppladen, bundpladen, alle beslag og fatninger og ringen. Vær kreativ i dit farvevalg og drage fuld fordel af 3D -printeres evner. Min printer havde ikke dobbelt ekstrudering eller sådanne smarte funktioner, men hvis jeg havde adgang til en sådan printer, vil jeg anbefale at udskrive dekorationerne på toppen af den øverste plade i en kontrastfarve. Du skal sandsynligvis fil og bore for at få nogle stykker til at passe.

Mal gerne toppladen for at synliggøre LED -symboler og dekorationer.

Du har muligvis bemærket to beslag i enderne af bundpladen, der ligner GoPro -monteringssystemet. Brug dem gerne til at fastgøre, hvad du vil til forsiden eller bagsiden af robotten. I blenderfilen kan du finde en markørmontering til tør sletning, jeg brugte, samt et skabelonobjekt, du kan ændre for at holde dit objekt.

Du er også velkommen til at definere hvilken retning som fremad; Jeg har skiftet mindst tre gange indtil videre.

Trin 7: Lodning på overskrifterne

Lodning på overskrifterne
Lodning på overskrifterne
Lodning på overskrifterne
Lodning på overskrifterne
Lodning på overskrifterne
Lodning på overskrifterne

Selvom jeg valgte at lodde på header til PiZero, kunne du lodde dine ledninger direkte til pi. Hvis du vælger at lodde headere som jeg gjorde, vil jeg anbefale at bruge en med en ret vinkel som min. Det holder ledningerne meget mere skjult og får alt til at se meget pænere ud.

Nu er det tid til at lodde motorføreren. Bundpladen er designet specielt til denne Sparkfun -motordriver, og giver plads til stiften til at stikke bunden ud. Dette giver mulighed for let at skifte motorstifter, så du kan skifte til venstre og højre og frem og tilbage. Selvom jeg inkluderer følgende trin nu, vil jeg stærkt anbefale at vente et par trin, indtil du ved præcis, hvor lange dine ledninger skal være. Skær en 9-leder sektion af jumper pins, der er kompatible med de header pins, du lige lod lod i pi. Lod forsigtigt hver ledning, så gruppen samlet kan ligge fladt og vikle rundt om batteriet. Mål længden af ledningen på forhånd, så du ikke ender med for lidt eller for meget.

Endelig er det tid til at lodde lysdioderne. Sæt dem på deres respektive steder på toppladen, og fold alle stifterne oven på hinanden. Lod en ledning til jorden og en ledning til hver LED. Fra venstre mod højre er LED'ernes funktioner: robotstrøm, app -forbindelse til robotten, robotten afspiller en gemt sti, og instruktioner modtages af robotten.

Lod også ledninger til hver motor, så de kan tilsluttes headere, der kommer fra motorføreren.

Trin 8: Skru motoren og fatningen på

Skru motoren og fatningen på
Skru motoren og fatningen på
Skru motoren og fatningen på
Skru motoren og fatningen på
Skru motoren og fatningen på
Skru motoren og fatningen på
Skru motoren og fatningen på
Skru motoren og fatningen på

Først skal du indsætte hver motor i et motorophæng. Indsæt derefter hver skrue delvist, lige indtil spidsen når overfladen af holderen eller fatningen. Hold derefter en møtrik på den anden side af pladen for hver skrue, mens du strammer hver skrue. Husk at placere lejet mellem de to fatninger, mens du skruer det andet på. Placer motordriveren i sin position, og tilslut motorerne. Det er ligegyldigt, hvilken motor der er tilsluttet hver udgang, da du nemt kan ændre det, når robotten er i gang.

Trin 9: Gør kameraet og servoen klar

Gør kameraet og servoen klar
Gør kameraet og servoen klar
Gør kameraet og servoen klar
Gør kameraet og servoen klar
Gør kameraet og servoen klar
Gør kameraet og servoen klar
Gør kameraet og servoen klar
Gør kameraet og servoen klar

Sæt Pi Zero -adapterbåndet i kameraet, og skru kamerahuset sammen. Placer servoen i sin position. Du kan bore skruehullerne til servoen, men den er rigeligt tæt nok. Sæt kameraet på servoen på den måde, du finder bedst. I øjeblikket har jeg to huller i holderen, hvor en hæfteklammer passerer gennem servohornet og kamerahuset. Det efterlader dog meget svirvel, så du vil måske bruge superlim. Ret kameraet i den retning, du ønsker, og skru servohornet på plads. Sæt kamerabåndet gennem spalten ved hindbæret, og sæt det i pi'en. Fold til sidst båndet for at holde det fladt mod batteriet.

Trin 10: Sæt alt sammen

Sætter alt sammen
Sætter alt sammen
Sætter alt sammen
Sætter alt sammen
Sætter alt sammen
Sætter alt sammen
Sætter alt sammen
Sætter alt sammen

Det er endelig tid til at alt bliver til et stykke. Sæt ledningerne fra lysdioderne, motordriveren og servoen ind i Pi'en på en sådan måde, at du kun bruger gyldige stifter, men hold dem tæt på deres udgang. Læg derefter ledningerne gennem deres åbninger og skru pi'en på plads. Dette er designet til at passe tæt til at holde tingene pæne, så giv ikke op, når det ser ud til, at der ikke er plads nok til de store jumper pins.

Skru hver standoff ind i bundpladen, så hver er sikker. Indsæt batteriet, og sørg for, at strømkablet kan passe gennem stikket og ind i Pi Zero's strømport. Pak motorchaufførens ledninger rundt om det, og sæt ringene rundt om alt. Når du har presset alle ledninger ind i mellemrummet mellem batteriet og den øverste plade, lille ryg på bundpladen ind i ringen og de to høje punkter på ringen ind i toppladen. Du kan nu skrue toppladen fast, og du har bygget din robot!

Trin 11: Åbn Xcode -projektet

Åbn Xcode -projektet
Åbn Xcode -projektet
Åbn Xcode -projektet
Åbn Xcode -projektet
Åbn Xcode -projektet
Åbn Xcode -projektet

De næste par trin gælder kun, hvis du vil bruge PiBot Remote -appen, som kræver en Mac og en IOS -enhed.

Fordi jeg er billig og ikke har betalt Apple Developer -konto, kan jeg kun dele Xcode -projektet, ikke selve appen. Du kan derefter åbne projektet selv, ændre signaturen og starte det på din egen enhed.

Hvis du ikke allerede har Xcode, skal du downloade det fra app store på din Mac. Når Xcode er indlæst, skal du vælge "Åbn et andet projekt" i nederste højre hjørne og navigere til mappen "PiBot Remote" i GitHub-download.

Når projektet åbnes, skal du klikke på rodfilen i visningen yderst til venstre kaldet "PiBot Remote".

Skift "Bundle Identifier" til noget unikt. Du kan erstatte mit navn med dit eller tilføje noget til slutningen.

Skift teamet til din egen personlige konto. Hvis du ikke har en, skal du vælge "Tilføj en konto".

Tryk på kommando-B for at bygge, og håber, at alt fungerer korrekt. Når du har bygget projektet med succes, skal du slutte din enhed til din computer. Klik på knappen til højre for afspilnings- og stopknapperne i øverste venstre hjørne, og vælg din enhed.

Tryk på kommando-R, og appen skal starte på din enhed. Din enhed skal muligvis verificere identiteter, før den kører, og har kun brug for internetadgang på dette tidspunkt.

Trin 12: Endelige justeringer

Endelige justeringer
Endelige justeringer

Du kan justere stiftnumrene for alt undtagen strøm -LED'en i PiBot Remote -appen. For at ændre stiften til strømindikatoren, SSH i PI'en, og kør kommandoen:

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

Skift de to forekomster af 36 til den GPIO -pin, du brugte. Tryk derefter på kontrol-X, y, enter.

Appen og serveren er begge tilbøjelige til fejl. Brug konsollen i fejlfindingstilstand til at finde ud af, hvad der foregår. Hvis du er i tvivl, kan du prøve at genstarte Pi og/eller genstarte appen. Nogle gange efter en kodefejl kan appen ikke oprette forbindelse igen, fordi adressen allerede er i brug. I dette tilfælde skal du blot ændre porten, og appen skal oprette forbindelse.

Når du kører robotten med speederen på din enhed, skal du også bruge nogle ubekvemme bevægelser til at kalibrere, stoppe/starte, justere kameraet og vise/skjule fanebjælken

  • Kalibrer: Tryk og hold med to fingre i. 5 sek. (Hvis din enhed understøtter det, vil du føle haptisk feedback, når enheden er kalibreret
  • Kamerajustering: Den mest vanskelige gestus, gør hvad der tidligere blev beskrevet for at kalibrere, træk derefter fingrene op for at flytte kameraet op, og træk ned for at flytte kameraet ned. Justeringen foretages, når du løfter fingrene.
  • Stop/start -skift: Når du går til accelerometervisningen, er robotten i første omgang indstillet til at ignorere bevægelseskommandoer. For at skifte denne indstilling skal du trykke to gange med to fingre.
  • Vis/skjul fanebjælke: For at aktivere fuldskærmsvisning under accelerometerkørsel, vil fanen automatisk skjule sig efter et par sekunder. Stryg opad for at vise det igen. Stryg ned for at skjule det.

Hvis du bliver frustreret over de problemer og gener, der er forbundet med min app, skal du bare huske, at jeg ikke har haft nogen formel uddannelse i programmering af nogen art. Så jeg modtager gerne råd og forslag. Giv gerne mine GitHub -filer.

Hvis jeg foretager justeringer på GitHub, skal du anvende dem på robotten ved at downloade filerne og sende dem via rekursiv SCP til Pi på det relevante sted. Hvis du klonede Xcode -projektet, skal du blot trække ændringen. Ellers kan du downloade projektet og følge trin 11 for at åbne appen på din enhed.

Hvis du gør noget interessant med denne vejledning, så lad mig det vide i kommentarerne, jeg er interesseret i at se, hvordan den kan bruges som en skabelon til alle slags fascinerende projekter.

Anbefalede: