Sommario:

Banana/Raspberry Pi + Arduino Rover con webcam: 9 passaggi
Banana/Raspberry Pi + Arduino Rover con webcam: 9 passaggi

Video: Banana/Raspberry Pi + Arduino Rover con webcam: 9 passaggi

Video: Banana/Raspberry Pi + Arduino Rover con webcam: 9 passaggi
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Luglio
Anonim
Banana/Raspberry Pi + Arduino Rover con webcam
Banana/Raspberry Pi + Arduino Rover con webcam

Un progetto che ho realizzato nel tempo libero. È un robot a 4 ruote a trazione integrale controllato tramite un'interfaccia web. Se hai commenti o domande, non esitare a contattarmi. Questo stesso progetto utilizza parti stampate in 3D e alcuni pezzi di codice creati da altre persone. Puoi trovare i crediti e dare un'occhiata ai pezzi originali alla fine di Instructuble.

Iniziamo?

Passaggio 1: componenti di cui hai bisogno

Componenti di cui hai bisogno
Componenti di cui hai bisogno
Componenti di cui hai bisogno
Componenti di cui hai bisogno
Componenti di cui hai bisogno
Componenti di cui hai bisogno

Ecco l'elenco dei componenti che ho usato con i collegamenti e le alternative. Vivo a Shenzhen, in Cina e ho acquistato i pezzi direttamente su Taobao.

Chassis robot a 4 motori Alternativa: va bene qualsiasi chassis sufficientemente grande. Questo ha 4 motori per una coppia extra. I motori sono normali motori gialli economici, valutatori per

L293D Arduino Motor Shield rev.1 clone Alternativa: migliore scudo motore valutato per più corrente

Alternativa al clone Arduino Uno: puoi utilizzare qualsiasi altra scheda Arduino senza modifiche significative al codice.

Batteria 6V 4.5Ah Pb Alternativa: è possibile sperimentare batterie LiPo più piccole se si desidera un robot più leggero/usare solo due motori.

Alternativa Banana Pi: può sostituire Raspberry Pi 1/2/3 o Orange Pi senza modifiche significative al codice. Ho usato Banana Pi solo perché ne avevo uno in giro.

Alternativa alla fotocamera Web: utilizzare la fotocamera CSI per Raspberry Pi/Banana Pi/Orange Pi

Supporto per telecamera Pan/tilt con servi sg60 Alternativa: il supporto tilt/pan per stampa 3D, ad esempio, può utilizzare questo.

Parti stampate in 3D Alternativa: lasciati guidare dalla tua immaginazione e dai talenti del design 3D! Anche Thingverse:)

Passaggio 2: collegare i motori con lo schermo motore L293D

Collegare i motori con lo schermo motore L293D
Collegare i motori con lo schermo motore L293D
Collegare i motori con lo schermo motore L293D
Collegare i motori con lo schermo motore L293D

Collegare ciascun motore con terminali a vite dello schermo del motore. Ecco lo schema elettrico. Se hai solo due motori e non vuoi cambiare il codice collegali a MOTOR 1 e MOTOR 3.

NOTA: per coloro che utilizzano motori diversi con una corrente nominale maggiore, potrebbe essere necessario un altro driver del motore. In alternativa, un piccolo trucco che ho imparato di recente è che puoi trasportare altri due driver L293D sopra quello esistente (è il chip centrale sulla scheda)!

Passaggio 3: Arduino Uno, assemblaggio dello scudo del motore

Arduino Uno, gruppo scudo motore
Arduino Uno, gruppo scudo motore

Metti Arduino Uno nella custodia e installaci sopra Motor Shield. C'è solo un modo per farlo, se non va bene, stai facendo qualcosa!

Custodia rigida per Arduino Uno

Ecco il caso che ho usato, modello creato da Esquilo.

Passaggio 4: collegare l'alimentazione a Banana Pi e Arduino

Collega l'alimentazione a Banana Pi e Arduino
Collega l'alimentazione a Banana Pi e Arduino

Ho usato l'interfaccia SATA per fornire alimentazione a Banana Pi (6v). Se hai la stessa scheda puoi anche farlo, assicurati solo che la tensione sia 5v-6v. È un alimentatore non regolamentato, quindi presumo che ci sia un circuito di protezione per l'alimentazione SATA su Banana Pi M1.

ATTENZIONE: Per Raspberry Pi hai alcune opzioni: una sicura (usando il connettore USB per fornire 5v) e una non così sicura (usando i pin GPIO). Ecco il link per leggere sul collegamento dell'alimentazione ai pin GPIO di Raspberry Pi. Accertati di

1)Utilizzare un alimentatore regolato

2) Impostare la tensione a 5v

Non esiste un circuito di protezione per i pin GPIO! Se fai qualcosa di sbagliato, c'è una seria possibilità di danneggiare l'elettronica sulla scheda.

Per Arduino basta collegare l'alimentazione ai terminali a vite di ingresso sullo scudo del motore. Può richiedere fino a 12v.

Passaggio 5: metti Banana Pi nella custodia stampata in 3D, assembla il resto del Rover

Metti Banana Pi nella custodia stampata in 3D, assembla il resto del Rover
Metti Banana Pi nella custodia stampata in 3D, assembla il resto del Rover
Metti Banana Pi nella custodia stampata in 3D, assembla il resto del Rover
Metti Banana Pi nella custodia stampata in 3D, assembla il resto del Rover

Ho usato questo caso per Banana Pi da Thingsverse, creato da GermanRobotics. La copertina l'ho fatta io.

Metti Banana Pi nella custodia, coprila con il coperchio, usa la pistola per colla per attaccare Arduino Uno sopra la custodia Banana Pi.

Coprire la batteria con questo coperchio e collegare il supporto pan/tilt della webcam alla parte superiore.

Se stai usando Banana Pi avrai bisogno di un hub USB, poiché ha solo due slot USB (Raspberry 2, 3 ne ha quattro). Puramente per questioni estetiche ho deciso di utilizzare un hub USB OTG 1-2 e nascondere i fili all'interno della custodia Banana Pi.

Passaggio 6: assemblaggio hardware completato

Assemblaggio hardware fatto!
Assemblaggio hardware fatto!

Riassumiamo velocemente quello che abbiamo fatto finora.

Abbiamo assemblato la piattaforma del robot, collegato l'alimentazione a Banana Pi, Arduino Uno, collegato motori e servi al driver del motore e utilizzato un hub USB per collegare la fotocamera USB e Arduino Uno al Banana Pi. Ora puoi testare e risolvere i problemi dell'hardware. Lo schema di cablaggio che mostra tutte le connessioni è in figura per questo passaggio.

Passaggio 7: configurazione del sistema

Configurazione di sistema
Configurazione di sistema

Ho usato l'immagine Raspbian Lite per il sistema sul mio pi. La versione Lite non ha GUI e viene fornita con solo pacchetti di base installati. Ma richiede molto meno spazio, il che significa che possiamo usare una scheda SD più piccola. Se non ti senti a tuo agio senza la GUI, puoi anche installare l'immagine completa.

Collega il tuo pi a Internet con il cavo Ethernet. Dopo l'avvio, il primo passo sarebbe collegarlo al Wi-Fi.

Esegui il seguente comando nel terminale

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Modifica il file di configurazione con le tue credenziali WiFi

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

Riavvia il pi. Ecco! Ora sei connesso al Wi-Fi.

Successivamente dovremo installare pip (Python Package Manager)

sudo apt-get install python-setuptools

sudo easy_install pip

Ora usiamo pip per installare Flask per l'esecuzione di un server web e pyserial per pi per comunicare con Arduino tramite connessione seriale.

sudo pip install flask

sudo pip install pyserial

L'ultima cosa sarà installare e configurare il pacchetto di movimento, che usiamo per lo streaming video dalla nostra webcam.

Segui questo fantastico tutorial per farlo.

Ora siamo pronti a rimbombare!

Passaggio 8: avvio del software

Avvio del software
Avvio del software
Avvio del software
Avvio del software

Ricordi come ho detto che siamo pronti a rimbombare?

Ok, un altro po' di macinazione e poi possiamo iniziare a rimbombare:)

Scarichiamo tutti i file necessari dal mio repository github.

git clone

Carica rover.ino su Arduino Uno. Se hai apportato modifiche hardware (usando uno scudo motore diverso, ad esempio) devi cambiare lo schizzo.

Se stai utilizzando una web cam, modifica la riga nella parte inferiore del file index.html nella cartella del modello. Modifica l'URL nella riga IFRAME in modo che corrisponda all'URL src per il tuo flusso video.

Ora puoi avviare il server web. Esegui il seguente comando

sudo python pi_rover.py

Se hai seguito la mia build molto da vicino e hai collegato Arduino, vedrai quanto segue (prima immagine) nel terminale.

Digita l'indirizzo IP del tuo robot nel browser web (ad esempio nel mio caso era 192.168.1.104), puoi controllare l'indirizzo IP con il comando $ifconfig su Linux.

/fai il ballo celebrativo qui!/

Se avete domande non esitate a chiedermelo nei commenti. Questo tutorial è rivolto al livello principiante, ma non ai principianti, ecco perché sono stato abbastanza breve sulle cose per cui puoi semplicemente cercare su Google (ad esempio masterizzare l'immagine del sistema su una scheda SD, caricare lo schizzo Arduino ecc.).

Passaggio 9: crediti

L'idea e il codice del server web derivano da questo ottimo istruttore di jscottb. L'ho modificato per utilizzare hardware più comune, come Arduino Uno.

Le parti stampate in 3D di Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Consigliato: