Taula de continguts:

Raspberry Pi 3 FPV Lego Tank: 5 passos (amb imatges)
Raspberry Pi 3 FPV Lego Tank: 5 passos (amb imatges)

Vídeo: Raspberry Pi 3 FPV Lego Tank: 5 passos (amb imatges)

Vídeo: Raspberry Pi 3 FPV Lego Tank: 5 passos (amb imatges)
Vídeo: Build a Raspberry Pi RC Tank driven by an 8BitDo Controller - GoBILDA Outlaw Chassis Kit Assembly 2024, Desembre
Anonim
Raspberry Pi 3 FPV Lego Tank
Raspberry Pi 3 FPV Lego Tank

Lego és ideal per ensenyar als nens sobre com funcionen les coses i deixar-los divertir alhora. Sé que sempre em va agradar "jugar" amb el lego quan era petit. Aquest instructiu descriu com vaig construir un tanc FPV (First Person View) amb lego i un Raspberry Pi 3 (Raspi 3). He intentat que sigui el més senzill possible, només el pas on adapteu els motors per treballar amb lego requereix eines i una mica d'habilitat.

El tanc utilitza bàsicament dos motors, de manera que si no voleu un dipòsit podeu fabricar un robot tipus Romba, la construcció serà diferent, però el cablejat i els programes seran exactament els mateixos.

### Aquest projecte és bàsicament la versió 1, de manera que si voleu millorar-lo (de la qual hi ha molt espai per fer), deixeu un comentari. També estarà disponible tot el codi, a la meva pàgina de Github, hi ha enllaços en els passos

Coses que necessitareu:

  • Alguns Lego, he utilitzat un camió Lego Technic Arctic que tenia al voltant. Utilitzeu la vostra imaginació, però, aquest conjunt tenia pistes i tot per fer que funcionessin, de manera que va ser bo per a aquest projecte.
  • Un Raspberry Pi, he utilitzat un Raspberry Pi 3 perquè és el que tenia, si teniu un model diferent, podríeu fer que funcioni, però els pins GPIO seran diferents.
  • Una targeta micro SD amb Raspian instal·lat per al Raspi 3.
  • Una càmera Pi, Adafruit ven uns quants, així com diferents cables de cinta de diverses longituds. Una mina que va comprar a Aliexpress, tenia una lent d’ull de peix i era barata. És possible que pugueu utilitzar una càmera web, però una càmera Pi no funciona.
  • Un banc d’alimentació USB per alimentar el Raspi 3, crec que el meu costa 8 dòlars, el seu 2000 mAh fa funcionar el Raspi 3 durant un temps.
  • Una bateria per alimentar els motors, vaig fer servir una bateria que vaig treure d’un cotxe RC barat, que té 7,2 volts, 500 mAh i es pot recarregar, de manera que funciona bastant bé. Una bateria de 9V seria bona, però també necessitareu un connector.
  • Cables jumper, per connectar pins GPIO junts, com a mínim 5 femella a femella.
  • L298N Board Driver Board, són bastant barats i us permeten controlar els motors per separat. Aquests també són bastant estàndard per a aquest tipus d'aplicacions.
  • 2 x motor de caixa de canvis DC, aquests d'Adafruit són bons, el mateix es pot comprar també a Aliexpress

Divers

  • Cinta d'escuma de doble cara
  • filferro
  • reduir la calor
  • cinta
  • bandes de goma
  • cable micro USB

Si heu d'adaptar els motors de la caixa de canvis de CC com jo, necessitareu:

  • tallador de caixes
  • dremel amb fulla de serra circular
  • mini arxius
  • Epoxi de 5 minuts

També necessitareu el vostre propi PC / portàtil per controlar i programar el Raspi 3.

Pas 1: construeix el tanc

Construeix el tanc
Construeix el tanc
Construeix el tanc
Construeix el tanc
Construeix el tanc
Construeix el tanc

Per tant, aquestes no són instruccions perquè aquest pas hauria de ser realment el vostre propi disseny. Parlaré d'algunes de les coses que vaig haver de tenir en compte a l'hora de construir això, però la veritable diversió rau en esbrinar-ho per vosaltres mateixos (com el Lego real). Utilitzeu les fotos si són útils, he trigat a desenvolupar aquest disseny, al final, el camí senzill va ser el millor.

  1. Construeix primer els eixos posteriors

    1. i assegureu-vos de deixar suficient espai per als motors i fer-los prou amplis perquè els components hi cabin. Volia que el meu fos bastant ampli, ja que volia que tot estigués dins dels eixos, cosa que permetia que el tanc estigués força baix i pogués perseguir el gat.
    2. Les rodes de les vies aquí tenen un forat que s’adapta a un eix transversal de Lego, així que tingueu en compte que aquí és on muntaran els vostres motors.
    3. Necessiteu prou espais per a la pista del darrere i del darrere. Podeu notar a la imatge 2 que els peices "L" no són semètrics, això permet permetre la sala de pista. Originalment els tenia semetrics, però la pista continuava fregant-se i en un moment donat es va encallar i va trencar l'adaptador del motor.
  2. Un cop tingueu els eixos construïts, podreu connectar-los

    1. utilitzant bits llargs amb suports creuats a intervals regulars. Assegureu-vos que espaceu els suports creuats perquè els components s’adaptin entre ells, cosa que us ajudarà a mantenir un perfil baix.
    2. la longitud es determinarà en funció de la pista que tingueu. Aquesta pista no té tram, de manera que cal una mica de folga. Si teniu una pista de goma la podeu fer més estreta. També una roda de rodatge és una bona idea, però en general no cal.
    3. Aquest pas va ser senzill i implica una mica d'assaig i error.
  3. Els motors s’enganxen bàsicament amb cinta adhesiva d’escuma de doble cara, de manera que proporcionen una gran superfície per poder-los enganxar.
  4. El muntatge de la càmera que he fet és bastant brossa, definitivament hauríeu d’intentar fer-ne el vostre. M’agrada poc, ja que sembla que viatges ràpidament per la càmera. Aquest seria un lloc fantàstic per actualitzar amb un servo o dos per fer la càmera mòbil.

Esperem que aquestes notes siguin útils. Vaig construir aquesta cosa abans d'escriure l'instrumentable i dubto una mica a separar-la ara que ja va. Realment crec que es pot fer un millor disseny, de manera que crec que el vostre propi desenvolupament seria el millor. Deixeu un comentari si voleu que el converteixi en una guia completa, si hi ha prou demanda ho faré.

Pas 2: Adaptador de motor de caixa de canvis DC a Lego

Adaptador de motor de caixa de canvis DC a Lego
Adaptador de motor de caixa de canvis DC a Lego
Adaptador de motor de caixa de canvis DC a Lego
Adaptador de motor de caixa de canvis DC a Lego
Adaptador de motor de caixa de canvis DC a Lego
Adaptador de motor de caixa de canvis DC a Lego

De nou, ho vaig fer abans d’escriure i no vaig fer cap foto. Crec que hi ha un munt de tutorials diferents que fan això. Adafruit realment ven un adaptador, aquesta és la millor manera, a més de que no necessiteu destruir els muntatges del motor. Estic a Nova Zelanda, així que Adafruit no està disponible, però el bricolatge sí:-). Això és el que vaig fer (perdó pels mals diagrames):

  1. Prepareu totes les vostres eines, tallarem plàstic, de manera que no serà gens difícil. Vaig fer servir un parell d’ulleres de taller perquè personalment odio les petites peces de plàstic per sobre dels globus oculars. També vaig fer servir una d’aquestes taules de tallar de color verd per no embolicar la meva taula.
  2. Per tant, el diagrama mostra una vista superior i lateral. Bàsicament, el gris és la petita part blanca del motor de la caixa de canvis de CC i el vermell és on tallem. El vermell a la vista superior se suposa que és una secció transversal per a un eix transversal de Lego. Eliminarem aquest material perquè l'eix s'adapti perfectament a l'interior. Proveu de tallar-lo tan a prop del centre com sigui possible i gairebé a la part inferior. Vaig començar primer tallant aproximadament amb la punta de la serra circular al dremel, després un afaitat començat de trossos amb un tallador de caixes fins que vaig tenir un ajust perfecte.
  3. Un cop tingueu aquesta mica tallada i l'eix quedi més o menys recte (hauria de semblar una estranya plegada a mitja forquilla), podeu fer epoxi a l'eix transversal de Lego. Abans d'aplicar qualsevol epoxi, assegureu-vos d'aplicar cinta adhesiva sobre la caixa groga del motor de manera que no hi pugueu accedir de forma intensa a l'eix a la caixa. Barregeu bé l’epoxi de 5 minuts i apliqueu una capa gruixuda sobre la punta blanca i l’eix transversal, busquem una capa de 1-2 mm de gruix. L'epoxi de 5 minuts es fa inadequat i inutilitzable bastant ràpidament, així que treballeu ràpidament aquí.
  4. Un cop tingueu un abric desent i l'epoxi no funciona, hauríeu d'acabar. Funciona una mica, així que només cal anar amb compte. Un cop ajustat a una consistència similar a la goma, podeu eliminar fàcilment qualsevol excés d'epoxi, així és com vaig obtenir un bon extrem pla al meu.
  5. Deixeu-lo assecar durant la nit i hauríeu de tenir un motor de caixa de canvis Lego DC al matí

Pas 3: cablejar-lo

Cablejant-lo
Cablejant-lo
Cablejant-lo
Cablejant-lo
Cablejant-lo
Cablejant-lo

El cablejat d’aquest projecte és bastant senzill. Utilitzarem els 4 cables de pont femella a femella per connectar els nostres pins GPIO al controlador del motor L298N i un cable de pont masculí a femella per connectar la terra del Raspi 3 a la terra del controlador del motor L298N. També utilitzarem algun cable per connectar els motors al controlador del motor L298N.

Decideixo utilitzar aquesta combinació de pins al Raspi perquè estan agrupats. No dubteu a utilitzar qualsevol conjunt de pins GPIO i GND. Només recordeu canviar-lo al codi.

Podeu utilitzar el diagrama de cablejat o seguir els passos següents:

Raspi 3 L298N

GND (pin 14) GND

GPIO27 (pin 13) IN1

GPIO22 (pin 15) IN2

GPIO23 (pin 16) IN3

GPIO24 (pin 18) IN4

Per als motors i la forma en què es munten, els vaig connectar d’aquesta manera.

Out2, Out3 negatiu

Out1, Out4 positiu

Essencialment negatiu va ser cap a l'esquena i positiu va ser cap endavant. Si els obteniu a l’inrevés, el tanc només circula en la direcció oposada que és fàcil de solucionar al programari.

Pas 4: la programació

Per tant, per a aquest pas haurem de configurar algunes coses si encara no ho heu fet.

  • Raspian
  • Python 2 o 3
  • Git
  • Streamer MJPG

Instal·lació de Raspian

En primer lloc, hem de tenir Raspian en una targeta micro SD, de manera que tingueu preparada una SD formatada d'almenys 8 GB (també podeu instal·lar NOOBS lite si només teniu una targeta de 4 GB).

Per instal·lar Raspian, recomanaria utilitzar NOOBS. L’enllaç oficial és aquí. Descarregueu el fitxer zip al vostre PC i extraieu-los a la targeta SD. Assegureu-vos que els fitxers i les carpetes hi siguin i que no estiguin dins d’una carpeta de noobs.

Un cop fet això, connecteu la targeta SD al Raspi 3, connecteu una pantalla (un televisor amb HDMI funciona bé si no teniu monitor) i un teclat i un ratolí.

Hauríeu de veure la càrrega de la pantalla d’instal·lació, connectar-vos al wifi (és necessari el wifi perquè aquest projecte funcioni) i instal·lar-ho, només faig servir la configuració predeterminada perquè funcionen bé.

Configuració per al mode sense cap

Així, un cop instal·lat Raspian i iniciat la sessió al Raspi 3, podeu començar a configurar el Raspi 3 perquè s’executi en mode sense cap (és a dir, utilitzeu SSH en lloc d’una pantalla i teclat). Només cal que utilitzeu sudo, així que assegureu-vos de conèixer la contrasenya d’arrel.

Obriu un terminal i escriviu 'sudo raspi-config', hauríeu de tenir una pantalla blava i gris com a les imatges. Aneu a "Opcions d'interfície", premeu Intro i, a continuació, moveu a "P2 SSH", premeu Intro i torneu a entrar per "sí", de nou per a "bé".

Ara torneu a les "opcions d'interfície" i activeu la càmera.

De tornada al menú, premeu la dreta i entreu per seleccionar "finalitzar".

A continuació, hem de trobar la nostra adreça IP; podeu fer-ho escrivint "ifconfig" al terminal. Cerqueu el bloc que comença per wlan0 (normalment l’últim) i anoteu la vostra adreça IP. Hauria d’estar a la segona línia i tenir un aspecte semblant a aquest 192.168.1. XX si utilitzeu el wifi de casa.

Fantàstic que és el final de la configuració

Instal·lació de programari addicional

Per tant, per executar els scripts que tinc, haureu d’instal·lar Python 2 o 3. Si voleu aprendre Python, us recomanaria aprendre Python 3, les diferències són menors, però Python 3 és ara més utilitzat. Hauria de venir preinstal·lat amb Raspian, però hauríem de comprovar-ho de nou.

Escriviu 'python --version', hauríeu d'obtenir una sortida com 'Python 2.7.13', que vol dir que teniu instal·lat Python 2. Per comprovar si teniu python 3 només heu d'escriure 'python3 --version' i hauríeu d'obtenir una sortida similar. Si no teniu python 2 o 3, podeu escriure 'sudo apt-get install python' o 'sudo apt-get install python3', respectivament.

També necessitareu Git per obtenir el codi, de nou, s’hauria de preinstal·lar. Escriviu 'git --version' per comprovar i utilitzar 'sudo apt-get install git' si no el teniu.

Instal·lació de MJPG-Streamer

MJPG-Streamer és una de les maneres d’accedir a la Picamera. Permet accedir a la càmera mitjançant un navegador i manipular la imatge. Probablement sigui la forma més agradable i senzilla d’utilitzar la càmera si no us sentiu còmode amb el codi.

  1. De nou utilitzarem Git. Escriviu 'git clone https://github.com/jacksonliam/mjpg-streamer.git' al terminal Raspi 3. El programari es descarregarà, no triga massa.
  2. Probablement el millor que cal fer en aquest moment és mirar el fitxer 'README.md' i seguir les instruccions d'instal·lació. Van treballar perfectament per a mi. Si teniu cap pregunta, deixeu-los als comentaris i intentaré ajudar-vos

Un cop instal·lat el podeu executar. Seguiré com ho faig a continuació.

Unint-ho tot

Molt bé, ara hauríem d’estar preparats. Assegureu-vos que el Raspi 3 estigui encès. Al vostre ordinador o portàtil, obriu un terminal (suposo que utilitzeu Linux o Mac, si utilitzeu Windows haureu de descarregar massilla. Hi ha molts tutorials en línia sobre com utilitzar-lo, no us preocupeu, és fàcil) i escriviu 'ssh [email protected]. XX (suposant que no heu canviat el nom d'usuari per defecte) o quina ha estat la vostra adreça IP que hem trobat anteriorment. Escriviu la vostra contrasenya (definitivament no hauria de ser la predeterminada). Genial, ara esteu en una sessió de terminal al Raspi 3 a través del vostre PC / portàtil.

Per tant, al terminal escriviu 'git clone https://github.com/astrobenhart/Raspi-3-FPV-Lego-T … Això només hauria de trigar uns segons, ja que els fitxers són realment petits. A continuació, podeu navegar al directori mitjançant 'cd Raspi-3-FPV-Lego-Tank', ara escriviu 'ls' i assegureu-vos de veure aquests 5 fitxers: 'demo.py', 'drive.py', 'Picamera_tank. py, 'finished.jpg' i 'README.md'. Assegureu-vos que mireu el readme per obtenir actualitzacions.

demo.py

Aquest script py és ideal per provar que el cablejat funcioni. Simplement passa per diferents combinacions de conduir els motors cap enrere i cap endavant.

utilitzeu 'python demo.py' per executar-lo. Es triga mig minut aproximadament a completar-se.

drive.py

Aquest és el script py que executareu per controlar el tanc. Configura el mapatge de pins GPIO i crea defs per al moviment. També captura premses de tecles per controlar el tanc.

Utilitzeu 'python drive.py' per executar-lo. Dóna-li un segon, el terminal hauria de quedar en blanc.

utilitzeu 'w, a, s, d' per moure-us i la barra espaiadora per aturar-vos. Quan estigueu a punt per tancar el programa, premeu 'n'.

Picamera_tank.py

Aquesta és la meva versió d’un streamer per a la càmera. Això només s'executa amb python 3 (és a dir, utilitzeu 'python3 Picamera_tank.py' per executar-lo). Això es pot executar en una segona finestra del terminal o podeu prémer Ctrl-Z i escriure bg per executar-lo en segon pla al mateix terminal. Personalment, m'agrada utilitzar un terminal separat.

No hauríeu d’instal·lar res addicional, però si feu servir pip. Si teniu problemes, deixeu un comentari.

Una vegada que s’executi al Raspi 3, inicieu sessió al navegador del vostre PC / portàtil i aneu a 192.168.1. XX: 8000 (la IP que hem trobat anteriorment). Hauríeu de veure la sortida de la càmera. Si cal girar la imatge, haureu d’editar l’escriptura py. Prop de la part inferior hi ha un comentari, a continuació introduïu els graus de rotació que necessiteu. Per a mi eren 180, ja que la meva càmera està capgirada.

Per executar MJPG-Streamer

Per executar MJPG-Streamer, navego a 'mjpg-streamer / mjpg-streamer-experimental' i executo './mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so -hf"'.

Un cop executat, aneu a 192.168.1. XX: 8080 (la IP que hem trobat anteriorment) i feu clic a streaming. Juga amb les altres opcions, que et poden ser útils.

I ja està. Ara hauríeu de ser capaç de conduir el vostre propi tanc FPV allà on pugueu obtenir la vostra connexió wifi. Diverteix-te.

Pas 5: producte acabat

I aquí teniu un vídeo que funciona.

Només cal tenir en compte que tinc el Raspi 3 endollat al portàtil per alimentar-lo al vídeo, ja que el banc d’energia es va esgotar durant algunes proves. Va durar gairebé una hora, cosa que em va agradar molt.

Si us plau, deixeu comentaris i espero que us agradi fer aquest Raspberry Pi 3 FPV Lego Tank si ho proveu.

Gràcies, Ben

Recomanat: