Indholdsfortegnelse:

Raspberry Pi 3 FPV Lego Tank: 5 trin (med billeder)
Raspberry Pi 3 FPV Lego Tank: 5 trin (med billeder)

Video: Raspberry Pi 3 FPV Lego Tank: 5 trin (med billeder)

Video: Raspberry Pi 3 FPV Lego Tank: 5 trin (med billeder)
Video: Fork mounted razor machetes! #mtb #mountainbike #shorts 2024, November
Anonim
Raspberry Pi 3 FPV Lego Tank
Raspberry Pi 3 FPV Lego Tank

Lego er fantastisk til at lære børn om, hvordan tingene fungerer, samtidig med at de kan have det sjovt på samme tid. Jeg ved, at jeg altid nød at "lege" med lego, da jeg var barn. Denne instruktive beskriver, hvordan jeg byggede en FPV (First Person View) tank ud af lego og en Raspberry Pi 3 (Raspi 3). Jeg forsøgte at holde det så enkelt som muligt, kun det trin, hvor du tilpasser motorerne til at arbejde med lego, kræver værktøjer og en smule dygtighed.

Tanken bruger dybest set to motorer, så hvis du ikke vil have en tank, kan du lave en robot af typen Romba, bygningen vil være anderledes, men ledningerne og programmerne vil være nøjagtig de samme.

### Dette projekt er dybest set en version 1, så hvis du vil forbedre det (som der er masser af plads til at gøre) kan du efterlade en kommentar. Al kode vil også være tilgængelig, på min Github -side er links i trinene

Ting du skal bruge:

  • Nogle Lego brugte jeg en Lego Technic Arctic Truck, som jeg havde liggende. Brug dog din fantasi, dette sæt havde spor og alt for at få dem til at fungere, så det var godt for dette projekt.
  • En Raspberry Pi, jeg brugte en Raspberry Pi 3, fordi det var det, jeg havde, hvis du har en anden model, kan du muligvis få den til at fungere, men GPIO -benene vil variere.
  • Et micro SD -kort med Raspian installeret til Raspi 3.
  • Et Pi -kamera, Adafruit sælger et par samt forskellige båndkabler i forskellige længder. En købt mine fra Aliexpress, den har en fisheye linse og var billig. Du kan muligvis bruge et webcam, men et Pi -kamera fungerer ud af boksen.
  • En USB Power Bank til at drive Raspi 3, jeg tror min kostede $ 8, dens 2000mAh så kører Raspi 3 et stykke tid.
  • Et batteri til at drive motorerne, jeg brugte et batteri, jeg trak ud af en billig RC -bil, den er 7,2 volt, 500 mah og genopladelig, så den fungerer ret godt. Et 9V batteri ville være godt, men du skal også bruge et stik.
  • Jumperkabler, til at forbinde GPIO -ben sammen, mindst 5 hun til hun.
  • L298N Motor Driver Board, disse er ret billige og giver dig mulighed for at styre motorerne separat. Disse er også temmelig standard for denne type applikationer.
  • 2 x DC gearkassemotor, disse fra Adafruit er gode, nøjagtig den samme kan også købes hos Aliexpress

Diverse

  • Dobbeltsidet skumtape
  • tråd
  • Varme krympe
  • tape
  • elastikker
  • mikro USB -kabel

Hvis du vil tilpasse DC -gearkassemotorerne som jeg gjorde, skal du bruge:

  • hobbykniv
  • dremel med cirkelsavblad
  • mini filer
  • 5 minutter epoxy

Du skal også bruge din egen pc/bærbare til at styre og programmere Raspi 3.

Trin 1: Byg tanken

Byg tanken
Byg tanken
Byg tanken
Byg tanken
Byg tanken
Byg tanken

Så det er ikke rigtig instruktioner, fordi dette trin virkelig burde være dit eget design. Jeg vil tale om nogle af de ting, jeg var nødt til at overveje, når jeg byggede dette, men den virkelige sjov ligger i at finde ud af det selv (meget gerne egentlig Lego). Brug billederne, hvis de er nyttige, det tog mig lang tid at udvikle dette design, i sidste ende var den enkle vej den bedste.

  1. Byg bagakslerne først

    1. og sørg for at efterlade nok plads til motorerne og gør dem brede nok til, at komponenterne kan passe ind i. Jeg ville have min til at være ret bred, da jeg ville have, at alting sad inde i akslerne, dette gav tanken mulighed for at være ganske lav under tingene og jagte katten.
    2. Hjulene på sporene her har et hul, der passer til en Lego -tværaksel, så husk på, at det er her, dine motorer kommer til at montere.
    3. Du har brug for tilstrækkelig afstand til banen bag og foran. Du kan bemærke på billede 2, at "L" peices ikke er semetriske, dette er for at tillade banerummet. Jeg havde dem oprindeligt semetriske, men sporet blev ved med at gnide og blev på et tidspunkt fastklemt og ødelagde motoradapteren.
  2. Når du har bygget akslerne, kan du derefter forbinde dem

    1. ved hjælp af lange bits med tværstøtter med jævne mellemrum. Sørg for at placere krydsstøtterne, så komponenter passer ind imellem dem, dette hjælper med at holde en lav profil.
    2. længden bestemmes af, hvor meget nummer du har. Dette spor har ingen strækning, så en smule slap er nødvendig. Hvis du har et gummispor, kan du gøre det strammere. Også et løbende hjul er en god idé, men generelt er det ikke nødvendigt.
    3. Dette trin var smålig frem og involverer bare en smule forsøg og fejl.
  3. Motorerne sidder i det væsentlige fast med dobbeltsidet skumbånd, så sørg for en stor overflade, som de kan sidde fast på.
  4. Kameraholderen, jeg lavede, er temmelig affald, du skal helt sikkert prøve at lave din egen. Jeg kan godt lide det lavt, da det ser ud til, at du rejser hurtigt med kameraet. Dette ville være et fedt sted at opgradere med en servo eller to for at gøre kameraet bevægeligt.

Forhåbentlig er disse noter nyttige. Jeg byggede denne ting, før jeg skrev den instruerbare og er lidt tøvende med at trække den fra hinanden nu, hvor den går. Jeg tror virkelig på, at et bedre design kan laves, så jeg tror, at din egen udvikling ville være bedst. Efterlad en kommentar, hvis du vil have mig til at gøre det til en komplet guide, hvis der er nok efterspørgsel, gør jeg det.

Trin 2: DC -gearkassemotor til Lego -adapter

DC Gearbox Motor til Lego Adapter
DC Gearbox Motor til Lego Adapter
DC -gearkassemotor til Lego -adapter
DC -gearkassemotor til Lego -adapter
DC -gearkassemotor til Lego -adapter
DC -gearkassemotor til Lego -adapter

Igen lavede jeg dette før jeg skrev og tog ikke nogen fotos. Jeg tror, at der er en masse forskellige tutorials derude, der gør dette. Adafruit sælger faktisk en adapter, det er den bedste måde, plus du behøver ikke ødelægge dine motorophæng. Jeg er dog i NZ, så Adafruit er ikke tilgængelig, men gør det selv:-). Dette er hvad jeg gjorde (undskyld de dårlige diagrammer):

  1. Gør alle dine værktøjer klar, vi kommer til at skære plastik, så det bliver ikke særlig svært. Jeg brugte et par værkstedsglas, fordi jeg personligt hader små plastikstykker over hele mine øjenkugler. Jeg brugte også et af de grønne skærebrætter, så jeg ikke ødelagde mit bord.
  2. Så diagrammet viser ovenfra og fra siden. Grundlæggende er den grå den lille hvide del på DC -gearkassemotoren, og den røde er, hvor vi skærer. Det røde i ovenfra skal egentlig være et tværsnit for en Lego -tværaksel. Vi kommer til at fjerne det materiale, så akslen sidder tæt inde. Prøv at klippe dette så tæt på midten som muligt og næsten lige til bunden. Jeg startede med først groft at skære med cirkelsavbitten på min dremel, derefter begyndte jeg at barbere bits med en kappeskærer, indtil jeg havde en perfekt pasform.
  3. Når du har skåret den bit og akslen sidder mere eller mindre lige (den skal ligne en underlig foldet halv gaffel) kan du epoxy Lego krydsakslen i. Inden du påfører en epoxy, skal du påføre malertape over den gule kasse af motoren, så du ikke tilfældigt holder akslen fast på sagen. Bland den 5 minutters epoxy godt og påfør et tykt lag over den hvide bit og tværakslen, vi leder efter et 1-2 mm tykt lag. 5 minutters epoxy bliver klæbrig og ubrugelig ret hurtigt, så arbejd hurtigt her.
  4. Når du har en desent pels på, og epoxyen ikke kører, skal du være færdig. Det kører lidt, så bare vær forsigtig. Når den er indstillet til en gummilignende konsistens, kan du nemt trimme alt overskydende epoxy af, sådan fik jeg en flot flad ende på min.
  5. Lad det tørre natten over, og du skal have en Lego DC -gearkassemotor om morgenen

Trin 3: Tilslut det

Kabelføring
Kabelføring
Kabelføring
Kabelføring
Kabelføring
Kabelføring

Ledningerne til dette projekt er ret enkle. Vi vil bruge de 4 hun til hun jumper kabler til at forbinde vores GPIO ben til L298N motor controller og en han til hun jumper kabel til at forbinde jorden på Raspi 3 til jorden på L298N motor controller. Vi vil også bruge noget ledning til at forbinde motorerne til L298N -motorstyringen.

Jeg vælger at bruge denne kombination af stifter på Raspi, fordi de er grupperet sammen. Du er dog velkommen til at bruge ethvert sæt GPIO -ben og GND. Bare husk at ændre det i koden.

Du kan bruge ledningsdiagrammet eller følge nedenstående trin:

Raspi 3 L298N

GND (pin 14) GND

GPIO27 (pin 13) IN1

GPIO22 (pin 15) IN2

GPIO23 (pin 16) IN3

GPIO24 (pin 18) IN4

Til motorerne og den måde, de er monteret på, koblet jeg dem op på denne måde.

Out2, Out3 negativ

Out1, Out4 positiv

Væsentligt negativt var mod ryggen og positivt var fremad. Hvis du får dem den anden vej, kører tanken bare i den modsatte retning, hvilket er let at rette i software.

Trin 4: Programmeringen

Så til dette trin skal vi konfigurere et par ting, hvis du ikke allerede har gjort det.

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

Installation af Raspian

For det første skal vi have Raspian på et micro SD -kort, så hav et formateret SD på mindst 8 GB klar (Du kan også installere NOOBS lite, hvis du kun har et 4 GB kort).

For at installere Raspian vil jeg anbefale at bruge NOOBS. Det officielle link er her. Download zip -filen til din pc, og udpak filerne til sd -kortet. Sørg for, at filerne og mapperne er der og ikke er i en noobs -mappe.

Når du har gjort dette, skal du tilslutte SD -kortet til Raspi 3, tilslutte en skærm (Et tv med HDMI fungerer fint, hvis du ikke har en skærm) og et tastatur og mus.

Du skal se installationsskærmen indlæse, oprette forbindelse til wifi (wifi er nødvendig for at dette projekt kan fungere) og installere, jeg bruger bare standardindstillingerne, da de fungerer godt.

Konfiguration til hovedløs tilstand

Så når Raspian er installeret, og du er logget ind på Raspi 3, kan du begynde at konfigurere Raspi 3 til at køre i hovedløs tilstand (dvs. bruge SSH i stedet for en skærm og et tastatur). Bare en note, du skal bruge sudo, så sørg for at kende root -adgangskoden.

Åbn en terminal og skriv 'sudo raspi-config', du skal have en blå og grå skærm som på billederne. Gå til 'Grænsefladeindstillinger', tryk på enter, og flyt derefter til 'P2 SSH' tryk på enter og indtast igen for 'ja', igen for 'ok'.

Gå nu tilbage til 'grænseflader' og aktiver kameraet.

Tilbage i menuen skal du trykke på højre og indtaste for at vælge 'afslut'.

Dernæst skal vi finde vores IP -adresse, du kan gøre dette ved at skrive 'ifconfig' i terminalen. Find blokken, der starter med wlan0 (normalt den sidste), og noter din IP -adresse. Det skal være på den anden linje og se sådan ud 192.168.1. XX, hvis du bruger dit wifi i hjemmet.

Fantastisk, det er slutningen på konfigurationen

Installation af ekstra software

Så for at køre de scripts, jeg har, skal du installere python 2 eller 3. Hvis du vil lære python, vil jeg anbefale at lære python 3, forskellene er mindre, men python 3 bruges nu mere udbredt. Det skulle komme forudinstalleret med Raspian, men vi skulle bare dobbelttjekke.

Skriv 'python --version', du skal få et output som 'Python 2.7.13', hvilket betyder, at du har installeret python 2. For at kontrollere, om du har python 3, skal du bare skrive 'python3 --version', og du skal få et lignende output. Hvis du ikke har python 2 eller 3, kan du skrive 'sudo apt-get install python' eller 'sudo apt-get install python3' med respekt.

Du skal også bruge Git for at få koden, igen, den skal være forudinstalleret. Skriv 'git --version' for at kontrollere og bruge 'sudo apt-get install git', hvis du ikke har det.

Installation af MJPG-Streamer

MJPG-Streamer er en af de måder, jeg fik adgang til Picamera. Det giver dig mulighed for at få adgang til kameraet via en browser og manipulere billedet. Det er sandsynligvis den pænere og lettere måde at bruge kameraet på, hvis du er utilpas med kode.

  1. Igen skal vi bruge Git. Skriv 'git-klon https://github.com/jacksonliam/mjpg-streamer.git' i Raspi 3-terminalen. Softwaren downloades, det tager ikke for lang tid.
  2. Sandsynligvis er det bedste at gøre på dette tidspunkt at se på filen 'README.md' og følge installationsinstruktionerne. De fungerede problemfrit for mig. Hvis du har spørgsmål, så lad dem stå i kommentarerne, så prøver jeg at hjælpe

Når den er installeret, kan du køre den. Jeg vil gennemgå hvordan jeg gør det herunder.

Samler det hele

Fantastisk, nu skulle vi være klar til at gå. Sørg for, at din Raspi 3 er tændt. Åbn en terminal på din pc/bærbare (jeg går ud fra, at du bruger linux eller Mac, hvis du bruger Windows, skal du downloade kit. Der er masser af tutorials online om, hvordan du bruger dette, bare rolig, det er let) og skriv 'ssh [email protected]. XX (forudsat at du ikke har ændret standardbrugernavnet) eller hvad din IP -adresse nogensinde var, som vi fandt tidligere. Indtast din adgangskode (dette bør bestemt ikke være standard). Fantastisk, nu er du i en terminalsession på Raspi 3 via din pc/bærbare.

Så i terminal typen 'git clone https://github.com/astrobenhart/Raspi-3-FPV-Lego-T… Dette bør kun tage et par sekunder, da filerne er virkelig små. Du kan derefter navigere ind i biblioteket ved hjælp af 'cd Raspi-3-FPV-Lego-Tank', skriv nu 'ls' og sørg for at se disse 5 filer: 'demo.py', 'drive.py', 'Picamera_tank. py, 'finished.jpg' og 'README.md'. Sørg for at kigge på readme for eventuelle opdateringer.

demo.py

Dette py -script er fantastisk til at teste, at dine ledninger fungerer. Det går bare igennem forskellige kombinationer af at køre motorerne baglæns og fremad.

brug 'python demo.py' til at køre. Det tager et halvt minut eller deromkring at fuldføre.

drive.py

Dette er det py -script, du vil køre for at styre tanken. Det opsætter GPIO pin -kortlægningen og skaber defs til flytning. Det fanger også tastetryk for at styre tanken.

Brug 'python drive.py' til at køre. Giv det et sekund, din terminal skal være tom.

brug 'w, a, s, d' til at flytte og mellemrumstasten for at stoppe. Når du er klar til at lukke programmet, skal du trykke på 'n'.

Picamera_tank.py

Dette er min version af en streamer til kameraet. Dette kører kun med python 3 (dvs. brug 'python3 Picamera_tank.py' til at køre). Dette kan køres i et andet terminalvindue, eller du kan trykke på ctrl-z og skrive bg for at køre det i baggrunden på den samme terminal. Personligt kan jeg godt lide at bruge en separat terminal.

Du skulle ikke skulle installere noget ekstra, men hvis du bruger pip. Hvis du støder på problemer, skal du efterlade en kommentar.

Når dette kører på Raspi 3, skal du logge ind på browseren på din pc/laptop og gå til 192.168.1. XX: 8000 (den IP, vi fandt tidligere). Du skal se kameraets output. Hvis billedet skal roteres, skal du redigere py -scriptet. Nær bunden er en kommentar, indtast nedenfor de rotationsgrader, du har brug for. For mig var det 180, da mit kamera er på hovedet.

At køre MJPG-Streamer

For at køre-j.webp

Når det kører, skal du gå til 192.168.1. XX: 8080 (IP vi fandt tidligere) og klikke på streaming. Leg med de andre muligheder, de kan være nyttige for dig.

Og det er det. Du skulle nu kunne køre din egen FPV -tank rundt, hvor du nogensinde kan få din wifi. Hav det sjovt.

Trin 5: Færdig produkt

Og her er en video, hvor det hele fungerer.

Bare en bemærkning om, at jeg har Raspi 3 tilsluttet min bærbare computer for at drive den i videoen, da powerbanken løb tør for nogle test. Det varede næsten en time, hvilket jeg var ret glad for.

Efterlad venligst kommentarer, hvis du har nogen, og jeg håber, at du nyder at lave denne Raspberry Pi 3 FPV Lego Tank, hvis du prøver det.

Tak, Ben

Anbefalede: