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, Juli
Anonim
Banana/Raspberry Pi + Arduino Rover s web kamerom
Banana/Raspberry Pi + Arduino Rover s web kamerom

Projekat koji sam radio u slobodno vreme. To je robot sa četiri kotača s punim pogonom kojim se upravlja putem web sučelja. Ako imate bilo kakvih komentara ili pitanja, slobodno me kontaktirajte. Ovaj projekat koristi 3D štampane 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 su vam potrebne

Komponente koje su vam potrebne
Komponente koje su vam potrebne
Komponente koje su vam potrebne
Komponente koje su vam potrebne
Komponente koje su vam potrebne
Komponente koje su vam potrebne

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

Alternativno: Bilo koja dovoljno velika šasija. Ovaj ima 4 motora za dodatni obrtni moment. Motori su obični jeftini žuti motori, 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 je jedan ležao u blizini.

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

Montiranje kamere za montiranje sa nagibom/nagibom sa servo pogonima sg60 Alternativa: Nagib/nagib za 3D štampanje, na primjer, može koristiti ovaj.

3D štampani dijelovi Alternativa: Neka vas vodi mašta i talenti 3D dizajna! Takođe Thingverse:)

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

Povežite motore sa štitnikom motora L293D
Povežite motore sa štitnikom motora L293D
Povežite motore sa štitnikom motora L293D
Povežite motore sa štitnikom motora L293D

Spojite svaki motor sa vijčanim stezaljkama 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 pogonski program. Alternativno, lijep mali hack koji sam nedavno naučio je da možete vratiti još dva L293D upravljačka programa na postojeći (to je srednji čip na ploči)!

Korak 3: Arduino Uno, sklop štita motora

Arduino Uno, sklop štitnika motora
Arduino Uno, sklop štitnika 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 Udobna futrola

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

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

Priključite napajanje na Banana Pi i Arduino
Priključite napajanje na Banana Pi i Arduino

Koristio sam SATA interfejs 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 neregulisano napajanje, pa pretpostavljam da postoji zaštitni krug za SATA napajanje na Banana Pi M1.

PAŽNJA: Za Raspberry Pi imate nekoliko opcija: 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 na Raspberry Pi GPIO pinove. Uverite se

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 trajati do 12V.

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

Stavite Banana Pi u 3D štampano kućište, sastavite ostatak rovera
Stavite Banana Pi u 3D štampano kućište, sastavite ostatak rovera
Stavite Banana Pi u 3D štampano kućište, sastavite ostatak rovera
Stavite Banana Pi u 3D štampano kućište, sastavite ostatak rovera

Koristio sam ovaj kovčeg za Banana Pi iz stvarnosti, koji je stvorio GermanRobotics. Naslovnicu za to sam sam napravio.

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 čvorište i sakriti žice unutar kućišta Banana Pi.

Korak 6: Montaža hardvera je gotova

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

Hajde da brzo rezimiramo ono što smo do sada uradili.

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 sa hardverom. Dijagram ožičenja koji prikazuje sve veze prikazan je na slici za ovaj korak.

Korak 7: Konfiguracija sistema

Konfiguracija sistema
Konfiguracija sistema

Koristio sam Raspbian Lite sliku za sistem na svom pi. Lite verzija nema grafički korisnički interfejs i dolazi samo sa instaliranim osnovnim paketima. Ali zauzima mnogo 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 sa internetom putem Ethernet kabla. Nakon pokretanja, prvi korak bio bi povezivanje s Wi-Fi mrežom.

Pokrenite sljedeću naredbu na terminalu

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Uredite konfiguracijsku datoteku sa svojim vjerodajnicama za WiFi

mreža = {ssid = "testiranje" psk = "testiranje lozinke"}

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 servera i pyserial za pi za komunikaciju s Arduinom preko serijske veze.

sudo pip flask za instaliranje

sudo pip install pyserial

Posljednja stvar bit će instaliranje i konfiguriranje paketa pokreta, koji koristimo za streaming videozapisa 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 clone

Otpremite 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 liniji IFRAME tako da se podudara sa src URL -om 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, vidjet ćete sljedeće (prva slika) na terminalu.

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č je namijenjen početnicima, ali ne i početnicima, zato sam bio prilično kratak o stvarima koje možete samo pretraživati na Googleu (npr. Narezati sliku sistema na SD karticu, prenijeti Arduino skicu itd.).

Korak 9: Krediti

Ideja i kôd web servera potječu od ovog sjajnog instruktora od jscottb -a. Izmijenio sam ga kako bih koristio uobičajeniji hardver, poput Arduino Uno.

3D štampani delovi kompanije Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Preporučuje se: