Tabla de contenido:
- Paso 1: construye el tanque
- Paso 2: Motor de caja de cambios de CC a adaptador Lego
- Paso 3: cableado
- Paso 4: la programación
- Paso 5: Producto terminado
Video: Tanque Lego Raspberry Pi 3 FPV: 5 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Lego es ideal para enseñarles a los niños cómo funcionan las cosas mientras les permite divertirse al mismo tiempo. Sé que siempre me gustó "jugar" con lego cuando era niño. Este instructivo describe cómo construí un tanque FPV (Vista en primera persona) con lego y una Raspberry Pi 3 (Raspi 3). Traté de mantenerlo lo más simple posible, solo el paso en el que adaptas los motores para trabajar con lego requiere herramientas y un poco de habilidad.
El tanque básicamente usa dos motores, por lo que si no quieres un tanque, puedes hacer un robot tipo Romba, la construcción será diferente pero el cableado y los programas serán exactamente los mismos.
### Este proyecto es básicamente una versión 1, así que si quieres mejorarlo (de lo cual hay mucho espacio por hacer), deja un comentario. Además, todo el código estará disponible, en mi página de Github, los enlaces están en los pasos
Cosas que necesitará:
- Un poco de Lego, utilicé un Lego Technic Arctic Truck que tenía por ahí. Sin embargo, use su imaginación, este set tenía pistas y todo para hacer que funcionen, así que fue bueno para este proyecto.
- Una Raspberry Pi, usé una Raspberry Pi 3 porque eso es lo que tenía, si tiene un modelo diferente, es posible que pueda hacerlo funcionar, pero los pines GPIO serán diferentes.
- Una tarjeta micro SD con Raspian instalado, para Raspi 3.
- Adafruit, una cámara Pi, vende algunos cables planos y diferentes de varias longitudes. Una mía comprada en Aliexpress, tiene una lente ojo de pez y era barata. Es posible que pueda usar una cámara web, pero una cámara Pi funciona desde el primer momento.
- Un banco de energía USB para alimentar el Raspi 3, creo que el mío cuesta $ 8, sus 2000 mah, por lo que ejecuta el Raspi 3 por un tiempo.
- Una batería para alimentar los motores, usé una batería que saqué de un auto RC barato, es de 7.2 voltios, 500 mah y recargable, por lo que funciona bastante bien. Una batería de 9 V estaría bien, pero también necesitará un conector.
- Cables de puente, para conectar pines GPIO juntos, al menos 5 hembra a hembra.
- Placa de controlador de motor L298N, estos son bastante baratos y le permiten controlar los motores por separado. Estos también son bastante estándar para este tipo de aplicación.
- 2 x motor de caja de cambios DC, estos de Adafruit son buenos, el mismo exacto también se puede comprar en Aliexpress
Diverso
- Cinta de espuma de doble cara
- cable
- termorretráctil
- cinta
- bandas de goma
- cable micro USB
Si va a adaptar los motores de la caja de cambios de CC como lo hice yo, necesitará:
- cortador de cajas
- dremel con hoja de sierra circular
- mini archivos
- Epoxi de 5 minutos
También necesitará su propia PC / computadora portátil para controlar y programar la Raspi 3.
Paso 1: construye el tanque
Entonces, estas no son realmente instrucciones porque este paso realmente debería ser su propio diseño. Hablaré sobre algunas de las cosas que tuve que considerar al construir esto, pero la verdadera diversión radica en descubrirlo por ti mismo (al igual que el Lego real). Use las fotos si son útiles, me tomó mucho tiempo desarrollar este diseño, al final, el camino simple fue el mejor.
-
Primero construya los ejes traseros
- y asegúrese de dejar suficiente espacio para los motores y hacerlos lo suficientemente anchos para que quepan los componentes en su interior. Quería que el mío fuera bastante ancho, ya que quería que todo se sentara dentro de los ejes, esto permitió que el tanque estuviera bastante bajo y encajara debajo de las cosas y persiguiera al gato.
- Las ruedas de las pistas aquí tienen un orificio que se adapta a un eje transversal de Lego, así que tenga en cuenta que aquí es donde se montarán sus motores.
- Necesita suficiente espacio para la pista en la parte trasera y delantera. Puede observar en la imagen 2 que las piezas en "L" no son semétricas, esto es para dejar espacio a la pista. Originalmente los tenía semétricos, pero la pista seguía frotando y en un momento se atascó y rompió el adaptador del motor.
-
Una vez que tenga los ejes construidos, puede conectarlos
- utilizando brocas largas con soportes cruzados a intervalos regulares. Asegúrese de espaciar los soportes transversales para que los componentes quepan entre ellos, esto ayuda a mantener un perfil bajo.
- la longitud vendrá determinada por la cantidad de pistas que tenga. Esta pista no tiene estiramiento, por lo que se necesita un poco de holgura. Si tiene una oruga de goma, puede hacerla más ajustada. También una rueda para correr es una buena idea, pero en general no es necesaria.
- Este paso fue insignificante y sencillo y solo implica un poco de prueba y error.
- Los motores están esencialmente pegados con cinta de espuma de doble cara, por lo que proporcionan una gran superficie para que se peguen.
- El soporte de la cámara que hice es bastante basura, definitivamente deberías intentar hacer el tuyo propio. Me gusta lo bajo porque parece que estás viajando rápido con la cámara. Este sería un lugar genial para actualizar con uno o dos servos para hacer que la cámara se mueva.
Esperamos que estas notas sean útiles. Construí esto antes de escribir el instructivo y estoy un poco indeciso en separarlo ahora que está funcionando. Realmente creo que se puede hacer un mejor diseño, así que creo que tu propio desarrollo sería lo mejor. Deja un comentario si quieres que lo convierta en una guía completa, si hay suficiente demanda lo haré.
Paso 2: Motor de caja de cambios de CC a adaptador Lego
Nuevamente, hice esto antes de escribir y no tomé ninguna foto. Creo que hay un montón de tutoriales diferentes que hacen esto. Adafruit realmente vende un adaptador, esta es la mejor manera, además de que no necesita destruir los soportes de su motor. Sin embargo, estoy en Nueva Zelanda, por lo que Adafruit no está disponible, pero el bricolaje sí:-). Esto es lo que hice (perdón por los diagramas incorrectos):
- Prepara todas tus herramientas, vamos a cortar plástico, así que esto no será muy difícil. Usé un par de anteojos de taller porque personalmente odio los pedazos pequeños de plástico en mis ojos. También usé una de esas tablas de cortar verdes para no estropear mi mesa.
- Entonces, el diagrama muestra una vista superior y lateral. Básicamente, el gris es la pequeña parte blanca en el motor de la caja de cambios de CC y el rojo es donde cortamos. Se supone que el rojo en la vista superior es una sección transversal de un eje transversal de Lego. Vamos a quitar ese material para que el eje encaje perfectamente en el interior. Intente cortar esto lo más cerca posible del centro y casi hasta la parte inferior. Comencé cortando de manera aproximada con la broca de sierra circular en mi dremel, luego comencé a afeitar las brocas con un cortador de cajas hasta que tuve un ajuste perfecto.
- Una vez que haya cortado la broca y el eje se ajuste más o menos recto (debería verse como un extraño doblado en medio tenedor), puede aplicar epoxi al eje transversal de Lego. Antes de aplicar cualquier epoxi, asegúrese de aplicar cinta adhesiva sobre la caja amarilla. del motor para que no se adhiera internamente el eje a la carcasa. Mezclar bien el epoxi de 5 minutos y aplicar una capa gruesa sobre la broca blanca y el eje transversal, buscamos una capa de 1-2 mm de espesor. El epoxi de 5 minutos se vuelve pegajoso e inutilizable con bastante rapidez, así que trabaje rápido aquí.
- Una vez que tenga una capa seca y el epoxi no se esté ejecutando, debe terminar. Corre un poco, así que ten cuidado. Una vez que tenga una consistencia similar a la goma, puede recortar fácilmente cualquier exceso de epoxi, así es como obtuve un bonito extremo plano en el mío.
- Déjelo secar durante la noche y debería tener un motor de caja de cambios de CC de Lego por la mañana
Paso 3: cableado
El cableado de este proyecto es bastante simple. Usaremos los 4 cables de puente hembra a hembra para conectar nuestros pines GPIO al controlador de motor L298N y un cable de puente macho a hembra para conectar la tierra del Raspi 3 a la tierra del controlador de motor L298N. También usaremos algún cable para conectar los motores al controlador de motor L298N.
Elijo usar esta combinación de pines en la Raspi porque están agrupados. Sin embargo, siéntase libre de usar cualquier conjunto de pines GPIO y GND. Solo recuerda cambiarlo en el código.
Puede utilizar el diagrama de cableado o seguir los pasos a continuación:
Raspi 3 L298N
GND (patilla 14) GND
GPIO27 (pin 13) IN1
GPIO22 (pin 15) IN2
GPIO23 (pin 16) IN3
GPIO24 (patilla 18) IN4
Para los motores y la forma en que están montados, los conecté de esta manera.
Out2, Out3 negativo
Out1, Out4 positivo
Esencialmente negativo fue hacia atrás y positivo fue hacia adelante. Si los obtiene al revés, el tanque simplemente se mueve en la dirección opuesta, lo que es fácil de arreglar en el software.
Paso 4: la programación
Entonces, para este paso, necesitaremos configurar algunas cosas si aún no lo ha hecho.
- Raspian
- Python 2 o 3
- Git
- MJPG-Streamer
Instalación de Raspian
En primer lugar, necesitamos tener Raspian en una tarjeta micro SD, así que tenga lista una SD formateada de al menos 8GB (también puede instalar NOOBS lite si solo tiene una tarjeta de 4GB).
Para instalar Raspian, recomendaría usar NOOBS. El enlace oficial está aquí. Descargue el archivo zip en su PC y extraiga los archivos en la tarjeta SD. Asegúrese de que los archivos y carpetas estén ahí y no dentro de una carpeta noobs.
Una vez que haya hecho esto, conecte la tarjeta SD a la Raspi 3, conecte una pantalla (un televisor con HDMI funciona bien si no tiene un monitor) y un teclado y un mouse.
Debería ver la pantalla de instalación cargar, conectarse a wifi (se necesita wifi para que este proyecto funcione) e instalar, solo uso la configuración predeterminada ya que funcionan bien.
Configuración para el modo sin cabeza
Entonces, una vez que Raspian esté instalado y haya iniciado sesión en Raspi 3, puede comenzar a configurar Raspi 3 para que se ejecute en modo sin cabeza (es decir, use SSH en lugar de una pantalla y un teclado). Solo una nota: necesitará usar sudo, así que asegúrese de conocer la contraseña de root.
Abra una terminal y escriba 'sudo raspi-config', debería tener una pantalla azul y gris como en las imágenes. Vaya a 'Opciones de interfaz', presione enter, luego muévase a 'P2 SSH' presione enter y vuelva a ingresar para 'sí', nuevamente para 'ok'.
Ahora regrese a 'opciones de interfaz' y habilite la cámara.
De vuelta en el menú, presione a la derecha e ingrese para seleccionar 'finalizar'.
A continuación, necesitamos encontrar nuestra dirección IP, puede hacerlo escribiendo 'ifconfig' en la terminal. Busque el bloque que comienza con wlan0 (generalmente el último) y anote su dirección IP. Debería estar en la segunda línea y parecerse a 192.168.1. XX si está usando el wifi de su hogar.
Genial ese es el final de la configuración
Instalación de software adicional
Entonces, para ejecutar los scripts que tengo, necesitará tener instalado Python 2 o 3. Si desea aprender Python, recomendaría aprender Python 3, las diferencias son menores, pero Python 3 ahora se usa más ampliamente. Debería venir preinstalado con Raspian, pero deberíamos comprobarlo dos veces.
Escriba 'python --version', debería obtener un resultado como 'Python 2.7.13', lo que significa que tiene instalado Python 2. Para verificar si tiene Python 3, simplemente escriba 'python3 --version' y debería obtener un resultado similar. Si no tiene python 2 o 3, puede escribir 'sudo apt-get install python' o 'sudo apt-get install python3', respectivamente.
También necesitará Git para obtener el código, nuevamente, debe estar preinstalado. Escriba 'git --version' para verificar y use 'sudo apt-get install git' si no lo tiene.
Instalación de MJPG-Streamer
MJPG-Streamer es una de las formas en que obtuve acceso a la Picamera. Te permite acceder a la cámara a través de un navegador y manipular la imagen. Probablemente sea la forma más agradable y fácil de usar la cámara si no se siente cómodo con el código.
- Nuevamente usaremos Git. Escribe 'git clone https://github.com/jacksonliam/mjpg-streamer.git' en la terminal Raspi 3. El software se descargará, no tardará demasiado.
- Probablemente lo mejor que puede hacer en este punto es mirar el archivo 'README.md' y seguir las instrucciones de instalación. Funcionaron a la perfección para mí. Si tienes alguna pregunta, déjala en los comentarios e intentaré ayudarte.
Una vez instalado, puede ejecutarlo. Veré cómo lo hago a continuación.
Poniendolo todo junto
Genial, ahora deberíamos estar listos para comenzar. Asegúrese de que su Raspi 3 esté encendido. En su PC / computadora portátil, abra una terminal (supongo que está usando Linux o Mac, si usa Windows, tendrá que descargar Putty. Hay muchos tutoriales en línea sobre cómo usar esto, no se preocupe, es fácil) y escriba 'ssh [email protected]. XX (asumiendo que no ha cambiado el nombre de usuario predeterminado) o la dirección IP que encontramos anteriormente. Escriba su contraseña (definitivamente no debería ser la predeterminada). Genial, ahora está en una sesión de terminal en Raspi 3 a través de su PC / computadora portátil.
Entonces, en el tipo de terminal 'git clone https://github.com/astrobenhart/Raspi-3-FPV-Lego-T … Esto solo debería tomar unos segundos ya que los archivos son realmente pequeños. Luego puede navegar al directorio usando 'cd Raspi-3-FPV-Lego-Tank', ahora escriba 'ls' y asegúrese de ver estos 5 archivos: 'demo.py', 'drive.py', 'Picamera_tank. py, 'terminado.jpg' y 'README.md'. Asegúrese de consultar el archivo Léame para ver las actualizaciones.
demo.py
Este script py es ideal para probar que todo su cableado está funcionando. Simplemente pasa por diferentes combinaciones de conducir los motores hacia adelante y hacia atrás.
use 'python demo.py' para ejecutar. Tarda medio minuto más o menos en completarse.
drive.py
Este es el script py que ejecutará para controlar el tanque. Configura el mapeo de pines GPIO y crea definiciones para moverse. También captura las pulsaciones de teclas para controlar el tanque.
Utilice 'python drive.py' para ejecutar. Dale un segundo, tu terminal debería quedar en blanco.
use 'w, a, s, d' para moverse y la barra espaciadora para detenerse. Cuando esté listo para cerrar el programa, presione 'n'.
Picamera_tank.py
Esta es mi versión de streamer para la cámara. Esto solo se ejecuta con python 3 (es decir, use 'python3 Picamera_tank.py' para ejecutar). Esto se puede ejecutar en una segunda ventana de terminal o puede presionar ctrl-z y escribir bg para ejecutarlo en segundo plano en el mismo terminal. Personalmente, me gusta usar una terminal separada.
No debería tener que instalar nada adicional, pero si usa pip. Si tiene algún problema, deje un comentario.
Una vez que esto se esté ejecutando en el Raspi 3, inicie sesión en el navegador de su PC / computadora portátil y vaya a 192.168.1. XX: 8000 (la IP que encontramos anteriormente). Debería ver la salida de la cámara. Si es necesario rotar la imagen, deberá editar el script py. Cerca de la parte inferior hay un comentario, debajo ingrese los grados de rotación que necesita. Para mí fue 180 ya que mi cámara está al revés.
Para ejecutar MJPG-Streamer
Para ejecutar MJPG-Streamer, navego hasta 'mjpg-streamer / mjpg-streamer-experimental' y ejecuto './mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so -hf"'.
Una vez que se esté ejecutando, vaya a 192.168.1. XX: 8080 (la IP que encontramos anteriormente) y haga clic en transmisión. Juega con las otras opciones, pueden ser útiles para ti.
Y eso es. Ahora debería poder conducir su propio tanque FPV donde quiera que pueda obtener su wifi. Divertirse.
Paso 5: Producto terminado
Y aquí hay un video de cómo funciona todo.
Solo una nota de que tengo el Raspi 3 conectado a mi computadora portátil para encenderlo en el video ya que el banco de energía se agotó durante algunas pruebas. Duró casi una hora y me alegré mucho.
Deje comentarios si tiene alguno y espero que disfrute haciendo este tanque de Lego Raspberry Pi 3 FPV si lo intenta.
Gracias, Ben
Recomendado:
Tanque RC con una cámara FPV móvil: 9 pasos (con imágenes)
Tanque RC con una cámara FPV móvil: Hola. En este instructivo, te muestro cómo construir un tanque de control remoto con una cámara FPV. Al principio construí solo tanque RC sin cámara FPV pero cuando lo conducía en la casa no he visto dónde está. Así que se me ocurrió que agregaré a
Tanque de control ESP32-CAM FPV Arduino Wifi con WebApp Controller_p1_introduction: 3 pasos
Tanque de control ESP32-CAM FPV Arduino Wifi con WebApp Controller_p1_introduction: Hola, soy Tony Phạm. Actualmente, soy un profesor de STEAM vietnamita y también un aficionado. Lo siento de antemano por mi inglés. Escribí una instrucción para hacer un tanque controlado por Bluetooth Arduino antes, pero está en vietnamita Enlace de referencia: P1. ARDUINO B
Monitoree los galones del tanque de aceite de calefacción con correo electrónico, SMS y alertas Pushbullet: 9 pasos (con imágenes)
Monitoree los galones del tanque de aceite de calefacción con correo electrónico, SMS y alertas pushbullet: INFORMACIÓN DE SEGURIDAD: En caso de que alguien quiera saber si " esto es seguro de construir / instalar " - He llevado esto a 2 compañías petroleras diferentes para comentarios / consideraciones de seguridad, y lo he dirigido por el asistente de prevención de incendios C del departamento de bomberos
Tanque de frambuesa con interfaz web y transmisión de video: 8 pasos (con imágenes)
Tanque de frambuesa con interfaz web y transmisión de video: Vamos a ver cómo he realizado un pequeño tanque WiFi, capaz de control web remoto y transmisión de video, que pretende ser un tutorial que requiere conocimientos básicos de programación electrónica y de software. Por esta razón he elegido
Tanque autónomo con GPS: 5 pasos (con imágenes)
Tanque autónomo con GPS: DFRobot me envió recientemente su kit de plataforma de tanque Devastator para probar. Entonces, por supuesto, decidí hacerlo autónomo y también tener capacidades de GPS. Este robot usaría un sensor ultrasónico para navegar, donde se mueve hacia adelante mientras verifica su