Cuprins:

Banana / Raspberry Pi + Arduino Rover cu cameră web: 9 pași
Banana / Raspberry Pi + Arduino Rover cu cameră web: 9 pași

Video: Banana / Raspberry Pi + Arduino Rover cu cameră web: 9 pași

Video: Banana / Raspberry Pi + Arduino Rover cu cameră web: 9 pași
Video: REAL RACING 3 LEAD FOOT EDITION 2024, Iulie
Anonim
Banana / Raspberry Pi + Arduino Rover Cu cameră web
Banana / Raspberry Pi + Arduino Rover Cu cameră web

Un proiect pe care l-am făcut în timpul liber. Este un robot cu 4 roți full-drive controlat printr-o interfață web. Dacă aveți orice comentarii sau întrebări, vă rugăm să nu ezitați să mă contactați. Acest proiect în sine folosește părți imprimate 3D și anumite bucăți de cod care au fost create de alte persoane. Puteți găsi credite și arunca o privire asupra pieselor originale la sfârșitul Instructuble.

Sa incepem?

Pasul 1: Componente de care aveți nevoie

Componente de care aveți nevoie
Componente de care aveți nevoie
Componente de care aveți nevoie
Componente de care aveți nevoie
Componente de care aveți nevoie
Componente de care aveți nevoie

Iată lista componentelor pe care le-am folosit cu linkurile și alternativele. Locuiesc în Shenzhen, China și am cumpărat piesele direct de pe Taobao.

Șasiu robot cu 4 motoare Alternativă: Orice șasiu suficient de mare va funcționa. Acesta are 4 motoare pentru un cuplu suplimentar. Motoarele sunt motoare galbene ieftine obișnuite, evaluate pentru

L293D Arduino Motor Shield rev.1 clonă Alternativă: Scut motor mai bun pentru mai mult curent

Clona Arduino Uno Alternativă: Puteți utiliza orice altă placă Arduino fără modificări semnificative ale codului.

Baterie Pb 6V 4.5Ah Alternativă: Este posibil să experimentați cu baterii LiPo mai mici dacă doriți un robot mai ușor / utilizați doar două motoare.

Alternativă Banana Pi: poate schimba Raspberry Pi 1/2/3 sau Orange Pi fără modificări semnificative de cod. Am folosit Banana Pi doar pentru că aveam una în jur.

Cameră web alternativă: utilizați camera CSI pentru Raspberry Pi / Banana Pi / Orange Pi

Montare panoramică / înclinată a camerei foto cu servere sg60 Alternativă: montarea înclinată / panoramică a imprimării 3D, de exemplu, o poate folosi pe aceasta.

Piese imprimate 3D Alternativă: lăsați-vă imaginația și talentele de design 3D să vă ghideze! De asemenea, Thingverse:)

Pasul 2: Conectați motoarele cu ecranul motorului L293D

Conectați motoarele cu ecranul motorului L293D
Conectați motoarele cu ecranul motorului L293D
Conectați motoarele cu ecranul motorului L293D
Conectați motoarele cu ecranul motorului L293D

Conectați fiecare motor cu bornele șurubului ecranului motorului. Iată schema de cablare. Dacă aveți doar două motoare și nu doriți să schimbați codul, atașați-le la MOTOR 1 și MOTOR 3.

NOTĂ: Pentru cei care utilizează motoare diferite cu curent nominal mai mare, este posibil să aveți nevoie de un alt driver de motor. Ca alternativă, un mic hack frumos pe care l-am învățat recent este că poți trimite două drivere L293D în plus față de cel existent (este cipul de mijloc de pe placă)!

Pasul 3: Arduino Uno, ansamblu scut motor

Arduino Uno, ansamblu scut motor
Arduino Uno, ansamblu scut motor

Puneți Arduino Uno în carcasă și instalați Motor Shield deasupra acestuia. Există doar o singură modalitate de a face acest lucru, dacă nu se potrivește, faci un wong!

Arduino Uno Snug Case

Iată cazul pe care l-am folosit, model creat de Esquilo.

Pasul 4: Conectați alimentarea la Banana Pi și Arduino

Conectați alimentarea la Banana Pi și Arduino
Conectați alimentarea la Banana Pi și Arduino

Am folosit interfața SATA pentru a furniza energie Bananei Pi (6v). Dacă aveți aceeași placă, puteți face acest lucru, asigurați-vă că tensiunea este 5v-6v. Este o sursă de alimentare nereglementată, așa că presupun că există un circuit de protecție pentru alimentarea SATA pe Banana Pi M1.

ATENȚIE: Pentru Raspberry Pi aveți câteva opțiuni: una sigură (folosind conector USB pentru a furniza 5v) și una nu atât de sigură (folosind pini GPIO). Iată linkul pentru a citi despre conectarea alimentării la pinii GPIO Raspberry Pi. Asigură-te că

1) Utilizați sursa de alimentare reglementată

2) Setați tensiunea la 5v

Nu există niciun circuit de protecție pentru pinii GPIO! Dacă faceți ceva greșit, există șanse serioase de a deteriora electronica de pe placă.

Pentru Arduino doar conectați puterea la bornele cu șurub de intrare de pe ecranul motorului. Poate dura până la 12v.

Pasul 5: Puneți Banana Pi în carcasa imprimată 3D, asamblați restul Rover-ului

Puneți Banana Pi în husa imprimată 3D, asamblați restul Rover-ului
Puneți Banana Pi în husa imprimată 3D, asamblați restul Rover-ului
Puneți Banana Pi în husa imprimată 3D, asamblați restul Rover-ului
Puneți Banana Pi în husa imprimată 3D, asamblați restul Rover-ului

Am folosit acest caz pentru Banana Pi de la thingverse, creat de GermanRobotics. Coperta pentru el am făcut-o eu.

Puneți Banana Pi în carcasă, acoperiți-o cu capacul, folosiți pistol de lipit pentru a atașa Arduino Uno deasupra carcasei Banana Pi.

Acoperiți bateria cu acest capac și atașați suportul de înclinare / înclinare al camerei web în partea de sus.

Dacă utilizați Banana Pi, veți avea nevoie de un hub USB, deoarece are doar două sloturi USB (Raspberry 2, 3 are patru). Pur și simplu din motive de estetică, am decis să folosesc un hub USB OTG 1-2 și să ascund firele din carcasa Banana Pi.

Pasul 6: Asamblare hardware realizată

Asamblare hardware terminată!
Asamblare hardware terminată!

Să rezumăm rapid ceea ce am făcut până acum.

Am asamblat platforma robotului, am conectat alimentarea la Banana Pi, Arduino Uno, am conectat motoare și servouri la driverul motorului și am folosit hub USB pentru a conecta camera USB și Arduino Uno la Banana Pi. Acum puteți testa și depana hardware-ul. Schema de cablare care arată toate conexiunile este în imagine pentru acest pas.

Pasul 7: Configurarea sistemului

Configurarea sistemului
Configurarea sistemului

Am folosit imaginea Raspbian Lite pentru sistem pe pi. Versiunea Lite nu are GUI și vine doar cu pachete de bază per-instalate. Dar este nevoie de mult mai puțin spațiu, ceea ce înseamnă că putem folosi un card SD mai mic. Dacă nu vă simțiți confortabil fără GUI, puteți instala și imaginea completă.

Conectați-vă pi la Internet cu ajutorul cablului Ethernet. După pornire, primul pas ar fi conectarea la Wi-Fi.

Rulați următoarea comandă în terminal

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Editați fișierul de configurare cu acreditările dvs. WiFi

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

Reporniți pi. Voila! Acum sunteți conectat la Wi-Fi.

Apoi va trebui să instalăm pip (Python Package Manager)

sudo apt-get install python-setuptools

sudo easy_install pip

Acum folosim pip pentru a instala Flask pentru rularea unui server web și pyserial pentru pi pentru a comunica cu Arduino prin conexiune serială.

sudo pip instalare balon

sudo pip instalează pyserial

Ultimul lucru va fi instalarea și configurarea pachetului de mișcare, pe care îl folosim pentru streaming video de pe camera web.

Urmați acest minunat instructiv pentru a face acest lucru.

Acum suntem gata să bubuim!

Pasul 8: Pornirea software-ului

Pornirea software-ului
Pornirea software-ului
Pornirea software-ului
Pornirea software-ului

Îți amintești cum am spus că suntem gata să bubuim?

Bine, un pic mai măcinat și apoi putem începe să bubuim:)

Să descărcăm toate fișierele necesare din depozitul meu github.

git clone

Încărcați rover.ino pe Arduino Uno. Dacă ați făcut modificări hardware (de exemplu, folosind un scut de motor diferit), trebuie să schimbați schița.

Dacă utilizați o cameră web, modificați linia în partea de jos a fișierului index.html din folderul șablon. Schimbați adresa URL din linia IFRAME pentru a se potrivi cu adresa URL src pentru fluxul dvs. video.

Acum puteți porni serverul web. Rulați următoarea comandă

sudo python pi_rover.py

Dacă ați urmărit construcția mea foarte aproape și ați conectat Arduino, veți vedea următoarele (prima imagine) în terminal.

Tastați adresa IP a robotului dvs. în browserul web (de exemplu, în cazul meu era 192.168.1.104), puteți verifica adresa IP cu comanda $ ifconfig pe Linux.

/ fa dansul de sărbătoare aici! /

Dacă aveți întrebări, nu ezitați să mă întrebați în comentarii. Acest tutorial este destinat nivelului pentru începători, dar nu și pentru începători zero, de aceea am fost destul de scurt despre lucrurile pe care le poți doar google (de exemplu, arde imaginea sistemului pe cardul SD, încarcă schița Arduino etc.).

Pasul 9: Credite

Ideea și codul serverului web provin din acest minunat instructable de către jscottb. L-am modificat pentru a utiliza hardware mai obișnuit, cum ar fi Arduino Uno.

Părțile imprimate 3D de la Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Recomandat: