Sadržaj:

Raspberry Pi 3 FPV Lego spremnik: 5 koraka (sa slikama)
Raspberry Pi 3 FPV Lego spremnik: 5 koraka (sa slikama)

Video: Raspberry Pi 3 FPV Lego spremnik: 5 koraka (sa slikama)

Video: Raspberry Pi 3 FPV Lego spremnik: 5 koraka (sa slikama)
Video: Ардуино робот идет / Arduino robot walks (sexual motions) 2024, Studeni
Anonim
Lego Tank Raspberry Pi 3 FPV
Lego Tank Raspberry Pi 3 FPV

Lego je izvrstan za poučavanje djece o tome kako stvari funkcioniraju, a istovremeno im omogućuje da se zabave. Znam da sam se kao dijete uvijek rado "igrao" s legom. Ovo uputstvo opisuje kako sam izgradio spremnik FPV (pogled prve osobe) od lego kockica i Raspberry Pi 3 (Raspi 3). pokušao sam to učiniti što jednostavnijim, samo korak u kojem prilagođavate motore za rad s lego kockicama zahtijeva alate i malo vještine.

Spremnik u osnovi koristi dva motora pa ako ne želite spremnik, možete napraviti robota tipa Romba, izrada će biti drugačija, ali ožičenje i programi bit će potpuno isti.

### Ovaj je projekt u osnovi verzija 1, pa ako ga želite poboljšati (o čemu ima dosta prostora za napraviti), ostavite komentar. Također će sav kôd biti dostupan, na mojoj stranici Github, veze su u koracima

Stvari koje će vam trebati:

  • Neki Lego, koristio sam Lego Technic Arctic Truck koji sam ležao. Upotrijebite svoju maštu, ovaj set je imao pjesme i sve kako bi oni uspjeli, pa je bio dobar za ovaj projekt.
  • Raspberry Pi, koristio sam Raspberry Pi 3 jer je to ono što sam ja imao, ako imate drugačiji model, možda biste mogli uspjeti, ali GPIO pinovi će se razlikovati.
  • Mikro SD kartica s instaliranim Raspianom, za Raspi 3.
  • Pi fotoaparat, Adafruit prodaje nekoliko, kao i različite vrpčane kabele različitih duljina. Moj je kupljen od Aliexpressa, ima objektiv riblje oko i bio je jeftin. Možda ćete moći koristiti web kameru, ali Pi kamera radi izvan kutije.
  • USB Power Bank za napajanje Raspi 3, mislim da je moj koštao 8 USD, 2000mah pa radi Raspi 3 neko vrijeme.
  • Baterija za napajanje motora, koristio sam bateriju koju sam izvadio iz jeftinog RC automobila, ona je 7,2 volti, 500 mAh i punjiva se tako da radi prilično dobro. 9V baterija bi bila dobra, ali tada će vam trebati i konektor.
  • Premosni kabeli, za spajanje GPIO pinova, najmanje 5 ženskih u ženski.
  • L298N ploča upravljačkog programa motora, ove su prilično jeftine i omogućuju vam zasebnu kontrolu motora. To su također prilično standardni za ovu vrstu primjene.
  • 2 x DC motor mjenjača, ovi iz Adafruta su dobri, potpuno isti se može kupiti i na Aliexpressu

Razno

  • Dvostrana pjenasta traka
  • žica
  • termoskupljanje
  • traka
  • gumice
  • mikro USB kabel

Ako ćete prilagoditi motore istosmjernog mjenjača kao što sam ja učinio, trebat će vam:

  • rezač kutija
  • dremel s listom kružne pile
  • mini datoteke
  • 5 -minutni epoksid

Za upravljanje i programiranje Raspi 3 trebat će vam i vlastito računalo/prijenosno računalo.

Korak 1: Izgradite spremnik

Napravi tenk
Napravi tenk
Napravi tenk
Napravi tenk
Napravi tenk
Napravi tenk

Dakle, ovo zapravo nisu upute jer bi ovaj korak doista trebao biti vaš vlastiti dizajn. Govorit ću o nekim stvarima koje sam morao uzeti u obzir pri izgradnji ovoga, ali prava zabava leži u tome da sami otkrijete (slično kao i stvarni Lego). Upotrijebite fotografije ako su od pomoći, trebalo mi je dosta godina da razvijem ovaj dizajn, na kraju je jednostavna cesta bila najbolja.

  1. Prvo izgradite stražnje osovine

    1. i pobrinite se da ostavite dovoljno prostora za motore i učinite ih dovoljno širokim da vam komponente mogu stati unutar. Htio sam da moj bude prilično širok, jer sam želio da sve što sjedi unutar osovina, to je omogućilo da spremnik bude prilično nizak i da pristane ispod stvari te potjera mačku.
    2. Kotači na gusjenicama ovdje imaju rupu koja odgovara Lego poprečnoj osovini, stoga imajte na umu da će se vaši motori ovdje montirati.
    3. Treba vam dovoljno slobodnog prostora za stazu straga i sprijeda. Na slici 2 možete primijetiti da peškiri "L" nisu semetrijski, to omogućuje prostoriju za praćenje. Prvotno sam ih imao semetrijske, ali staza se stalno trljala i u jednom se trenutku zaglavila i slomila adapter motora.
  2. Nakon što izgradite osovine, možete ih spojiti

    1. koristeći duge bitove s križnim nosačima u pravilnim razmacima. Pobrinite se da križni nosači budu postavljeni tako da se komponente uklapaju između njih, što pomaže zadržati nizak profil.
    2. duljina će se odrediti prema tome koliko imate staze. Ova staza nema rastezanja pa je potrebno malo opuštenosti. Ako imate gumenu stazu, možete je zategnuti. Također, kotač za trčanje je lijepa ideja, ali općenito nije potreban.
    3. Ovaj korak je bio beznačajan i samo uključuje malo pokušaja i pogrešaka.
  3. Motori su u osnovi zalijepljeni dvostranom pjenom trakom pa im osigurajte veliku površinu na koju se mogu zalijepiti.
  4. Nosač za kameru koji sam napravio prilično je smeće, definitivno biste trebali pokušati napraviti sami. Sviđa mi se nisko jer izgleda kao da brzo putujete kamerom. Ovo bi bilo super mjesto za nadogradnju sa servo -dva kako bi kamera bila pokretna.

Nadam se da su ove bilješke od pomoći. Napravio sam ovu stvar prije nego što sam napisao upute i pomalo se ustručavam rastaviti je sada kad ide. Zaista vjerujem da se može napraviti bolji dizajn pa mislim da bi vaš vlastiti razvoj bio najbolji. Ostavite komentar ako želite da od njega napravim potpuni vodič, ako bude dovoljno potražnje, učinit ću to.

Korak 2: DC prijenosnički motor na Lego adapter

DC mjenjač motor na Lego adapter
DC mjenjač motor na Lego adapter
DC mjenjač motor na Lego adapter
DC mjenjač motor na Lego adapter
DC mjenjač motor na Lego adapter
DC mjenjač motor na Lego adapter

Opet, ovo sam napravio prije pisanja i nisam napravio nikakve fotografije. Mislim da postoji hrpa različitih vodiča koji to rade. Adafruit zapravo prodaje adapter, ovo je najbolji način, osim toga ne morate uništavati nosače motora. Ja sam u NZ pa Adafruit nije dostupan, ali DIY je:-). Ovo sam učinio (oprostite zbog loših dijagrama):

  1. Pripremite sve svoje alate, rezati ćemo plastiku, pa to neće biti teško. Koristio sam par naočara za radionicu jer osobno mrzim male plastične djeliće po cijelim očnim jabučicama. Koristio sam i jednu od onih zelenih dasaka za rezanje pa nisam zabrljao stol.
  2. Dakle, dijagram prikazuje pogled odozgo i sa strane. U osnovi, siva je mali bijeli dio na motoru istosmjernog mjenjača, a crvena je mjesto gdje režemo. Crvena boja s gornje strane zapravo bi trebala biti presjek Lego poprečne osovine. Uklonit ćemo taj materijal tako da osovina čvrsto pristaje unutra. Pokušajte ovo izrezati što je moguće bliže središtu i gotovo točno do dna. Počeo sam tako što sam prvo grubo rezao kružnom pilom na svom dremelu, a zatim sam počeo brijati komade rezačem za kutije dok nisam savršeno pristajao.
  3. Nakon što izrežete taj dio i osovina se uklopi manje -više ravno (trebalo bi izgledati kao čudno presavijena vilica na pola), možete epoksidirati Lego poprečnu osovinu. Prije nego nanesete epoksid, nanesite ljepljivu traku preko žutog kućišta motora kako ne biste prislonili osovinu na kućište. Dobro promiješajte 5-minutni epoksid i nanesite debeli sloj preko bijelog bita i poprečne osovine, tražimo sloj debljine 1-2 mm. 5 -minutni epoksid prilično brzo postaje ljepljiv i neupotrebljiv pa radite brzo ovdje.
  4. Nakon što nanesete desenzibilni sloj i epoksid ne iscuri, trebali biste završiti. Pomalo radi pa samo budi oprezan. Nakon što se postavi na gumenu konzistenciju, lako možete ukloniti višak epoksida, tako sam na sebi dobio lijep ravni kraj.
  5. Ostavite da se osuši preko noći i do jutra biste trebali imati Lego DC mjenjački motor

Korak 3: Ožičite ga

Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje

Ožičenje za ovaj projekt prilično je jednostavno. Koristit ćemo 4 kratkospojna kabela ženski na ženski za spajanje naših GPIO pinova na upravljački sklop motora L298N, a muški na ženski kratkospojnički kabel za spajanje uzemljenja Raspi 3 na masu upravljačkog sklopa motora L298N. Također ćemo upotrijebiti žicu za povezivanje motora s upravljačem motora L298N.

Odlučio sam koristiti ovu kombinaciju pinova na Raspiju jer su grupirani zajedno. Ipak, slobodno upotrijebite bilo koji skup GPIO pinova i GND. Ne zaboravite ga promijeniti u kodu.

Možete koristiti dijagram ožičenja ili slijediti dolje navedene korake:

Raspi 3 L298N

GND (pin 14) GND

GPIO27 (pin 13) IN1

GPIO22 (pin 15) IN2

GPIO23 (pin 16) IN3

GPIO24 (pin 18) IN4

Za motore i način na koji su montirani spojio sam ih na ovaj način.

Out2, Out3 negativan

Out1, Out4 pozitivan

U biti negativno je bilo prema natrag, a pozitivno prema naprijed. Ako ih nabavite na drugi način, spremnik samo vozi u suprotnom smjeru što je lako popraviti u softveru.

Korak 4: Programiranje

Zato ćemo za ovaj korak morati postaviti nekoliko stvari ako već niste.

  • Raspijan
  • Python 2 ili 3
  • Git
  • MJPG-Stream

Instaliranje Raspian -a

Prvo moramo imati Raspian na mikro SD kartici, tako da bude spreman formatirani SD od najmanje 8 GB (NOOBS lite možete instalirati i ako imate samo karticu od 4 GB).

Za instaliranje Raspiana preporučio bih korištenje NOOBS -a. Službena veza je ovdje. Preuzmite zip datoteku na svoje računalo i izdvojite datoteke na sd karticu. Provjerite nalaze li se datoteke i mape, a ne unutar mape noobs.

Nakon što to učinite, priključite SD karticu u Raspi 3, spojite zaslon (TV s HDMI -om radi dobro ako nemate monitor) i tipkovnicu i miš.

Trebali biste vidjeti učitavanje zaslona za instalaciju, spojiti se na wifi (wifi je potreban za rad ovog projekta) i instalirati, samo koristim zadane postavke jer dobro rade.

Konfiguriranje za način rada bez glave

Dakle, nakon što je Raspian instaliran i prijavljeni ste na Raspi 3, možete početi konfigurirati Raspi 3 da radi u načinu rada bez glave (tj. Upotrijebite SSH umjesto zaslona i tipkovnice). Samo napomena koju ćete morati koristiti za sudo pa provjerite znate li lozinku za root.

Otvorite terminal i upišite 'sudo raspi-config', trebali biste imati plavo-sivi zaslon kao na slikama. Prijeđite na 'Opcije sučelja', pritisnite enter, zatim prijeđite na 'P2 SSH' pritisnite enter i ponovno unesite za 'da', opet za 'ok'.

Sada se vratite na 'opcije sučelja' i omogućite kameru.

Natrag u izborniku pritisnite desno i unesite kako biste odabrali 'završi'.

Zatim moramo pronaći svoju IP adresu, to možete učiniti upisivanjem 'ifconfig' u terminal. Pronađite blok koji počinje s wlan0 (obično posljednji) i zabilježite svoju IP adresu. Trebao bi biti na drugom retku i izgledati otprilike ovako 192.168.1. XX ako koristite kućni WiFi.

Super da je to kraj konfiguracije

Instaliranje dodatnog softvera

Dakle, da biste pokrenuli skripte koje imam, morat ćete imati instaliran python 2 ili 3. Ako želite naučiti python, preporučio bih učenje pythona 3, razlike su male, ali python 3 se sada sve više koristi. Trebao bi biti unaprijed instaliran s Raspianom, ali trebali bismo samo provjeriti.

Upišite 'python --version', trebali biste dobiti izlaz poput 'Python 2.7.13' što znači da imate instaliran python 2. Da biste provjerili imate li python 3, samo upišite 'python3 --version' i trebali biste dobiti sličan izlaz. Ako nemate python 2 ili 3, možete upisati 'sudo apt-get install python' ili 'sudo apt-get install python3', respektivno.

Također će vam trebati Git za dobivanje koda, opet, trebao bi biti unaprijed instaliran. Upišite 'git --version' da biste provjerili i upotrijebili 'sudo apt-get install git' ako ga nemate.

Instaliranje MJPG-streamera

MJPG-Streamer jedan je od načina na koji sam dobio pristup Picameri. Omogućuje vam pristup kameri putem preglednika i upravljanje slikom. Vjerojatno je to ljepši i lakši način korištenja kamere ako vam ne odgovara kôd.

  1. Opet ćemo koristiti Git. Upišite 'git clone https://github.com/jacksonliam/mjpg-streamer.git' u terminal Raspi 3. Softver će se preuzeti, ne traje predugo.
  2. Vjerojatno najbolje što trebate učiniti u ovom trenutku je pogledati datoteku 'README.md' i slijediti upute za instalaciju. Besprijekorno su radili za mene. Ako imate pitanja, ostavite ih u komentarima, a ja ću vam pokušati pomoći

Nakon instaliranja možete ga pokrenuti. U nastavku ću proći kako to činim.

Spajajući sve zajedno

Odlično, sad bismo trebali biti spremni za polazak. Provjerite je li vaš Raspi 3 uključen. Na računalu/prijenosnom računaru otvorite terminal (pretpostavljam da koristite Linux ili Mac, ako koristite Windows morat ćete preuzeti kit. Na internetu postoji mnogo vodiča o tome kako to koristiti, ne brinite, jednostavno je) i upišite 'ssh [email protected]. XX (pod pretpostavkom da niste promijenili zadano korisničko ime) ili koju ste IP adresu pronašli ranije. Upišite svoju lozinku (ovo definitivno ne bi trebala biti zadana vrijednost). Odlično, sada ste na terminalnoj sesiji na Raspiju 3 putem vašeg računala/prijenosnog računala.

Dakle, u terminalu upišite 'git clone https://github.com/astrobenhart/Raspi-3-FPV-Lego-T… Ovo bi trebalo potrajati samo nekoliko sekundi jer su datoteke stvarno male. Zatim možete ući u direktorij pomoću 'cd Raspi-3-FPV-Lego-Tank', sada upišite 'ls' i provjerite vidite li ovih 5 datoteka: 'demo.py', 'drive.py', 'Picamera_tank. py, 'finished.jpg' i 'README.md'. Potražite ažuriranja za readme radi ažuriranja.

demo.py

Ova skripta py izvrsna je za testiranje radi li sve vaše ožičenje. Prolazi samo kroz različite kombinacije vožnje motora unatrag i naprijed.

koristite 'python demo.py' za pokretanje. Za dovršetak je potrebno otprilike pola minute.

drive.py

Ovo je py skripta koju ćete pokrenuti za kontrolu spremnika. Postavlja mapiranje GPIO pinova i stvara def za pomicanje. Također bilježi pritiske tipki za upravljanje spremnikom.

Za pokretanje upotrijebite 'python drive.py'. Sačekajte malo, vaš bi terminal trebao ostati prazan.

koristite 'w, a, s, d' za pomicanje i razmaknicu za zaustavljanje. Kada budete spremni zatvoriti program, pritisnite 'n'.

Picamera_tank.py

Ovo je moja verzija streamera za kameru. Ovo radi samo s pythonom 3 (tj. Koristite 'python3 Picamera_tank.py' za pokretanje). To se može pokrenuti u drugom prozoru terminala ili možete pritisnuti ctrl-z i upisati bg da biste ga pokrenuli u pozadini na istom terminalu. Osobno volim koristiti zaseban terminal.

Ne biste trebali instalirati ništa dodatno, ali ako koristite pip. Ako naiđete na bilo kakve probleme, ostavite komentar.

Nakon što ovo pokrenete na Raspi 3, prijavite se u preglednik svog računala/prijenosnog računala i idite na 192.168.1. XX: 8000 (IP koji smo ranije pronašli). Trebali biste vidjeti izlaz kamere. Ako je potrebno rotirati sliku, morat ćete urediti py skriptu. Pri dnu je komentar, ispod unesite potrebne stupnjeve rotacije. Za mene je to bilo 180 jer mi je fotoaparat naopako.

Za pokretanje MJPG-Streamera

Da bih pokrenuo-j.webp

Nakon što se to pokrene, idite na 192.168.1. XX: 8080 (IP koji smo ranije pronašli) i kliknite na streaming. Poigrajte se drugim opcijama, mogle bi vam biti korisne.

I to je to. Sada biste trebali moći voziti vlastiti spremnik FPV -a svugdje gdje god možete nabaviti svoj WiFi. Zabavi se.

Korak 5: Gotov proizvod

A evo i video kako sve to funkcionira.

Samo napomena da sam Raspi 3 priključio na prijenosno računalo kako bih ga napajao u videu jer je tijekom nekog testiranja ponestalo baterije za napajanje. Trajalo je gotovo sat vremena zbog čega sam bio prilično sretan.

Ostavite komentare ako ih imate i nadam se da ćete uživati u izradi ovog Raspberry Pi 3 FPV Lego spremnika ako ga isprobate.

Hvala.

Ben

Preporučeni: