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, Juli
Anonim
Raspberry Pi 3 FPV Lego Tank
Raspberry Pi 3 FPV Lego Tank

Lego je odličan za poučavanje djece o tome kako stvari funkcioniraju, a istovremeno im omogućava da se zabave. Znam da sam kao dijete uvijek uživao u "igranju" 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, konstrukcija će biti drugačija, ali ožičenje i programi bit će potpuno isti.

### Ovaj projekt je u osnovi verzija 1, pa ako ga želite poboljšati (o čemu ima dosta prostora za učiniti), ostavite komentar. Takođe, sav kod će 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 maštu, međutim, ovaj set je sadržavao pjesme i sve kako bi oni uspjeli, pa je to bilo dobro za ovaj projekt.
  • Raspberry Pi, koristio sam Raspberry Pi 3 jer sam to imao, ako imate drugačiji model, možda ćete uspjeti da radi, ali GPIO pinovi će se razlikovati.
  • Mikro SD kartica sa instaliranim Raspian -om, za Raspi 3.
  • Pi kamera, Adafruit prodaje nekoliko, kao i različite vrpčane kabele različitih dužina. 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 izvukao iz jeftinog RC automobila, ona je 7,2 volti, 500 maha i punjiva se tako da radi prilično dobro. 9V baterija bi bila dobra, ali tada će vam trebati i konektor.
  • Kratkospojni kablovi, 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. Ovo su također prilično standardni za ovu vrstu aplikacije.
  • 2 x DC motor mjenjača, ovi iz Adafruit -a su dobri, potpuno isti se može kupiti i na Aliexpressu

Ostalo

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

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

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

Za upravljanje i programiranje Raspi 3 trebat će vam i vaš vlastiti PC/laptop.

Korak 1: Napravite spremnik

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

Dakle, ovo zapravo nisu upute jer bi ovaj korak zaista 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 vremena da razvijem ovaj dizajn, na kraju je jednostavan put bio najbolji.

  1. Prvo napravite zadnje osovine

    1. i pobrinite se da ostavite dovoljno prostora za motore i učinite ih dovoljno širokim da se komponente mogu uklopiti u njih. Htio sam da moj bude prilično širok, jer sam želio da sve što sjedi unutar osovina, to je omogućilo da tenk bude prilično nizak i da pristane ispod stvari i potjera mačku.
    2. Točkovi na gusjenicama ovdje imaju rupu koja odgovara Lego poprečnoj osovini, pa imajte na umu da će se vaši motori ovdje montirati.
    3. Treba vam dovoljno slobodnog prostora za stazu pozadi i napred. Na slici 2 možete primjetiti da "L" peices nisu semetrijski, ovo omogućava prostoriju za praćenje. Prvobitno sam ih imao semetrijske, ali staza se stalno trljala i u jednom trenutku se zaglavila i slomila adapter motora.
  2. Nakon što izgradite osovine, možete ih spojiti

    1. korištenje dugih bitova s unakrsnim nosačima u pravilnim intervalima. Pobrinite se da postavite križne nosače tako da se komponente uklapaju između njih, to pomaže zadržati nizak profil.
    2. dužina će se odrediti prema tome koliko staze imate. Ova staza nema rastezanja pa je potrebno malo opuštenosti. Ako imate gumenu stazu, možete je zategnuti. Točak za trčanje je takođe dobra ideja, ali generalno nije potreban.
    3. Ovaj korak je bio beznačajan i samo uključuje malo pokušaja i grešaka.
  3. Motori su u osnovi zalijepljeni dvostranom pjenom trakom pa im se osigurava velika površina 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 oklijevam da je rastavim 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 mjenjač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 fotografije. Mislim da postoji gomila različitih vodiča koji to rade. Adafruit zapravo prodaje adapter, ovo je najbolji način, a osim toga ne morate uništavati nosače motora. Ja sam u NZ pa Adafruit nije dostupan, ali DIY je:-). Ovo sam uradio (žao mi je zbog loših dijagrama):

  1. Pripremite sve svoje alate, rezati ćemo plastiku, tako da to neće biti teško. Koristio sam par naočara za radionicu jer lično mrzim male plastične djeliće po očnim jabučicama. Koristio sam i jednu od onih zelenih daska za rezanje pa nisam pokvario stol.
  2. Dakle, dijagram prikazuje pogled odozgo i sa strane. U osnovi, sivo je mali bijeli dio na motoru istosmjernog mjenjača, a crveno je mjesto gdje režemo. Crvena boja na vrhu odozgo 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 sve dok nisam savršeno pristao.
  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 nanošenja bilo kojeg epoksida 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 budi oprezan. Nakon što se postavi na gumenu konzistenciju, možete lako ukloniti višak epoksida, tako sam na sebi dobio lijep ravni kraj.
  5. Ostavite ga da se osuši preko noći, a do jutra biste trebali imati motor Lego DC mjenjača

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 uzemljenje upravljačkog sklopa motora L298N. Također ćemo upotrijebiti žicu za povezivanje motora s kontrolerom motora L298N.

Odlučio sam koristiti ovu kombinaciju pinova na Raspiju jer su grupisani zajedno. Ipak, slobodno upotrijebite bilo koji skup GPIO pinova i GND. Samo zapamtite da to promijenite 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 suštini negativno je bilo prema nazad, 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.

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

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 računalo i izdvojite datoteke na sd karticu. Provjerite jesu li datoteke i mape tamo, a ne unutar mape noobs.

Kada to učinite, priključite SD karticu u Raspi 3, povežite ekran (TV sa HDMI -om radi dobro ako nemate monitor) i tastaturu i miš.

Trebali biste vidjeti učitavanje ekrana 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. Koristite SSH umjesto ekrana i tastature). Samo napomena da ćete morati koristiti sudo pa provjerite znate li lozinku za root.

Otvorite terminal i upišite 'sudo raspi-config', trebali biste imati plavo-sivi ekran kao na slikama. Idite na 'Interfacing options', pritisnite enter, zatim prijeđite na 'P2 SSH' pritisnite enter i ponovo unesite za 'da', ponovo za 'ok'.

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

Nazad u meniju pritisnite desno i unesite da odaberete 'završi'.

Zatim moramo pronaći našu 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 redu i izgledati otprilike ovako 192.168.1. XX ako koristite kućni WiFi.

Odlično, to je kraj konfiguracije

Instaliranje dodatnog softvera

Dakle, da biste pokrenuli skripte koje imam, morate imati instaliran python 2 ili 3. Ako želite naučiti python, preporučio bih vam učenje pythona 3, razlike su male, ali python 3 se sada sve više koristi. Trebao bi biti unaprijed instaliran sa Raspian -om, 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 da biste dobili kôd, opet, trebao bi biti unaprijed instaliran. Upišite 'git --version' da provjerite i koristite 'sudo apt-get install git' ako ga nemate.

Instaliranje MJPG-Streamera

MJPG-Streamer je jedan od načina na koji sam dobio pristup Picameri. Omogućuje vam pristup kameri putem preglednika i manipulaciju slikom. Vjerovatno 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. Radili su besprekorno za mene. Ako imate pitanja, ostavite ih u komentarima, a ja ću pokušati pomoći

Jednom instaliran možete ga pokrenuti. U nastavku ću proći kako to radim.

Spajajući sve zajedno

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

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 zaista male. Zatim možete ući u direktorij koristeći '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'. Obavezno pogledajte readme za sva ažuriranja.

demo.py

Ova py skripta je odlična za testiranje da li vaše ožičenje radi. 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đe snima pritisnute tastere za kontrolu rezervoara.

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

koristite 'w, a, s, d' za pomicanje i razmaknicu za zaustavljanje. Kada budete spremni za zatvaranje programa, 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). Ovo 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 pretraživač svog računara/laptopa 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 stepene rotacije. Za mene je to bilo 180 jer je moja kamera okrenuta naopačke.

Da biste pokrenuli MJPG-Streamer

Da bih pokrenuo-j.webp

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

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

Korak 5: Gotov proizvod

A evo i video kako sve to funkcionira.

Samo napominjem da sam Raspi 3 priključio na prijenosno računalo kako bih ga uključio u video zapis jer je tokom nekog testiranja ponestalo baterije za napajanje. Trajalo je skoro 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čuje se: