Kazalo:

Banana/Raspberry Pi + Arduino Rover s spletno kamero: 9 korakov
Banana/Raspberry Pi + Arduino Rover s spletno kamero: 9 korakov

Video: Banana/Raspberry Pi + Arduino Rover s spletno kamero: 9 korakov

Video: Banana/Raspberry Pi + Arduino Rover s spletno kamero: 9 korakov
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Julij
Anonim
Banana/Raspberry Pi + Arduino Rover s spletno kamero
Banana/Raspberry Pi + Arduino Rover s spletno kamero

Projekt, ki sem ga naredil v prostem času. To je štirikolesni robot s polnim pogonom, ki ga upravljate prek spletnega vmesnika. Če imate kakršne koli pripombe ali vprašanja, me prosim kontaktirajte. Ta projekt sam uporablja 3D natisnjene dele in določene kode, ki so jih ustvarili drugi ljudje. Lahko najdete kredite in si ogledate izvirne pesmi na koncu Instructuble.

Ali bi začeli?

1. korak: komponente, ki jih potrebujete

Komponente, ki jih potrebujete
Komponente, ki jih potrebujete
Komponente, ki jih potrebujete
Komponente, ki jih potrebujete
Komponente, ki jih potrebujete
Komponente, ki jih potrebujete

Tu je seznam komponent, ki sem jih uporabil s povezavami in alternativami. Živim v Shenzhenu na Kitajskem in dele sem kupil neposredno na Taobau.

Alternativno: Primerno je vsako dovolj veliko podvozje. Ta ima 4 motorje za nekaj dodatnega navora. Motorji so redni poceni rumeni motorji, ocenjeni za

L293D Arduino Motor Shield rev.1 klon Alternativa: Boljša zaščita motorja za večji tok

Alternativa klona Arduino Uno: Uporabite lahko katero koli drugo ploščo Arduino brez bistvenih sprememb kode.

6V 4.5Ah Pb baterija Alternativa: Možno je eksperimentirati z manjšimi LiPo baterijami, če želite lažjega robota/uporabite samo dva motorja.

Alternativa Banana Pi: lahko zamenjate za Raspberry Pi 1/2/3 ali Orange Pi brez pomembnih sprememb kode. Banana Pi sem uporabil samo zato, ker je eden ležal naokoli.

Alternativa za spletno kamero: Uporabite kamero CSI za Raspberry Pi/Banana Pi/Orange Pi

Nosilec/nagib fotoaparata s servomotorji sg60 Alternativa: na primer nagib/nagib 3D -tiskalnika lahko uporabi tega.

3D tiskani deli Alternativa: Naj vas vodi domišljija in talenti 3D oblikovanja! Tudi Thingverse:)

Korak: Povežite motorje s ščitnikom motorja L293D

Motorje povežite s ščitnikom motorja L293D
Motorje povežite s ščitnikom motorja L293D
Motorje povežite s ščitnikom motorja L293D
Motorje povežite s ščitnikom motorja L293D

Vsak motor priključite z vijačnimi sponkami ščitnika motorja. Tukaj je shema ožičenja. Če imate samo dva motorja in ne želite spremeniti kode, jih pritrdite na MOTOR 1 in MOTOR 3.

OPOMBA: Za tiste, ki uporabljajo različne motorje z višjo močjo toka, boste morda potrebovali drugega gonilnika motorja. Druga možnost je, da sem se pred kratkim naučil, da lahko vzamete še dva gonilnika L293D na vrhu obstoječega (to je srednji čip na plošči)!

3. korak: Arduino Uno, sklop ščita motorja

Arduino Uno, sklop motornega ščita
Arduino Uno, sklop motornega ščita

Arduino Uno postavite v ohišje in nanj namestite ščit motorja. Obstaja le en način, da to storite, če se ne ujemate, delate nekaj!

Arduino Uno udobno ohišje

Tu je primer, ki sem ga uporabil, model, ki ga je ustvaril Esquilo.

4. korak: Napajanje priključite na Banana Pi in Arduino

Napajanje priključite na Banana Pi in Arduino
Napajanje priključite na Banana Pi in Arduino

Za napajanje Banana Pi (6v) sem uporabil vmesnik SATA. Če imate isto ploščo, lahko to tudi storite, samo poskrbite, da bo napetost 5v-6v. To je neregulirano napajanje, zato predvidevam, da obstaja zaščitno vezje za napajanje SATA na Banana Pi M1.

POZOR: Za Raspberry Pi imate na voljo nekaj možnosti: varno (z uporabo priključka USB za zagotavljanje 5V) in ne tako varno (z uporabo zatičev GPIO). Tukaj je povezava za branje o priključitvi napajanja na zatiče Raspberry Pi GPIO. Prepričaj se da

1) Uporabite regulirano napajanje

2) Nastavite napetost na 5v

Za zatiče GPIO ni zaščitnega vezja! Če naredite nekaj narobe, obstaja resna možnost, da poškodujete elektroniko na plošči.

Za Arduino samo priključite napajanje na vhodne vijačne sponke na ščitniku motorja. Lahko traja do 12V.

5. korak: Postavite Banana Pi v 3D natisnjeno ohišje, sestavite preostanek roverja

Postavite Banana Pi v 3D tiskano ohišje, sestavite preostanek roverja
Postavite Banana Pi v 3D tiskano ohišje, sestavite preostanek roverja
Banano Pi vstavite v 3D tiskano ohišje, sestavite preostanek roverja
Banano Pi vstavite v 3D tiskano ohišje, sestavite preostanek roverja

Ta kovček sem uporabil za Banana Pi iz stvarstva, ki ga je ustvarila GermanRobotics. Ovitek zanj sem naredil sam.

Banana Pi postavite v ohišje, pokrijte s pokrovom, s pištolo za lepilo pritrdite Arduino Uno na vrh ohišja Banana Pi.

S tem pokrovom pokrijte baterijo in na vrh pritrdite nosilec za spletno kamero/nagib.

Če uporabljate Banana Pi, boste potrebovali zvezdišče USB, saj ima samo dve reži USB (Raspberry 2, 3 ima štiri). Čisto zaradi estetskih pomislekov sem se odločil uporabiti USB zvezdišče OTG 1-2 in skriti žice v ohišju Banana Pi.

6. korak: Montaža strojne opreme je končana

Sestavljanje strojne opreme končano!
Sestavljanje strojne opreme končano!

Hitro povzemimo, kaj smo do sedaj naredili.

Sestavili smo robotsko platformo, priključili napajanje na Banana Pi, Arduino Uno, priključili motorje in servomotorje na gonilnik motorja in uporabili USB vozlišče za povezavo USB kamere in Arduino Uno na Banana Pi. Zdaj lahko preizkusite in odpravite težave s strojno opremo. Shema ožičenja, ki prikazuje vse povezave, je na sliki za ta korak.

7. korak: Konfiguracija sistema

Konfiguracija sistema
Konfiguracija sistema

Za sistem sem uporabil sliko Raspbian Lite za svoj pi. Lite različica nima grafičnega vmesnika in ima le nameščene osnovne pakete. Toda zavzame veliko manj prostora, kar pomeni, da lahko uporabimo manjšo kartico SD. Če vam brez grafičnega vmesnika ni všeč, lahko namestite tudi celotno sliko.

S kablom Ethernet povežite svoj pi z internetom. Po zagonu bi bil prvi korak, da ga povežete z omrežjem Wi-Fi.

V terminalu zaženite naslednji ukaz

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Uredite konfiguracijsko datoteko s svojimi poverilnicami WiFi

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

Znova zaženite pi. Voila! Zdaj ste povezani z omrežjem Wi-Fi.

Nato bomo morali namestiti pip (Python Package Manager)

sudo apt-get install python-setuptools

sudo easy_install pip

Zdaj uporabljamo pip za namestitev Flaska za izvajanje spletnega strežnika in pyserial za pi za komunikacijo z Arduinom prek serijske povezave.

sudo pip namestite bučko

sudo pip namestite pyserial

Zadnja stvar bo namestitev in konfiguriranje paketa gibanja, ki ga uporabljamo za pretakanje videa z naše spletne kamere.

Sledite tem odličnim navodilom, da to storite.

Zdaj smo pripravljeni na ropotanje!

8. korak: Zagon programske opreme

Zagon programske opreme
Zagon programske opreme
Zagon programske opreme
Zagon programske opreme

Se spomnite, kako sem rekel, da smo pripravljeni ropotati?

V redu, še malo brušenja in potem lahko začnemo ropotati:)

Prenesite vse potrebne datoteke iz mojega skladišča github.

git clone

Naložite rover.ino v Arduino Uno. Če ste naredili strojno opremo (na primer z uporabo drugega ščitnika motorja), morate spremeniti skico.

Če uporabljate spletno kamero, spremenite vrstico pri dnu datoteke index.html v mapi s predlogami. Spremenite URL v vrstici IFRAME tako, da se ujema z URL src za vaš video tok.

Zdaj lahko zaženete spletni strežnik. Zaženite naslednji ukaz

sudo python pi_rover.py

Če ste moji gradnji sledili zelo blizu in ste imeli Arduino povezan, boste v terminalu videli naslednjo (prvo sliko).

Vnesite spletni naslov robota v spletni brskalnik (na primer v mojem primeru je bil 192.168.1.104), naslov IP lahko preverite z ukazom $ ifconfig v Linuxu.

/tukaj praznični ples!

Če imate kakršna koli vprašanja, me vprašajte v komentarjih. Ta vadnica je namenjena začetnikom, ne pa tudi začetnikom, zato sem bil zelo kratek o stvareh, ki jih lahko preprosto poiščete v Googlu (npr. Zapišete sliko sistema na kartico SD, naložite skico Arduino itd.).

9. korak: Krediti

Koda ideje in koda spletnega strežnika izhaja iz tega odličnega navodila, ki ga je napisal jscottb. Spremenil sem ga tako, da uporablja bolj običajno strojno opremo, kot je Arduino Uno.

3D natisnjeni deli podjetja Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Priporočena: