Sommario:

Dog Bot: Lego Robot Rover con webcam: 17 passaggi (con immagini)
Dog Bot: Lego Robot Rover con webcam: 17 passaggi (con immagini)

Video: Dog Bot: Lego Robot Rover con webcam: 17 passaggi (con immagini)

Video: Dog Bot: Lego Robot Rover con webcam: 17 passaggi (con immagini)
Video: World Record Domino Robot (100k dominoes in 24hrs) 2024, Dicembre
Anonim
Image
Image

Ecco come creare un robot Lego che puoi controllare da qualsiasi schermo tramite Wi-Fi. Ha anche una webcam in modo da poter vedere dove stai andando e luci a LED per gli occhi! Questo è un grande progetto da fare con i tuoi figli in quanto possono creare il logo e puoi coinvolgerli in tutta l'elettronica di cui sono contenti. C'è molta flessibilità nel modo in cui implementi questo progetto, e questo significa che può facilmente smontarlo e riprogettarlo di nuovo. L'ho trovato utile, quando mi sono bloccato per ricominciare semplicemente. Dopo averlo fatto alcune volte, è abbastanza facile e veloce da ricostruire da zero. La cosa grandiosa di questo è che non devi preoccuparti di "rompere" nulla poiché svilupperai le abilità per ricostruire facilmente.

Quello di cui hai bisogno

  • Raspberry Pi B+
  • Base e kit motore
  • Base Lego
  • Super colla di forza industriale
  • Trapano
  • Coltello artigianale
  • Attrezzatura per saldatura
  • scheda SD
  • Lettore di schede SD
  • Kit controllore motore
  • 2 LED
  • Webcam a prezzo medio (potresti provarne una economica)
  • PC e tablet/telefono
  • Router Wi-Fi a cui hai accesso come amministratore
  • Un sacco di pezzi di Lego
  • Caricatore del telefono di emergenza
  • 4 cavi di salto ciascuno con almeno 1 terminale femmina
  • 4 batterie AA (ricaricabili va bene)

Passaggio 1: preparare la base

Ho iniziato con una base e 2 motori come questo set di motori su Amazon

Prendi la base in perspex e incollaci sopra una sottile piastra di base Lego. Ho usato una super colla di forza industriale per questo che si asciuga in pochi minuti ed è super forte. Quando la colla è fissata, taglia via la piastra di base Lego in eccesso in modo che segua la linea della piastra di base in perspex. quindi praticare dei fori attraverso la piastra Lego che corrispondono alla base in perspex. Ho praticato i fori come e quando ne avevo bisogno. Ora hai le basi per costruire la tua struttura Lego.

Passaggio 2: assemblare le ruote

Assemblare le ruote
Assemblare le ruote

Ora monta le ruote. Segui le istruzioni del produttore qui. Le ruote che ho comprato avevano tutte le istruzioni in cinese, che non riesco a leggere, ma è stato abbastanza facile capirlo dalle immagini. Una volta assemblati, collegare i fili ai motori con una piccola massa di saldatura.

Passaggio 3: collegare le ruote alla base

Attacca le ruote alla base
Attacca le ruote alla base

Quindi attacca le ruote alla piastra di base, puoi praticare dei fori nella base se necessario. Probabilmente scoprirai verso la fine del progetto che vuoi che i fili passino attraverso la base da qualche altra parte, ma puoi sempre praticare un nuovo foro e riposizionarli in seguito.

Passaggio 4: preparare il Pi

Preparare il Pi
Preparare il Pi

Ora prepara il PI. Ho usato un modello B+ con un dongle wifi USB. Ho usato l'immagine desktop completa basata su Debian Jessie che puoi scaricare dal sito Raspbian Pi. Vale la pena creare la scheda SD da zero e tenere a portata di mano l'immagine del disco poiché puoi ricominciare facilmente. Potrebbe essere necessario fare un po' di ricerche su Google per capire come creare l'immagine del disco sul PC. Ho creato la mia immagine usando Ubuntu in questo modo: fai clic con il pulsante destro del mouse sull'immagine del disco e seleziona "apri con il writer dell'immagine del disco". Scrivi l'immagine sulla scheda SD. L'immagine del disco è piuttosto piccola, quindi se hai una scheda SD più grande (es: 30 GB) puoi utilizzare un software di partizionamento come GParted per utilizzare tutto lo spazio disponibile. Una volta che hai capito come farlo, ci vogliono circa 5 minuti, e ne vale davvero la pena come se incasinassi il software, puoi semplicemente reinstallarlo di nuovo.

Passaggio 5: montare la scheda controller

Montare la scheda controller
Montare la scheda controller

Successivamente è necessaria una scheda di controllo del motore. Ho usato il kit di RyanTek. Viene fornito con un'eccellente guida alla saldatura, ma penso che tu possa anche averlo pre-saldato. Se non hai mai saldato prima, non preoccuparti, procedi lentamente e fai pratica prima di iniziare sulla scheda motore.

Ora, collega il pacco batteria (con 4 batterie AA) e i motori fino alla scheda controller, quindi collega la scheda controller ai pin GPIO del Pi. Anche in questo caso la scheda controller ti fornirà maggiori dettagli. Non preoccuparti di inserire i cavi del motore giusti negli slot giusti, purché non siano collegati agli slot di alimentazione CC. Non incollo o avvito il Pi o il pacco batteria sulla scheda Lego in quanto ciò ti dà maggiore flessibilità durante la progettazione del corpo Lego. Puoi anche cambiare facilmente il tuo design mentre procedi.

Passaggio 6: inizia a costruire il corpo Lego

Inizia a costruire il corpo Lego
Inizia a costruire il corpo Lego
Inizia a costruire il corpo Lego
Inizia a costruire il corpo Lego

Ora è il momento di costruire un po' di Lego. A questo punto puoi coinvolgere i bambini davvero piccoli, purché possano tenere in mano un pezzo di Lego! Abbiamo iniziato con un semplice alloggiamento quadrato finché tutto non funzionava, poi siamo diventati più avventurosi con il robot per cani. La cosa grandiosa qui è che puoi ricostruire il corpo del robot quanto vuoi. Inizia creando una casa per il Pi. Ricordati di lasciare spazio alle porte USB e ai cavi di alimentazione. Costruisci una buona dose di scioltezza in qualsiasi abitazione che costruisci. Va bene che le cose si muovano un po' e non si può essere troppo precisi con i Lego.

Abbiamo utilizzato le finestre Lego per fornire l'accesso alle porte USB di cui avrai bisogno in seguito.

Passaggio 7: preparare il Pi

È un buon momento ora per avviare il Pi e far muovere il robot.

Ho sviluppato il codice da utilizzare con questo progetto su Git hub. Le pagine Leggimi sull'hub git ti guidano attraverso le istruzioni su come installare tutto il software sul Pi, ma ti guiderò anche attraverso i passaggi qui.

Per prima cosa avvia il Pi, collegando il cavo di alimentazione. Dovrai collegare il cavo HDMI a una TV e utilizzare una tastiera e un mouse USB. La prima cosa è connetterti al tuo Wifi. lo fai facendo clic sull'icona in alto a destra del desktop Raspian e dimostrando i dettagli. Una volta connesso al Wifi puoi fare tutto il resto dalla riga di comando, quindi se preferisci puoi connetterti al Pi usando ssh, ma per ora, visto che siamo collegati a una TV, possiamo aprire un terminale dal desktop Raspian.

Passaggio 8: installare il software sul Pi

Apri il terminale sul Pi e digita i seguenti comandi.

sudo apt-get update

Questo aggiorna Raspian con il software più recente.

Quindi, installa il software della webcam

sudo apt-get install motion

È inoltre necessario configurare il movimento a questo punto. Ho elencato ciò che deve essere aggiornato in quali file nelle pagine di github. C'è anche un'istruzione su come far funzionare una webcam sul tuo Pi. Conosci le impostazioni e gioca con loro una volta che ti senti a tuo agio con la configurazione.

sudo apt-get install python-dev python-pip

Questo installa le librerie Python e anche il gestore di pacchetti software Python.

sudo pip install 'pubnub>=4.1.2'

Questo installa Pubnub, il software che gestisce la messaggistica tra la centrale e il tuo robot wireless.

Ci vuole un po' di tempo per installare questa parte quindi vai a prepararti una tazza di tè!!

Passaggio 9: installare il software del robot

Ora che hai installato tutti i bit e i pezzi del software dipendenti, è il momento di installare il codice necessario per eseguire il robot.

git clone

questo creerà una cartella lego-robot nella tua home directory.

Prima di poter eseguire il codice del robot, devi creare un account PubNub e ottenere una chiave di pubblicazione e sottoscrizione. puoi farlo seguendo le istruzioni per iniziare subito su PubNub. Una volta configurato, devi aprire i due file:

  • lego-robot/server/keys.py
  • lego-robot/client/keys.js

e sostituisci le chiavi pub e sub con le tue chiavi che puoi ottenere dalla dashboard di pubnub.

Nota che il valore del canale può essere qualsiasi cosa, purché corrisponda su client e server.

Passaggio 10: installare il software del controller e verificare che tutto funzioni

Installa il software del controller e verifica che tutto funzioni
Installa il software del controller e verifica che tutto funzioni
Installa il software del controller e verifica che tutto funzioni
Installa il software del controller e verifica che tutto funzioni

Su un PC, clona il codice dell'hub git nello stesso modo in cui abbiamo fatto sul robot.

git clone

Potresti non avere git installato sul tuo PC. In caso contrario, segui le istruzioni su git hub.

Hai anche la possibilità di scaricare il codice come file zip, anche se consiglierei di installare GIT e copiare i file clonando il repository.

dovrai aggiornare il file lego-robot/client/keys.js con le tue chiavi di pubblicazione e sottoscrizione personali.

Quando hai finito, apri il file lego-robot/client/buttons.html in un browser web. Ora dovresti essere in grado di controllare il tuo robot utilizzando i pulsanti di controllo.

Il diagramma sopra mostra cosa sta succedendo:

  • Quando fai clic su un pulsante, viene inviato un messaggio a pubnub (utilizzando la tua chiave di pubblicazione)
  • PubNub quindi inoltra al robot che…
  • È in ascolto (usando il tasto di iscrizione) per i messaggi
  • Il robot si traduce quindi in un'azione.

Ho usato pubNub perché è gratuito, veloce (in tempo reale) e semplifica enormemente l'invio e la ricezione di messaggi utilizzando un'API davvero carina.

Puoi scavare nel codice client e server e vedere i messaggi inviati utilizzando semplici tasti come "avanti" e "indietro".

C'è anche un controller in stile joystick su lego-robot/client/joystick.html.

Migliorerò questi controller e ne aggiungerò sempre di nuovi, quindi se vuoi aggiornare il software, puoi usare il comando "git pull". Sentiti anche libero di contribuire al repository git e creare controlli più user friendly.

Ora sei pronto per verificare che il movimento funzioni correttamente. Sul terminale Pi, cambia directory in lego-robot/server e digita:

sudo python robot.py

questo avvia uno script Python per ascoltare i messaggi in arrivo da Pubnub.

Ora prova a premere alcuni pulsanti sul controller, dovresti vedere queste risposte ricevute sul terminale Pi (come mostrato nell'immagine sopra) e il robot.py traduce questi messaggi in movimenti mappandoli ai segnali sul GPIO Pi.

Dovresti essere in grado di spostare il robot.

Passaggio 11: preparare la webcam e le luci LED

Preparare la webcam e le luci LED
Preparare la webcam e le luci LED
Preparare la webcam e le luci LED
Preparare la webcam e le luci LED

Puoi usare qualsiasi webcam compatibile con Linux (la maggior parte di esse lo è). Ne sceglierei uno di fascia media (circa £ 15) poiché ne ho provato uno davvero economico e non sono riuscito a ottenere alcun tipo di immagine chiara da esso. Il primo passo è smontare la webcam in modo da avere solo la scheda e la fotocamera di base.

Se vuoi installare le luci, prendi una luce a LED e collega due cavi di salto a ciascun terminale. Ho usato cavi di salto che hanno un terminale femmina a un'estremità in modo da poterlo collegare facilmente ai pin Pis GPIO in un secondo momento. L'altra estremità del filo è necessario spelare, per rimuovere il terminale. Puoi saldare anche qui per creare una connessione sicura. Ho anche usato della pellicola termoretraibile, che puoi usare per coprire ogni filo, anche se non mi preoccuperei di farne un lavoro troppo buono finché non sei felice che tutto funzioni, quindi puoi finire e migliorare. È anche una buona idea usare un resistore per impedire al LED di bruciare.

C'è una guida dettagliata qui che spiega come cablare i LED.

Come mostra l'immagine, uso un blocco Lego con un foro per montare facilmente il LED sulla testa del robot.

Passaggio 12: crea la testa con il naso-cam e le luci

Crea la testa con il naso-cam e le luci
Crea la testa con il naso-cam e le luci
Crea la testa con il naso-cam e le luci
Crea la testa con il naso-cam e le luci
Crea la testa con il naso-cam e le luci
Crea la testa con il naso-cam e le luci

Crea un alloggiamento per la testa della fotocamera. Non sarò troppo specifico qui perché è tempo che tu sia creativo. Tuttavia è necessario costruire attorno alla fotocamera. Dog bot integra la fotocamera nel suo naso e ha gli occhi come LED. Assicurati di lasciare un foro nella parte posteriore della testa per far uscire i fili.

Passaggio 13: completare il corpo

Completa il corpo
Completa il corpo
Completa il corpo
Completa il corpo
Completa il corpo
Completa il corpo

Ora sei felice che il robot per cani si stia sostanzialmente muovendo, puoi creare un alloggiamento per i pacchi batteria. Ho usato un pacco di 4 batterie AA (fornite con le ruote e la base) e un pacco di caricabatterie per telefono di emergenza. Le batterie AA sono per i motori DC per le ruote e il pacco per telefoni cellulari è per il Pi. È una buona idea rendere le batterie facilmente accessibili poiché dovrai accedervi per la ricarica e la sostituzione.

Una volta che sei felice, metti un tetto sul Pi. Non mi preoccupo troppo di nascondere i fili e i circuiti, poiché fa parte dell'immagine dei robot. Comunque dipende tutto da te a questo punto. Potresti voler considerare quanto sta diventando pesante il tuo bot, più pesante è più lento si muove.

Passaggio 14: montare la testa

Montare la testa
Montare la testa
Montare la testa
Montare la testa
Montare la testa
Montare la testa

È tempo di collegare tutto.

Collega il cavo USB della webcam alla parte anteriore del bot, utilizzando i fori di accesso che hai creato. Puoi fissare il cavo al robot creando degli alloggi Lego. Ho anche accorciato il cavo USB tagliandolo e risaldandolo, ma fallo solo se hai davvero voglia di saldare 4 piccoli fili insieme. Potrebbe essere più semplice acquistare un cavo USB corto e ricollegarlo al retro della fotocamera.

È inoltre necessario collegare le luci a LED ai pin GPIO Pis non occupati dal controller della scheda motore. Questi sono i pin GPIO 20 e 21 e i due pin di massa di riserva nelle vicinanze. Utilizzare i perni di massa di riserva nelle vicinanze. Se la luce non funziona, prova a cambiare massa con l'uscita GPIO. Per capire quali pin connettere a google un buon diagramma GPIO.

Passaggio 15: testare i LED e la camma nasale

Prova i LED e la Nose Cam
Prova i LED e la Nose Cam

Per avviare il tipo di software della webcam:

sudo motion

Assicurati anche di aver avviato lo script robot.py (come descritto nelle istruzioni precedenti):

sudo python robot.py

Ora dovresti essere in grado di utilizzare l'interruttore delle luci sul controller per accendere e spegnere le luci.

La web cam dovrebbe trasmettere sul tuo indirizzo IP Pis sulla porta 8080, quindi ad esempio digita quanto segue nel tuo browser web.

192.168.1.2:8081

Ho trovato l'indirizzo IP Pi accedendo al mio router come amministratore e guardando i dispositivi collegati. Le istruzioni su come eseguire questa operazione si trovano solitamente sul retro del router o fare riferimento alle istruzioni del router online.

è possibile esplorare le impostazioni di configurazione del software di movimento, come descritto nel passaggio precedente. Trovo che a volte lo streaming si interrompa, ma generalmente funziona bene.

Puoi accedere a questo flusso video da qualsiasi dispositivo che esegue un browser connesso alla tua rete Wi-Fi.

Passaggio 16: concludere

Accesso in linea

Ora dovresti essere in grado di controllare il robot da un browser su un PC. Tuttavia è bello poter controllare il bot da qualsiasi dispositivo touch come Ipad o telefono.

Per fare ciò è necessario ospitare i file del client (buttons.html ecc.) su un server web.

Ho iniziato installando un server web sul Pi, che funziona bene. Tuttavia è più semplice caricare il file HTML su qualsiasi altro server web. Ho semplicemente copiato il file HTML sul mio account host blu pubblico. Potresti voler proteggere l'accesso a questi file in quanto contengono le sottochiavi pub per il tuo canale nub pub. Una volta fatto questo puoi accedere al controller da qualsiasi dispositivo, anche da fuori casa.

Avvio automatico

Un'altra cosa utile da fare è aggiornare lo script \etc\rc.local sul tuo Raspberry Pi; aggiungendo queste due righe:

  • sudo motion
  • nohup sudo python /home/pi/lego-robot/server/robot.py &

Questi verranno eseguiti ogni volta che il Pi si avvia, quindi non è necessario eseguire il comando manualmente.

Passaggio 17: divertiti

Divertiti !
Divertiti !

È tutto.

Sentiti libero di lasciare commenti se rimani bloccato e se vuoi migliorare uno qualsiasi dei software, per favore contribuisci al repository github. Continuerò a lavorare su questo progetto ed ecco alcune idee:

  • Un controller in stile "big trak" in cui programmi una sequenza di comandi come "left 10, forward 6, back 2…" e poi premi "run" e il robot esegue i comandi.
  • Un collo inclinabile, così puoi guardare in alto con la webcam
  • Un altoparlante che traduce il testo dal controller al parlato
  • Controllo vocale

Saluti

Peter

Consigliato: