Sadržaj:

Banana/Raspberry Pi + Arduino Rover s web kamerom: 9 koraka
Banana/Raspberry Pi + Arduino Rover s web kamerom: 9 koraka

Video: Banana/Raspberry Pi + Arduino Rover s web kamerom: 9 koraka

Video: Banana/Raspberry Pi + Arduino Rover s web kamerom: 9 koraka
Video: 360 Camera On A Rocket 2024, Srpanj
Anonim
Banana/Raspberry Pi + Arduino Rover s web kamerom
Banana/Raspberry Pi + Arduino Rover s web kamerom

Projekt koji sam radio u slobodno vrijeme. To je robot s četiri kotača s punim pogonom kojim se upravlja putem web sučelja. Ako imate bilo kakvih komentara ili pitanja, slobodno me kontaktirajte. Ovaj projekt koristi 3D tiskane dijelove i određene dijelove koda koje su stvorili drugi ljudi. Možete pronaći kredite i pogledati originalne komade na kraju Instructublea.

Hoćemo li početi?

Korak 1: Komponente koje trebate

Komponente koje trebate
Komponente koje trebate
Komponente koje trebate
Komponente koje trebate
Komponente koje trebate
Komponente koje trebate

Evo popisa komponenti koje sam koristio s vezama i alternativama. Živim u Shenzhenu u Kini i dijelove sam kupio izravno na Taobau.

Šasija robota s 4 motora Alternativa: Svaka dovoljno velika šasija će poslužiti. Ovaj ima 4 motora za dodatni zakretni moment. Motori su obični jeftini žuti motori, ocijenjeni za

L293D Arduino Motor Shield rev.1 klon Alternativa: Bolji štit motora ocijenjen za veću struju

Arduino Uno klon Alternativa: Možete koristiti bilo koju drugu Arduino ploču bez značajnih promjena koda.

6V 4.5Ah Pb baterija Alternativa: Moguće je eksperimentirati s manjim LiPo baterijama ako želite lakši robot/koristite samo dva motora.

Alternativa za Banana Pi: Može se zamijeniti za Raspberry Pi 1/2/3 ili Orange Pi bez značajnih promjena koda. Koristio sam Banana Pi samo zato što mi je jedna ležala u blizini.

Alternativa web kameri: Koristite CSI kameru za Raspberry Pi/Banana Pi/Orange Pi

Montaža kamere za pomicanje/nagib sa servo pogonima sg60 Alternativa: nagib/okretanje za 3D ispis, na primjer, može koristiti ovaj.

3D tiskani dijelovi Alternativa: Neka vas vodi vaša mašta i talenti 3D dizajna! Također Thingverse:)

Korak 2: Povežite motore s štitnikom motora L293D

Spojite motore s L293D štitom motora
Spojite motore s L293D štitom motora
Spojite motore s L293D štitom motora
Spojite motore s L293D štitom motora

Spojite svaki motor s vijčanim stezaljkama štitnika motora. Evo dijagrama ožičenja. Ako imate samo dva motora i ne želite promijeniti kôd, priključite ih na MOTOR 1 i MOTOR 3.

NAPOMENA: Za one koji koriste različite motore s većim naponom struje, možda će vam trebati drugi upravljački program motora. Alternativno, lijep mali hack koji sam nedavno naučio je da možete vratiti još dva upravljačka programa L293D povrh postojećeg (to je srednji čip na ploči)!

Korak 3: Arduino Uno, sklop štita motora

Arduino Uno, sklop štita motora
Arduino Uno, sklop štita motora

Stavite Arduino Uno u kućište i postavite štitnik motora na njega. Postoji samo jedan način da to učinite, ako se ne uklapa, radite nešto pomalo!

Arduino Uno udobno kućište

Evo slučaja koji sam koristio, model koji je stvorio Esquilo.

Korak 4: Priključite napajanje na Banana Pi i Arduino

Spojite napajanje na Banana Pi i Arduino
Spojite napajanje na Banana Pi i Arduino

Koristio sam SATA sučelje za napajanje Banana Pi (6v). Ako imate istu ploču, to možete i učiniti, samo provjerite je li napon 5v-6v. To je neregulirano napajanje, pa pretpostavljam da postoji zaštitni krug za SATA napajanje na Banana Pi M1.

PAŽNJA: Za Raspberry Pi imate nekoliko mogućnosti: sigurnu (pomoću USB konektora za napajanje od 5 V) i ne tako sigurnu (pomoću GPIO pinova). Evo veze za čitanje o povezivanju napajanja s Raspberry Pi GPIO pinovima. Uvjerite se da ste

1) Koristite regulirano napajanje

2) Podesite napon na 5v

Ne postoji zaštitni krug za GPIO pinove! Ako učinite nešto pogrešno, postoji ozbiljna šansa da oštetite elektroniku na ploči.

Za Arduino samo spojite napajanje na ulazne vijčane stezaljke na štitu motora. Može potrajati do 12V.

Korak 5: Stavite Banana Pi u 3D ispisano kućište, sastavite ostatak rovera

Stavite Banana Pi u 3D tiskanu kutiju, sastavite ostatak rovera
Stavite Banana Pi u 3D tiskanu kutiju, sastavite ostatak rovera
Stavite Banana Pi u 3D tiskanu kutiju, sastavite ostatak rovera
Stavite Banana Pi u 3D tiskanu kutiju, sastavite ostatak rovera

Koristio sam ovaj kovčeg za Banana Pi iz stvarne strane, koji je izradio GermanRobotics. Naslovnicu za to sam napravio sam.

Stavite Banana Pi u kućište, pokrijte ga poklopcem, pištoljem za ljepilo pričvrstite Arduino Uno na vrh kućišta Banana Pi.

Pokrijte bateriju ovim poklopcem i pričvrstite držač za web kameru/nagib na vrh.

Ako koristite Banana Pi, trebat će vam USB čvorište jer ima samo dva USB utora (Raspberry 2, 3 ima četiri). Čisto iz estetskih razloga odlučio sam upotrijebiti OTG 1-2 USB koncentrator i sakriti žice unutar kućišta Banana Pi.

Korak 6: Montaža hardvera gotova

Sklapanje hardvera završeno!
Sklapanje hardvera završeno!

Ukratko rezimirajmo ono što smo do sada učinili.

Sastavili smo robotsku platformu, spojili napajanje na Banana Pi, Arduino Uno, spojili motore i servo pogone na upravljački program motora i koristili USB hub za povezivanje USB kamere i Arduino Uno na Banana Pi. Sada možete testirati i rješavati probleme s hardverom. Shema ožičenja koja prikazuje sve spojeve je na slici za ovaj korak.

Korak 7: Konfiguracija sustava

Sistemska konfiguracija
Sistemska konfiguracija

Koristio sam Raspbian Lite sliku za sustav na svom pi. Lite verzija nema GUI, a dolazi samo s instaliranim osnovnim paketima. Ali zauzima puno manje prostora, što znači da možemo koristiti manju SD karticu. Ako vam nije ugodno bez grafičkog sučelja, možete instalirati i cijelu sliku.

Povežite svoj pi s internetom pomoću Ethernet kabela. Nakon pokretanja, prvi korak bio bi povezivanje na Wi-Fi.

Pokrenite sljedeću naredbu na terminalu

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Uredite konfiguracijsku datoteku sa svojim vjerodajnicama za WiFi

network = {ssid = "testing" psk = "testingPassword"}

Ponovo pokrenite pi. Voila! Sada ste povezani na Wi-Fi.

Zatim ćemo morati instalirati pip (Python Package Manager)

sudo apt-get install python-setuptools

sudo easy_install pip

Sada koristimo pip za instaliranje Flaska za pokretanje web poslužitelja i pyserial za pi za komunikaciju s Arduinom putem serijske veze.

sudo pip install flask

sudo pip instalirajte pyserial

Posljednja stvar bit će instaliranje i konfiguriranje paketa pokreta, koji koristimo za strujanje videa s naše web kamere.

Slijedite ove sjajne upute da biste to učinili.

Sada smo spremni za tutnjavu!

Korak 8: Pokretanje softvera

Pokretanje softvera
Pokretanje softvera
Pokretanje softvera
Pokretanje softvera

Sjećate li se kako sam rekao da smo spremni za tutnjavu?

U redu, još malo brušenja i onda možemo početi tutnjati:)

Preuzmimo sve potrebne datoteke iz mog github spremišta.

git klon

Učitajte rover.ino na Arduino Uno. Ako ste izvršili izmjene hardvera (na primjer, koristeći drugi štitnik motora), morate promijeniti skicu.

Ako koristite web kameru, izmijenite redak pri dnu datoteke index.html u mapi predloška. Promijenite URL u retku IFRAME tako da odgovara URL -u src za vaš video stream.

Sada možete pokrenuti web poslužitelj. Pokrenite sljedeću naredbu

sudo python pi_rover.py

Ako ste vrlo blizu pratili moju gradnju i povezali Arduino, na terminalu ćete vidjeti sljedeću (prvu sliku).

Upišite web adresu vašeg robota u web preglednik (na primjer u mom slučaju to je 192.168.1.104), možete provjeriti IP adresu naredbom $ ifconfig na Linuxu.

/plešite slavljenički ples ovdje!/

Ako imate bilo kakvih pitanja, slobodno me pitajte u komentarima. Ovaj vodič namijenjen je početnoj razini, ali ne i početnicima, zato sam bio prilično kratak o stvarima koje možete jednostavno googlati (npr. Snimiti sliku sustava na SD karticu, prenijeti Arduino skicu itd.).

Korak 9: Krediti

Ideja i kôd web poslužitelja potječu od ove izvrsne upute koju je napisao jscottb. Izmijenio sam ga kako bih koristio uobičajeniji hardver, poput Arduino Uno.

3D ispisani dijelovi tvrtke Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Preporučeni: