Innehållsförteckning:

3D -tryckt Raspberry Pi Zero Robot: 12 steg
3D -tryckt Raspberry Pi Zero Robot: 12 steg

Video: 3D -tryckt Raspberry Pi Zero Robot: 12 steg

Video: 3D -tryckt Raspberry Pi Zero Robot: 12 steg
Video: 12 New AI Projects using Raspberry-Pi, Jetson Nano & more 2024, Juli
Anonim
Image
Image
3D -tryckt Raspberry Pi Zero Robot
3D -tryckt Raspberry Pi Zero Robot
3D -tryckt Raspberry Pi Zero Robot
3D -tryckt Raspberry Pi Zero Robot

Har du någonsin velat bygga en robot, men bara inte haft allt material för att bygga en utan att sluta med ett onödigt skrymmande chassi? 3D -skrivare är här för att rädda dagen! De kan inte bara skapa delar för att vara kompatibla med praktiskt taget vilken hårdvara som helst, de kan göra det på ett mycket rymdeffektivt sätt. Här kommer jag att visa dig hur du skapar en mycket grundläggande robot med 3D -tryckta delar, Raspberry Pi Zero och Pi -kameran. Jag skulle uppmuntra dig att ta och ändra vad jag har gjort för att passa dina praktiska behov eller underhållningsbehov. För att styra roboten och se kameraflöden byggde jag en IOS -app (PiBotRemote -appen) som du kan använda och ändra. Den verkliga kraften i projekt som detta härrör dock från mångfalden i möjligheterna inom både hårdvara och programvara. Så jag skulle uppmuntra dig att vara kreativ och lägga till det jag har gjort beroende på vad du vet hur du gör. Till exempel tycker jag att det skulle vara häftigt att få den här roboten att använda maskinsyn för att känna igen sin omgivning och navigera på samma sätt som en självkörande bil.

Steg 1: Krav

Krav
Krav
  • Material

    • Obligatoriskt (ungefär $ 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 varv / min mikroväxelmotor x 2 ($ 12,95 styck)
      • Motorförare ($ 4,95)
      • Hjul ($ 6,95)
      • 14 mm stålkullager ($ 0,62)
      • Skruvar, muttrar och avstånd (se nedan)
    • Valfritt (ungefär $ 45)

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

      • 3D -skrivare och filament
      • Dator (jag använder en mac, och du behöver en om du vill använda PiBot Remote -appen)
      • iPhone/iPad/iPod Touch (om du kommer att använda appen)
      • Borra
      • Skruvmejsel med utbytbara spetsar

Mer information om delar

  • Pi Zero: Om du bara vill använda Pi Zero för detta projekt kommer du att må bra hela tiden. Annars, om du någonsin vill ansluta en HDMI -utgång eller USB -kringutrustning måste du köpa ytterligare adaptrar. I det här fallet är det troligtvis det mest kostnadseffektiva alternativet att köpa ett Pi Zero-kit, som det här ($ 24), jag köpte Amazon. Även om jag fortfarande var tvungen att köpa ett micro SD -kort, kom detta kit med Pi Zero, både nödvändiga adaptrar och många olika rubriker. Allt detta kan vara användbart.
  • Micro SD -kort: Du kan använda vilket Micro SD -kort som helst så länge det har minst 8 GB lagringsutrymme.
  • Jumper Wires: Jag gillar hoppare som dessa eftersom de kommer som en ansluten bunt. Detta gör att jag kan separera, säg, en 9-tråds sektion och snyggt ansluta Pi och motordrivrutinen.
  • USB -batteri: Batteriet jag köpte av Sparkfun har sedan dess avbrutits. Som ett resultat måste du hitta en annanstans. Den jag länkade liknade min men jag har inte köpt den, och du kan behöva ändra utskriftsfilerna för att passa ditt batteri. Se till att hitta ett batteri med en ansluten mikro -USB -kabel, eftersom det gör att du kan ansluta direkt till pi utan överskott av kabel.
  • Motordrivrutin: Jag skulle rekommendera att använda dykaren som jag länkade till eftersom det är ganska billigt och utskriften är utformad för att passa exakt det kortet. Dessutom kan andra tavlor fungera olika, och du kan ha olika resultat.
  • 14 mm stålkula: Jag använde den här bollen helt enkelt för att jag råkade ha en liggande. Använd gärna andra storlekar, men du kan behöva ändra uttaget. Bollen kommer att fungera som det tredje hjulet för vår robot. Detta är ett av designområdena på min robot som är det mest problematiska just nu och skulle kunna använda mest förbättring. Även om det fungerar bra på släta, hårda ytor, har det problem på mattor och grövre ytor. Ändra gärna detta område av din design.
  • Skruvar, muttrar, avstånd: Du kan behöva arbeta lite för att hitta skruvar som fungerar för dig. Jag hittade helt enkelt skruvarna som monterar Pi, liksom skruvarna som håller Pi -kamerafästet ihop i min pappas skruvsamling. För motorfästen och uttag använde jag dessa ($ 2,95) skruvar och dessa ($ 1,50) muttrar, som båda finns på Sparkfun. Avstånden och 8 skruvar (jag av misstag inkluderade bara 4 på bilden) som håller ihop roboten som jag tog från min skols oanvända VEX -kit.
  • Lysdioder: Jag är säker på att du vet var du enkelt kan hitta några lysdioder. Välj vilken färg du vill representera funktionerna: ström, anslutning, robotens omspelningsväg och robotmottagningsinstruktion.
  • Kamera och servo: Beroende på vad du vill göra med din robot kan du välja att inte inkludera kameran och servon eftersom de inte är nödvändiga för grundläggande rörelse och lägga till $ 45 till robotens kostnad.

Steg 2: Pi Zero Setup

Pi Zero Setup
Pi Zero Setup

Följ den här länken för att installera en huvudlös installation på din Raspberry Pi Zero W

  • Glöm inte att Pi Zero inte kan ansluta till ett 5 GHz Wi-Fi-nätverk
  • Var noga med att följa instruktionerna för Raspbian Stretch eller senare

När du har anslutit via SSH till din pi, kör

sudo raspi-config

och ändra följande konfigurationer:

  • Ändra ditt lösenord. Det är mycket farligt att lämna standardlösenordet hallon. Se till att du kommer ihåg det här lösenordet.
  • I nätverksalternativ ändrar du värdnamnet från raspberrypi till något kortare som pizero eller pibot. Jag kommer att använda pibot för resten av denna handledning. Kom ihåg vad du lägger här.
  • I Boot -alternativ -> Skrivbord / CLI, välj Console Autologin
  • Gå till gränssnittsalternativ och aktivera kameran

Välj Slutför och starta om enheten.

Steg 3: Konfigurera AdHoc -nätverket

Genom att skapa ett AdHoc -nätverk kommer vi att kunna ansluta vår styrenhet direkt till roboten utan mellanhänder. Detta möjliggör snabbare strömning av video och lägre latens för kontroll. Detta steg är dock inte nödvändigt eftersom allt fortfarande fungerar via ett normalt wifi -nätverk.

Först måste du ladda ner och packa upp alla nödvändiga filer från GitHub. I terminalen, navigera till den nedladdade mappen och skicka mappen PiBotRemoteFiles till pi med kommandot:

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

Detta skickar alla nödvändiga filer till roboten som kommer att styra den och konfigurera AdHoc -nätverket. Se till att filerna finns i en mapp som heter "PiBotRemoteFiles" som finns på skrivbordet; annars kommer många saker att misslyckas med att fungera på vägen. Om du använder PiBot Remote-appen kan du växla mellan normalt Wi-Fi och ett AdHoc-nätverk i appinställningarna. Annars kan du ändra det manuellt via SSH med något av följande kommandon:

sudo bash adhoc.sh

sudo bash wifi.sh

Självklart, se till att du har navigerat till mappen PiBotRemoteFiles innan du kör de föregående kommandona. Alla ändringar mellan AdHoc och Wi-Fi träder först i kraft efter nästa omstart. Om en AdHoc är konfigurerad bör du se ett PiBot -nätverk visas när Pi Zero startar.

Steg 4: Lägg till en ström -LED

Lägg till en ström -LED
Lägg till en ström -LED

Även om det verkligen är onödigt kan det vara användbart att ha en strömlampa. För att aktivera detta, SSH in i Pi Zero och kör kommandot:

sudo nano /etc/bash.bashrc

Och lägg till följande rad i slutet av filen:

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

Vi kommer senare att ändra GPIO -stiftet som är associerat med strömlampan.

Steg 5: RPi Cam Web Interface Setup

RPi Cam Web Interface Setup
RPi Cam Web Interface Setup
RPi Cam Web Interface Setup
RPi Cam Web Interface Setup

För att utnyttja videoströmmen för Raspberry Pi Cameras använder vi RPi-Cam-webbgränssnittet. Information om denna modul finns här och deras kod finns på GitHub. För att installera modulen måste vi först uppdatera vår Pi. Detta kan ta upp till cirka 10 minuter.

sudo apt-get uppdatering

sudo apt-get dist-upgrade

Vi måste sedan installera git:

sudo apt-get install git

Och vi kan äntligen installera modulen:

git -klon

RPi_Cam_Web_Interface/install.sh

När modulen är installerad visas ett konfigurationsfönster. Om du vill lägga till ett användarnamn och lösenord måste du använda samma användarnamn och lösenord som ditt Pi -konto. Annars kan PiBot Remote -appen inte ta emot kameraströmmen.

Om du nu går till en webbläsare på en enhet i samma nätverk som Pi och om kameran är ansluten till pi kan du ta emot strömmen genom att gå till https://pibot.local/html/#. RPi -gränssnittet möjliggör enkel kontroll av kameran, och genom att trycka eller klicka på videon kan den bli fullskärm. Vi kommer att använda detta senare med PiBot -fjärrappen.

Vi är nu klara med att konfigurera Pi Zero, till de roliga grejerna!

Steg 6: Skriv ut allt

Skriv ut allt
Skriv ut allt
Skriv ut allt
Skriv ut allt

Även om jag använde en Dremel 3D -skrivare med PLA -filament, använd gärna dina egna skrivare och material. Alla STL -filer finns i mappen du laddade ner från GitHub. Jag kunde skriva ut allt i fyra omgångar: topplattan, bottenplattan, alla fästen och uttag och ringen. Var kreativ i ditt färgval och dra full nytta av 3D -skrivares förmågor. Min skrivare hade inte dubbel extrudering eller några sådana snygga funktioner, men om jag har tillgång till en sådan skrivare rekommenderar jag att du skriver ut dekorationerna på toppen av topplattan i en kontrastfärg. Du kommer sannolikt att behöva fila och borra för att få några bitar att passa.

Måla gärna topplattan för att synliggöra LED -symboler och dekorationer.

Du kanske har märkt två fästen i ändarna på bottenplattan som liknar GoPro -monteringssystemet. Använd gärna dessa för att fästa vad du vill på framsidan eller baksidan av roboten. I mixerfilen kan du hitta en torrradering av markörfäste som jag använde, samt ett mallobjekt som du kan ändra för att hålla ditt objekt.

Också, välkommen att definiera vilken riktning som framåt; Jag har bytt minst tre gånger hittills.

Steg 7: Lödning på rubrikerna

Lödning på rubrikerna
Lödning på rubrikerna
Lödning på rubrikerna
Lödning på rubrikerna
Lödning på rubrikerna
Lödning på rubrikerna

Även om jag valde att lödas på sidhuvuden till PiZero, kunde du löd dina trådar direkt till pi. Om du väljer att löda rubriker som jag gjorde, skulle jag rekommendera att använda en med en rätt vinkel som min. Det håller trådarna mycket mer dolda och får allt att se mycket snyggare ut.

Nu är det dags att löda motorföraren. Bottenplattan är speciellt utformad för denna Sparkfun -motorförare och ger plats för stifthuvudet att sticka ut botten. Detta möjliggör enkel byte av motorstift så att du kan byta vänster och höger, och framåt och bakåt. Även om jag inkluderar följande steg nu, rekommenderar jag starkt att du väntar några steg tills du vet exakt hur långa dina ledningar måste vara. Klipp av en 9-tråds sektion av bygelnålar som är kompatibla med sidhuvudstiften du just lödde i pi. Löd försiktigt varje tråd så att gruppen kollektivt kan ligga platt och linda runt batteriet. Mät längden på tråden i förväg så att du inte hamnar för lite eller för mycket.

Slutligen är det dags att löda lysdioderna. Fäst dem på sina respektive platser på topplattan och vik alla markpinnar ovanpå varandra. Löd en tråd till marken och en tråd till varje lysdiod. Från vänster till höger är lysdiodernas funktioner: robotkraft, appanslutning till roboten, roboten spelar om en sparad sökväg och instruktioner tas emot av roboten.

Löd också kablar till varje motor så att de kan anslutas till sidhuvuden som kommer från motorföraren.

Steg 8: Skruva på motorn och uttaget

Skruva på motorn och uttaget
Skruva på motorn och uttaget
Skruva på motorn och uttaget
Skruva på motorn och uttaget
Skruva på motorn och uttaget
Skruva på motorn och uttaget
Skruva på motorn och uttaget
Skruva på motorn och uttaget

För in först varje motor i ett motorfäste. Sätt sedan in varje skruv delvis, tills spetsen når ytan på fästet eller uttaget. Håll sedan fast en mutter på den andra sidan av plattan för varje skruv när du drar åt varje skruv. Kom ihåg att placera lagret mellan de två uttagen när du skruvar på det andra. Placera motordrivrutinen i sitt läge och anslut motorerna. Det spelar ingen roll vilken motor som är ansluten till varje utgång eftersom du enkelt kan ändra det när roboten är igång.

Steg 9: Förbered kameran och servon

Gör klart kameran och servon
Gör klart kameran och servon
Gör klart kameran och servon
Gör klart kameran och servon
Gör klart kameran och servon
Gör klart kameran och servon
Gör klart kameran och servon
Gör klart kameran och servon

Anslut Pi Zero -adapterbandet till kameran och skruva ihop kamerahöljet. Placera servon i sitt läge. Du kan borra skruvhålen för servon, men det är tillräckligt tätt nog. Fäst kameran på servon på det sätt du tycker är bäst. För närvarande har jag två hål i fästet, med en häftklammer som passerar genom servohornet och kamerafodralet. Det lämnar dock mycket krångel så att du kanske vill använda superlim. Rikta kameran åt vilket håll du vill och skruva fast servohornet. Montera kamerabandet genom skåran vid hallon och anslut den till pi. Vik slutligen bandet så att det ligger plant mot batteriet.

Steg 10: Att sätta ihop allt

Att sätta ihop allt
Att sätta ihop allt
Att sätta ihop allt
Att sätta ihop allt
Att sätta ihop allt
Att sätta ihop allt
Att sätta ihop allt
Att sätta ihop allt

Det är äntligen dags för allt att bli ett stycke. Anslut ledningarna från lysdioderna, motordrivrutinen och servon till Pi så att du bara använder giltiga stift, men håll dem nära deras utgång. Placera sedan trådarna genom sina spår och skruva pi på plats. Detta är utformat för att passa tätt för att hålla saker snygga, så ge inte upp när det verkar som om det inte finns tillräckligt med plats för de stora bygelnålarna.

Skruva in varje avstånd i bottenplattan så att alla är säkra. Sätt i batteriet och se till att strömkabeln kan passa genom kortplatsen och in i Pi Zero -strömporten. Vikla motordrivkablarna runt den och montera ringen runt allt. När du har klämt in alla trådar i utrymmet mellan batteriet och topplattan, liten ås på bottenplattan i ringen och de två höga punkterna på ringen i topplattan. Du kan nu skruva fast topplattan och du har byggt din robot!

Steg 11: Öppna Xcode -projektet

Öppna Xcode -projektet
Öppna Xcode -projektet
Öppna Xcode -projektet
Öppna Xcode -projektet
Öppna Xcode -projektet
Öppna Xcode -projektet

De följande stegen gäller bara om du kommer att använda PiBot Remote -appen, som kräver en Mac och en IOS -enhet.

Eftersom jag är billig och inte har betalt Apple Developer -konto kan jag bara dela Xcode -projektet, inte själva appen. Du kan sedan öppna projektet själv, ändra signaturen och starta det på din egen enhet.

Om du inte redan har Xcode kan du ladda ner det från App Store på din Mac. När Xcode har laddats väljer du "Öppna ett annat projekt" i nedre högra hörnet och navigerar till mappen "PiBot Remote" i nedladdningen av GitHub.

När projektet öppnas klickar du på rotfilen i vyn längst till vänster som heter "PiBot Remote".

Ändra "Bundle Identifier" till något unikt. Du kan ersätta mitt namn med ditt eller lägga till något i slutet.

Byt team, till ditt eget personliga konto. Om du inte har ett, välj "Lägg till ett konto".

Tryck på kommando-B för att bygga, och hoppas att allt fungerar korrekt. När du väl har byggt projektet ansluter du enheten till din dator. Klicka på knappen till höger om spel- och stoppknapparna i det övre vänstra hörnet och välj din enhet.

Tryck på kommando-R och appen ska startas på din enhet. Din enhet kan behöva verifiera identiteter innan den körs och kommer att behöva internetåtkomst just nu.

Steg 12: Slutjusteringar

Slutliga justeringar
Slutliga justeringar

Du kan justera stiftnumren för allt utom strömlampan i PiBot Remote -appen. För att ändra stiftet för ström -LED, SSH i PI, och kör kommandot:

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

Ändra de två instanserna av 36 till vilken GPIO -pin du använde. Tryck sedan på kontroll-X, y, enter.

Appen och servern är båda utsatta för fel. Använd konsolen i felsökningsläge för att ta reda på vad som händer. Om du är osäker, försök starta om Pi och/eller starta om appen. Ibland efter ett kodfel kan appen inte ansluta igen eftersom adressen redan används. I det här fallet, byt helt enkelt porten och appen ska ansluta.

När du kör roboten med acceleratorn på din enhet måste du också använda några obekväma gester för att kalibrera, stoppa/starta, justera kameran och visa/dölja flikfältet

  • Kalibrera: Tryck och håll med två fingrar i. 5 sekunder (om din enhet stöder det kommer du att känna haptisk feedback när enheten har kalibrerats
  • Kamerajustering: Den svåraste gesten, gör det som tidigare beskrivits för att kalibrera, dra sedan fingrarna uppåt för att flytta kameran uppåt och dra nedåt för att flytta kameran nedåt. Justeringen kommer att göras när du lyfter fingrarna.
  • Stopp/start -växling: När du går till accelerometervyn är roboten initialt inställd på att ignorera rörelsekommandon. För att växla den här inställningen, tryck snabbt två gånger med två fingrar.
  • Visa/dölj flikfältet: För att aktivera helskärmsvisning under accelerometerkörning, döljs flikfältet automatiskt efter några sekunder. Svep uppåt för att visa den igen. Svep nedåt för att dölja det.

Om du blir frustrerad över problemen och besvären med min app, kom bara ihåg att jag inte har någon formell utbildning i programmering av något slag. Så jag välkomnar råd och förslag. Gaffla gärna mina GitHub -filer.

Om jag gör några justeringar på GitHub, applicera dem på roboten genom att ladda ner filerna och skicka dem via rekursiv SCP till Pi på rätt plats. Om du klonade Xcode -projektet drar du bara ändringen. Annars kan du ladda ner projektet och följa steg 11 för att öppna appen på din enhet.

Om du gör något intressant med denna handledning, meddela mig i kommentarerna, jag är intresserad av att se hur den kan användas som en mall för alla typer av fascinerande projekt.

Rekommenderad: