Innholdsfortegnelse:

Raspberry Pi 3 FPV Lego Tank: 5 trinn (med bilder)
Raspberry Pi 3 FPV Lego Tank: 5 trinn (med bilder)

Video: Raspberry Pi 3 FPV Lego Tank: 5 trinn (med bilder)

Video: Raspberry Pi 3 FPV Lego Tank: 5 trinn (med bilder)
Video: Build a Raspberry Pi RC Tank driven by an 8BitDo Controller - GoBILDA Outlaw Chassis Kit Assembly 2024, Juli
Anonim
Raspberry Pi 3 FPV Lego Tank
Raspberry Pi 3 FPV Lego Tank

Lego er flott for å lære barna om hvordan ting fungerer, samtidig som de lar dem ha det gøy samtidig. Jeg vet at jeg alltid likte å "leke" med lego da jeg var liten. Denne instruksen beskriver hvordan jeg bygde en FPV (First Person View) tank ut av lego og en Raspberry Pi 3 (Raspi 3). Jeg prøvde å holde det så enkelt som mulig, bare trinnet der du tilpasser motorene til å jobbe med lego krever verktøy og litt dyktighet.

Tanken bruker i utgangspunktet to motorer, så hvis du ikke vil ha en tank, kan du lage en robot av typen Romba, bygget vil være annerledes, men ledningene og programmene vil være nøyaktig det samme.

### Dette prosjektet er i utgangspunktet en versjon 1, så legg igjen en kommentar hvis du vil forbedre det (som det er god plass til å gjøre). All kode vil også være tilgjengelig, på min Github -side er koblinger i trinnene

Ting du trenger:

  • Noen Lego brukte jeg en Lego Technic Arctic Truck som jeg hadde liggende. Bruk fantasien din, men dette settet hadde spor og alt for å få dem til å fungere, så det var bra for dette prosjektet.
  • En Raspberry Pi, jeg brukte en Raspberry Pi 3 fordi det var det jeg hadde, hvis du har en annen modell kan du kanskje få den til å fungere, men GPIO -pinnene vil variere.
  • Et micro SD -kort med Raspian installert, for Raspi 3.
  • Et Pi -kamera, Adafruit selger noen få samt forskjellige båndkabler i forskjellige lengder. En kjøpt mine fra Aliexpress, den har fiskeøye og var billig. Du kan kanskje bruke et webkamera, men et Pi -kamera fungerer ut av esken.
  • En USB Power Bank for å drive Raspi 3, jeg tror min kostet $ 8, 2000mah så den kjører Raspi 3 en stund.
  • Et batteri for å drive motorene, jeg brukte et batteri jeg dro ut av en billig RC -bil, den er 7,2 volt, 500 mah og oppladbar, så den fungerer ganske bra. Et 9V batteri ville være bra, men du trenger da også en kontakt.
  • Jumperkabler, for å koble GPIO -pinner sammen, minst 5 hunn til hunn.
  • L298N Motor Driver Board, disse er ganske billige og lar deg styre motorene separat. Disse er også ganske standard for denne typen applikasjoner.
  • 2 x DC girkassemotor, disse fra Adafruit er gode, akkurat den samme kan kjøpes fra Aliexpress også

Diverse

  • Dobbeltsidig skumtape
  • metalltråd
  • varme krympe
  • teip
  • gummibånd
  • mikro -USB -kabel

Hvis du skal tilpasse DC -girkassemotorene som jeg gjorde, trenger du:

  • boksåpner
  • dremel med sirkelsagblad
  • minifiler
  • 5 minutter epoksy

Du trenger også din egen PC/bærbare datamaskin for å kontrollere og programmere Raspi 3.

Trinn 1: Bygg tanken

Bygg tanken
Bygg tanken
Bygg tanken
Bygg tanken
Bygg tanken
Bygg tanken

Så dette er egentlig ikke instruksjoner fordi dette trinnet egentlig burde være ditt eget design. Jeg vil snakke om noen av tingene jeg måtte vurdere når jeg bygde dette, men den virkelige moroa ligger i å finne ut av det selv (omtrent som selve Lego). Bruk bildene hvis de er nyttige. Det tok meg aldre å utvikle dette designet, til slutt var den enkle veien den beste.

  1. Bygg bakakslene først

    1. og sørg for å la nok plass til motorene og gjøre dem brede nok til at komponentene dine kan passe innvendig. Jeg ville at min skulle være ganske bred da jeg ville at alt skulle sitte inne i akslene, dette gjorde at tanken kunne passe ganske lavt under ting og jage katten.
    2. Hjulene på sporene her har et hull som passer til en Lego -kryssaksel, så husk at det er her motorene dine skal montere.
    3. Du trenger nok klaring til banen bak og foran. Du kan legge merke til på bilde 2 at "L" -bitene ikke er semetriske, dette er for å tillate banerommet. Jeg hadde dem opprinnelig semetriske, men sporet fortsatte å gni og ble på et tidspunkt fastkjørt og ødela motoradapteren.
  2. Når du har bygget akslene, kan du koble dem sammen

    1. ved bruk av lange biter med tverrstøtter med jevne mellomrom. Pass på at du plasserer tverrstøttene slik at komponentene passer mellom dem, dette bidrar til å holde en lav profil.
    2. lengden vil bli bestemt av hvor mye spor du har. Denne banen har ingen strekk, så det er behov for litt slakk. Hvis du har et gummispor, kan du gjøre det strammere. Også et løpehjul er en fin idé, men generelt er det ikke nødvendig.
    3. Dette trinnet var smått rett frem og innebærer bare litt prøving og feiling.
  3. Motorene sitter i hovedsak fast med dobbeltsidig skumbånd, så sørg for en stor overflate for dem å sette seg fast på.
  4. Kameraholderen jeg lagde er ganske søppel, du bør definitivt prøve å lage din egen. Jeg liker det lavt, da det ser ut som om du reiser raskt på kameraet. Dette ville være et kult sted å oppgradere med en servo eller to for å gjøre kameraet bevegelig.

Forhåpentligvis er disse notatene nyttige. Jeg bygde denne tingen før jeg skrev den instruerbare og er litt nølende med å trekke den fra hverandre nå som den går. Jeg tror virkelig at en bedre design kan lages, så jeg tror din egen utvikling ville være best. Legg igjen en kommentar hvis du vil at jeg skal gjøre det til en fullstendig guide. Hvis det er nok etterspørsel, gjør jeg det.

Trinn 2: DC -girkasse -motor til Lego -adapter

DC girkasse motor til lego adapter
DC girkasse motor til lego adapter
DC girkasse motor til lego adapter
DC girkasse motor til lego adapter
DC girkasse motor til lego adapter
DC girkasse motor til lego adapter

Igjen, jeg lagde dette før jeg skrev og tok ikke noen bilder. Jeg tror det er en haug med forskjellige opplæringsprogrammer der ute som gjør dette. Adafruit selger faktisk en adapter, dette er den beste måten, pluss at du ikke trenger å ødelegge motorfester. Jeg er i NZ skjønt, så Adafruit er ikke tilgjengelig, men DIY er:-). Dette er hva jeg gjorde (beklager de dårlige diagrammene):

  1. Gjør alle verktøyene dine klare, vi skal kutte plast, så dette blir ikke vanskelig. Jeg brukte et par verkstedglass fordi jeg personlig hater små plastskiver over hele øynene. Jeg brukte også et av de grønne skjærebrettene, så jeg rotet ikke opp bordet mitt.
  2. Så diagrammet viser ovenfra og fra siden. I utgangspunktet er det grå den lille hvite delen på DC -girkassen, og den røde er der vi kutter. Den røde i oversikten er egentlig ment å være et tverrsnitt for en Lego -tverraksel. Vi skal fjerne det materialet slik at akselen sitter godt inni. Prøv å kutte dette så nær midten som mulig og nesten helt til bunnen. Jeg begynte med først å kutte grovt med sirkelsagbiten på dremelen min, deretter begynte jeg å barbere biter med en boksekutter til jeg passet perfekt.
  3. Når du har kuttet bitene og akselen sitter mer eller mindre rett (den skal se ut som en merkelig brettet halvgaffel) kan du epoksy Lego -kryssakselen i. Før du påfører epoxy må du påføre maskeringstape over den gule esken av motoren, slik at du ikke tilfeldigvis holder akselen fast på saken. Bland den 5 minutter lange epoksyen godt og påfør et tykt lag over den hvite biten og tverrakselen, vi leter etter et 1-2 mm tykt strøk. 5 minutter epoksy blir klebrig og ubrukelig ganske raskt, så jobber raskt her.
  4. Når du har en desent -pels på og epoksyen ikke kjører, bør du være ferdig. Det går litt, så bare vær forsiktig. Når den er satt til en gummilignende konsistens, kan du enkelt klippe av overflødig epoksy, slik fikk jeg en fin flat ende på min.
  5. La det tørke over natten, og du bør ha en Lego DC -girkassemotor om morgenen

Trinn 3: Koble den til

Kabling den opp
Kabling den opp
Kabling den opp
Kabling den opp
Kabling den opp
Kabling den opp

Kablingene for dette prosjektet er ganske enkle. Vi vil bruke de fire kvinnelige til kvinnelige startkablene for å koble GPIO -pinnene til L298N -motorstyringen og en mannlig til kvinnelig startkabel for å koble bakken til Raspi 3 til bakken på L298N -motorstyringen. Vi vil også bruke litt ledning for å koble motorene til L298N -motorstyringen.

Jeg velger å bruke denne kombinasjonen av pinner på Raspi fordi de er gruppert sammen. Du kan imidlertid bruke et hvilket som helst sett med GPIO -pinner og GND. Bare husk å endre det i koden.

Du kan bruke koblingsskjemaet eller følge trinnene nedenfor:

Raspi 3 L298N

GND (pin 14) GND

GPIO27 (pin 13) IN1

GPIO22 (pin 15) IN2

GPIO23 (pin 16) IN3

GPIO24 (pin 18) IN4

For motorene og måten de er montert på, koblet jeg dem opp på denne måten.

Ut2, Ut3 negativ

Out1, Out4 positiv

I hovedsak negativt var mot baksiden og positivt var fremover. Hvis du får dem omvendt, kjører tanken bare i motsatt retning, noe som er lett å fikse i programvare.

Trinn 4: Programmeringen

Så for dette trinnet må vi sette opp noen ting hvis du ikke allerede har gjort det.

  • Raspian
  • Python 2 eller 3
  • Git
  • MJPG-Streamer

Installerer Raspian

For det første må vi ha Raspian på et micro SD -kort, så ha et formatert SD på minst 8 GB klart (Du kan også installere NOOBS lite hvis du bare har et 4 GB kort).

For å installere Raspian vil jeg anbefale å bruke NOOBS. Den offisielle lenken er her. Last ned zip -filen til PC -en, og pakk ut filene til sd -kortet. Sørg for at filene og mappene er der og ikke er i noobs -mappen.

Når du har gjort dette, kobler du SD -kortet til Raspi 3, kobler til en skjerm (En TV med HDMI fungerer fint hvis du ikke har en skjerm) og et tastatur og mus.

Du bør se installasjonsskjermbelastningen, koble til wifi (wifi er nødvendig for at dette prosjektet skal fungere) og installere, jeg bruker bare standardinnstillingene da de fungerer bra.

Konfigurering for hodeløs modus

Så når Raspian er installert og du er logget på Raspi 3, kan du begynne å konfigurere Raspi 3 til å kjøre i hodeløs modus (dvs. bruk SSH i stedet for skjerm og tastatur). Bare et notat du må bruke sudo, så sørg for at du kjenner rotpassordet.

Åpne en terminal og skriv 'sudo raspi-config', du bør ha en blå og grå skjerm som på bildene. Gå til "Grensesnittalternativer", trykk enter, flytt deretter til "P2 SSH", trykk enter og angi igjen for "ja", igjen for "ok".

Gå nå tilbake til "grensesnittalternativer" og aktiver kameraet.

Tilbake i menyen, trykk på høyre og gå inn for å velge 'ferdig'.

Deretter må vi finne vår IP -adresse. Du kan gjøre dette ved å skrive 'ifconfig' i terminalen. Finn blokken som begynner med wlan0 (vanligvis den siste) og noter ned IP -adressen din. Det bør være på den andre linjen og se omtrent ut som denne 192.168.1. XX hvis du bruker wifi hjemme.

Flott det er slutten på konfigurasjonen

Installere tilleggsprogramvare

Så for å kjøre skriptene jeg har, må du ha python 2 eller 3 installert. Hvis du vil lære python, vil jeg anbefale å lære python 3, forskjellene er små, men python 3 er nå mer brukt. Det bør komme forhåndsinstallert med Raspian, men vi bør bare dobbeltsjekke.

Skriv 'python --version', du bør få en utgang som 'Python 2.7.13', noe som betyr at du har python 2 installert. For å sjekke om du har python 3, bare skriv 'python3 --version', og du bør få en lignende utgang. Hvis du ikke har python 2 eller 3, kan du skrive 'sudo apt-get install python' eller 'sudo apt-get install python3', respektfullt.

Du trenger også Git for å få koden, igjen, den bør forhåndsinstalleres. Skriv 'git --version' for å sjekke og bruke 'sudo apt-get install git' hvis du ikke har det.

Installere MJPG-Streamer

MJPG-Streamer er en av måtene jeg fikk tilgang til Picamera. Den lar deg få tilgang til kameraet via en nettleser og manipulere bildet. Det er sannsynligvis den finere og enklere måten å bruke kameraet hvis du er ukomfortabel med kode.

  1. Igjen skal vi bruke Git. Skriv 'git clone https://github.com/jacksonliam/mjpg-streamer.git' i Raspi 3-terminalen. Programvaren blir lastet ned, det tar ikke for lang tid.
  2. Sannsynligvis er det beste å gjøre på dette tidspunktet å se på filen 'README.md' og følge installasjonsinstruksjonene. De fungerte sømløst for meg. Hvis du har spørsmål, la dem stå i kommentarene, så skal jeg prøve å hjelpe

Når den er installert kan du kjøre den. Jeg vil gå gjennom hvordan jeg gjør det nedenfor.

Sette alt sammen

Flott, nå burde vi være klare til å gå. Sørg for at Raspi 3 er slått på. Åpne en terminal på din PC/bærbare datamaskin (jeg antar at du bruker linux eller Mac, hvis du bruker Windows må du laste ned kitt. Det er mange opplæringsprogrammer på nettet om hvordan du bruker dette, ikke bekymre deg, det er enkelt) og skriv 'ssh [email protected]. XX (forutsatt at du ikke har endret standard brukernavn) eller hva som helst din IP -adresse var som vi fant tidligere. Skriv inn passordet ditt (dette bør definitivt ikke være standard). Flott, nå er du i en terminaløkt på Raspi 3 via din PC/laptop.

Så i terminaltypen 'git clone https://github.com/astrobenhart/Raspi-3-FPV-Lego-T… Dette bør bare ta noen få sekunder da filene er veldig små. Du kan deretter navigere inn i katalogen ved å bruke 'cd Raspi-3-FPV-Lego-Tank', nå skriver du 'ls' og sørger for at du ser disse 5 filene: 'demo.py', 'drive.py', 'Picamera_tank. py, 'ferdig.jpg' og 'README.md'. Sørg for å se på readme for oppdateringer.

demo.py

Dette py -skriptet er flott for å teste at ledningene fungerer. Det går bare gjennom forskjellige kombinasjoner av å kjøre motorene bakover og fremover.

bruk 'python demo.py' for å kjøre. Det tar et halvt minutt eller så å fullføre.

drive.py

Dette er py -skriptet du vil kjøre for å kontrollere tanken. Det setter opp GPIO -pin -kartlegging og oppretter defs for flytting. Den fanger også tastetrykk for å kontrollere tanken.

Bruk 'python drive.py' for å kjøre. Gi det et sekund, terminalen din skal gå tom.

bruk 'w, a, s, d' for å flytte og mellomromstasten for å stoppe. Når du er klar til å lukke programmet, trykker du på 'n'.

Picamera_tank.py

Dette er min versjon av en streamer for kameraet. Dette kjører bare med python 3 (dvs. bruk 'python3 Picamera_tank.py' for å kjøre). Dette kan kjøres i et annet terminalvindu, eller du kan trykke ctrl-z og skrive bg for å kjøre det i bakgrunnen på den samme terminalen. Personlig liker jeg å bruke en separat terminal.

Du trenger ikke å installere noe ekstra, men hvis du bruker pip. Legg igjen en kommentar hvis du får problemer.

Når dette kjører på Raspi 3, logger du deg på nettleseren på din PC/laptop og går til 192.168.1. XX: 8000 (IP -adressen vi fant tidligere). Du bør se kameraets utgang. Hvis bildet må roteres, må du redigere py -skriptet. Nær bunnen er en kommentar, angi rotasjonsgradene du trenger nedenfor. For meg var det 180 ettersom kameraet mitt er opp ned.

For å kjøre MJPG-Streamer

For å kjøre-j.webp

Når det kjører, gå til 192.168.1. XX: 8080 (IP -en vi fant tidligere) og klikk på streaming. Spill med de andre alternativene, de kan være nyttige for deg.

Og det er det. Du bør nå kunne kjøre din egen FPV -tank rundt der du kan få wifi. Ha det gøy.

Trinn 5: Ferdig produkt

Og her er en video av alt som fungerer.

Bare et notat om at jeg har Raspi 3 koblet til den bærbare datamaskinen min for å drive den i videoen da strømbanken gikk tom under noen tester. Det varte i nesten en time som jeg var ganske glad for.

Legg igjen kommentarer hvis du har noen, og jeg håper du liker å lage denne Raspberry Pi 3 FPV Lego Tank hvis du prøver den.

Takk, Ben

Anbefalt: