Sommario:
- Passaggio 1: componenti di cui hai bisogno
- Passaggio 2: collegare i motori con lo schermo motore L293D
- Passaggio 3: Arduino Uno, assemblaggio dello scudo del motore
- Passaggio 4: collegare l'alimentazione a Banana Pi e Arduino
- Passaggio 5: metti Banana Pi nella custodia stampata in 3D, assembla il resto del Rover
- Passaggio 6: assemblaggio hardware completato
- Passaggio 7: configurazione del sistema
- Passaggio 8: avvio del software
- Passaggio 9: crediti
Video: Banana/Raspberry Pi + Arduino Rover con webcam: 9 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
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
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 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
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
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
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
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
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
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:
Lettore audio con Arduino con scheda Micro SD: 7 passaggi (con immagini)
Lettore audio che utilizza Arduino con scheda Micro SD: ISCRIVITI al mio canale per ulteriori progetti …………….. Molte persone vogliono interfacciare la scheda SD con arduino o desideri un output audio tramite arduino. Quindi ecco il modo più semplice ed economico per interfacciare la scheda SD con arduino. puoi noi
Telecomando wireless con modulo NRF24L01 da 2,4 Ghz con Arduino - Nrf24l01 Ricevitore trasmettitore 4 canali / 6 canali per quadricottero - Elicottero Rc - Aereo RC con Arduino: 5 passaggi (con immagini)
Telecomando wireless con modulo NRF24L01 da 2,4 Ghz con Arduino | Nrf24l01 Ricevitore trasmettitore 4 canali / 6 canali per quadricottero | Elicottero Rc | Aereo radiocomandato con Arduino: per far funzionare un'auto radiocomandata | Quadricottero | Drone | Aereo RC | Barca RC, abbiamo sempre bisogno di un ricevitore e trasmettitore, supponiamo che per RC QUADCOPTER abbiamo bisogno di un trasmettitore e ricevitore a 6 canali e quel tipo di TX e RX è troppo costoso, quindi ne faremo uno sul nostro
IOT Lunar Rover Raspberrypi+Arduino: 5 passaggi (con immagini)
IOT Lunar Rover Raspberrypi+Arduino: questo progetto è ispirato alla missione lunare indiana Chandryaan-2 che si svolgerà a settembre 2019. Questa è una missione speciale perché atterreranno nel punto in cui nessuno è mai atterrato prima. Quindi per mostrare il mio sostegno ho deciso di costruire
Robot FPV Rover controllato tramite Wi-Fi (con Arduino, ESP8266 e motori passo-passo): 11 passaggi (con immagini)
Robot FPV Rover controllato da Wi-Fi (con Arduino, ESP8266 e motori passo-passo): questa istruzione mostra come progettare un rover robotico a due ruote controllato da remoto su una rete Wi-Fi, utilizzando un Arduino Uno collegato a un modulo Wi-Fi ESP8266 e due motori passo passo. Il robot può essere controllato da un normale browser internet
Arduino RC Amphibious Rover: 39 passaggi (con immagini)
Arduino RC Amphibious Rover: Negli ultimi due mesi abbiamo sviluppato un rover telecomandato che può muoversi sia sulla terra che sull'acqua. Nonostante un veicolo con caratteristiche simili utilizzi meccanismi di propulsione differenti abbiamo cercato di realizzare tutti i mezzi di propulsione