-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Lista de materiales del proyecto
- Arduino (wifi)
- Jumpers
- Motores
- Bateria
- ServoMotores
- Balas (nerf/otro)
- Buzer(bocina)
- camara
INDICE
-
Introducción
-
Descripción del Proyecto 2.1 Antecedentes
-
Objetivos 3.1 Objetivos Generales 3.2 Objetivos Específicos
-
Alcance del proyecto 4.1 Limitaciones 4.2 Restricciones
-
Requisitos funcionales
-
Requisitos no funcionales
-
Tecnologías y Herramientas Utilizadas 7.1 Unity 7.2 Arduino Wifi (ESP32) 7.3 Motores DC 7.4 Servomotores 7.5 Cámara para visualizar el entorno 7.6 Impresora 3D
-
Arquitectura del sistema 8.1 Descripción de la integración entre Unity y Arduino 8.2 Diagrama de la arquitectura del sistema
-
Planificación y Cronograma 9.1 Etapas del Proyecto 9.2 Actividades por Etapa 9.3 Recursos Necesarios 9.4 Cronograma de Ejecución
-
Diseño del Tanque con Componentes Electrónicos 10.1 Estructura del Tanque 10.2 Integración de componentes electrónicos
-
Diseño y fabricación de Piezas con impresoras 3D 11.1 Selección de Materiales 11.2 Modelado 3D de las piezas 11.3 Proceso de impresión 3D
-
Visualización del Entorno en Unity 12.1 Integración de la vista de la cámara en Unity 12.2 Configuración de la visualización
-
Diseño del Sistema de Control 13.1 Configuración del Arduino WiFi 13.2 Desarrollo del código para la comunicación entre Arduino y Unity 13.3 Implementación de la lógica de control del tanque
-
Introducción En la intersección entre la electrónica y el desarrollo de videojuegos, surge un proyecto: el desarrollo de un tanque que puede ser controlado y gestionado a través de Unity, una popular plataforma de desarrollo de juegos en 3D. Este proyecto fusiona la ingeniería de hardware con la programación de software para crear una experiencia interactiva única. El objetivo principal de este proyecto es diseñar un sistema que permita a los usuarios controlar un tanque en un entorno virtual creado en Unity. Para lograr esto, se implementarán varios componentes electrónicos, como motores, sensores y controladores, que interactuarán con el software de Unity a través de una conexión bidireccional. En primer lugar, se abordará la parte de la electrónica, que involucra la construcción del propio tanque. Esto implica la selección de las impresiones en 3D de todas las piezas del tanque, los motores adecuados para el movimiento del tanque, así como la integración de sensores para la detección de obstáculos y la retroalimentación del entorno. Se explorarán diferentes técnicas de control, como PWM (modulación por ancho de pulso) para el control de velocidad de los motores y el uso de sensores ultrasónicos o de infrarrojos para la detección de obstáculos. Una vez completada la parte de hardware, se procederá a la fase de desarrollo de software utilizando Unity. Aquí, se creará un entorno virtual que simulará el mundo en el que operará el tanque. Se implementarán controles de usuario que permitan al jugador interactuar con el tanque, como la capacidad de moverse, girar y disparar. Además, se integrarán funciones de inteligencia artificial si se desea tener un modo autónomo para el tanque. La comunicación entre el hardware y el software será crucial para el éxito del proyecto. Se utilizarán protocolos de comunicación estándar, como Wi-Fi, para establecer una conexión confiable entre el tanque y la aplicación de Unity. Esto permitirá que los comandos enviados desde Unity se traduzcan en acciones físicas realizadas por el tanque, y que los datos recopilados por los sensores se utilicen para actualizar el estado del entorno virtual en tiempo real. En resumen, el desarrollo de un tanque controlado por Unity es un proyecto emocionante que combina los campos de la electrónica y la programación de videojuegos. A través de esta integración de hardware y software, se busca crear una experiencia inmersiva y educativa que demuestre el potencial de la tecnología en la creación de sistemas interactivos y controlados remotamente.
-
Descripción del Proyecto
El proyecto consiste en el diseño y construcción de un tanque controlado mediante electrónica y software Unity. Este tanque estará compuesto por diversas piezas impresas en 3D, cada una con dimensiones específicas para ensamblarse y formar la estructura completa del vehículo. Además, se incorporarán componentes electrónicos como Arduino Uno, ESP32 (Arduino WiFi), servomotores, motores DC, LED de alta luminosidad, entre otros, para permitir su funcionamiento y control.
El control del tanque se realizará mediante el uso de teclas y el ratón en Unity. Se integrará una cámara al tanque para visualizar su entorno desde la perspectiva del vehículo.
2.1 Antecedentes Los avances en la tecnología de impresión 3D han permitido la creación de prototipos y proyectos complejos de manera más eficiente y económica. La combinación de electrónica y software de simulación como Unity ha abierto nuevas posibilidades en el campo de la robótica y la realidad virtual. Existen numerosos proyectos previos que han explorado la construcción de vehículos controlados remotamente, así como la integración de sistemas electrónicos y software para su operación. Estos antecedentes proporcionan una base sólida para el desarrollo del presente proyecto, permitiendo aprovechar y mejorar las soluciones existentes.
- Objetivos:
3.1 Objetivos Generales: El objetivo general del proyecto es diseñar, construir y programar un tanque controlado electrónicamente utilizando componentes impresos en 3D y software Unity. Se busca crear un sistema funcional y adaptable, capaz de ser controlado de forma remota y visualizado en tiempo real.
3.2 Objetivos Específicos:
• Imprimir en 3D los componentes del tanque, incluyendo el chasis, las ruedas y otros accesorios necesarios, utilizando materiales resistentes y livianos.
• Integrar una cámara de alta resolución y baja latencia en el diseño del tanque para proporcionar una vista en primera persona del entorno circundante.
• Seleccionar y configurar una plataforma de microcontrolador compatible con Wifi, como Arduino con módulo ESP8266, para la comunicación inalámbrica entre el tanque y el dispositivo de control.
• Desarrollar un programa en Unity que permita la visualización del video en tiempo real transmitido por la cámara del tanque, así como el control remoto del vehículo a través de una interfaz gráfica intuitiva.
• Realizar pruebas exhaustivas para garantizar el funcionamiento correcto de todos los componentes y la comunicación estable entre el tanque y Unity.
• Optimizar el rendimiento del sistema, minimizando la latencia de la transmisión de video y mejorando la respuesta del control remoto para una experiencia de usuario fluida y satisfactoria.
• Documentar detalladamente el proceso de diseño, fabricación, programación, pruebas y optimización del proyecto para facilitar su replicación y comprensión por parte de otros entusiastas y educadores.
- Alcance del proyecto El alcance del proyecto incluye el diseño, construcción y programación de un tanque controlado electrónicamente utilizando componentes impresos en 3D y software Unity. Se espera lograr un prototipo funcional que pueda ser controlado de forma remota a través de Unity, con capacidad de visualización en tiempo real mediante una cámara integrada. El tanque estará equipado con diversos componentes electrónicos, como servomotores, motores DC, un LED de alta luminosidad y sensores necesarios para su operación.
4.1 Limitaciones
• Limitación de tiempo: El tiempo disponible para la realización del proyecto puede ser limitado, lo que puede afectar en cuanto a la profundidad de las pruebas y la optimización del sistema.
• Limitación de habilidades técnicas: El equipo de desarrollo puede enfrentar limitaciones en términos de experiencia y conocimientos, lo que podría influir en la complejidad y el alcance de las soluciones implementadas.
4.2 Restricciones
4.2.1. Restricción de materiales: La fabricación de las piezas del tanque se realizará exclusivamente mediante impresión 3D, lo que limita la selección de materiales disponibles.
4.2.2. Restricción de tamaño: Las dimensiones del tanque estarán definidas por las capacidades de la impresora 3D utilizada, lo que puede influir en el diseño y la funcionalidad del vehículo.
4.2.3. Restricción de peso: El tanque deberá mantener un peso adecuado para garantizar su movilidad y estabilidad, lo que puede limitar la cantidad y el tipo de componentes electrónicos que se pueden integrar.
4.2.4. Restricción de energía: La energía disponible para alimentar los componentes electrónicos del tanque estará limitada, lo que puede influir en el diseño y la eficiencia energética del sistema.
- Requisitos Funcionales
5.1. Controles del tanque:
• Permitir al usuario controlar el movimiento del tanque utilizando teclado, mouse.
• Implementar controles intuitivos para el movimiento hacia adelante, hacia atrás, y giros a la izquierda y a la derecha.
5.2. Sistema de disparo
• Permitir al usuario disparar proyectiles desde el tanque.
• Implementar un sistema de puntería para apuntar y disparar a objetivos enemigos o elementos del entorno.
5.3. Interacción del entorno
• Permitir al tanque interactuar con el entorno del juego, como obstáculos, terreno y otros objetos.
• Implementar físicas realistas para la colisión y la interacción del tanque con los elementos del entorno.
5.4. Combate y Daño
• Implementar un sistema de combate que registre los impactos de los proyectiles en el tanque y aplique daño correspondiente.
• Mostrar efectos visuales y de sonido para indicar los impactos y el estado de salud del tanque.
- Requisitos No funcionales
6.1. Rendimiento Mantener una tasa de cuadros por segundo (FPS) adecuada para una experiencia de juego fluida en diferentes plataformas y dispositivos. Optimizar los recursos del juego, como modelos 3D, texturas y efectos visuales, para minimizar el uso de recursos del sistema. 2.- Compatibilidad Asegurar la compatibilidad del juego con diferentes dispositivos y resoluciones de pantalla.
- Probar y garantizar que el juego funcione correctamente en diferentes sistemas operativos, como Windows, macOS y dispositivos móviles como Android y IOS. 3.- Usuabilidad Diseñar una interfaz de usuario intuitiva y fácil de usar para que los jugadores puedan comprender y controlar el juego sin dificultad.
- Proporcionar retroalimentación clara al jugador, como indicadores de salud, munición y estado del tanque.
4.- Integración de electrónica
Integrar componentes electrónicos, como sensores y actuadores, con Unity para el control físico del tanque. - Implementar una comunicación efectiva entre Unity y los dispositivos electrónicos para garantizar un funcionamiento adecuado del tanque en el juego.
- Tecnologías y Herramientas Utilizadas
7.1 Unity Unity servirá como el entorno de desarrollo principal para la creación del software de control del tanque. Se utilizará para programar los comportamientos del tanque y crear la simulación del entorno virtual en el que operará el vehículo. Se aprovecharán las capacidades de Unity para la renderización 3D, la física de simulación y la gestión de activos multimedia. 7.2 Arduino Wifi (ESP32) El ESP32, un microcontrolador de bajo consumo de energía con conectividad WiFi y Bluetooth, será utilizado como un módulo de comunicación inalámbrica para el tanque. Se programará para establecer una conexión WiFi con el software Unity, permitiendo el control remoto del tanque y la transmisión de datos de telemetría en tiempo real. 7.3 Motores DC Se utilizarán motores de corriente continua (DC) para la propulsión del tanque. Estos motores proporcionarán el movimiento necesario para desplazar el vehículo en diferentes direcciones, como hacia adelante, hacia atrás y giros. Se integrarán controladores de motores para la gestión de la velocidad y la dirección de cada motor.
7.4 Servomotores Los servomotores serán empleados para controlar movimientos específicos del tanque con precisión. Se utilizarán para la orientación de la cámara, permitiendo ajustes de panorámica y elevación para obtener diferentes perspectivas del entorno. También se utilizarán para la manipulación de componentes adicionales, como el lanzador de balas, proporcionando control de posición y fuerza. 7.5 Cámara para visualizar el entorno Se integrará una cámara de video al tanque para la visualización en tiempo real del entorno circundante desde la perspectiva del vehículo. Esta cámara estará montada en una posición estratégica para ofrecer una vista amplia y clara del entorno. Se utilizarán protocolos de comunicación adecuados para la transmisión de video desde la cámara al software Unity. 7.6 Impresora 3D La impresora 3D será utilizada para la fabricación de las piezas estructurales del tanque. Se imprimirán las diferentes partes del vehículo, como el cuerpo, los costados, la tapa y los soportes, utilizando materiales plásticos resistentes y duraderos. Se emplearán técnicas de modelado y diseño asistido por computadora (CAD) para crear los archivos de diseño necesarios para la impresión 3D.
- Arquitectura del sistema
8.1 Descripción de la integración entre Unity y Arduino
Para la integración de Unity con Arduino, utilizamos diferentes programas y librerías, primero, usamos Visual Studio para crear una clase llamada conectionArduino.cs, con la finalidad de añadir ahí la conexión que tendrá con el modulo wifi ESP32. Dentro de la clase, añadimos una un client de tipo TcpCliente, para la conexión con el módulo, después un stream de tipo NetworkStream para enviar y recibir los datos; teniendo esto, pasamos a crear un método Connect, que recibe como parámetros un host (aquí se coloca el nombre del host al que se conectará el cliente TCP) y un port (aquí se coloca el número del puerto al que el host se conectará el cliente). Seguimos añadiendo un método llamada SendData, el cual servirá para enviar los datos al módulo ESP32, este método recibe como parámetro data, que es en donde se colocarán los datos para enviarlos al ESP32. Por último tenemos un método llamado CloseConnection, este método servirá para cerrar la conexión con el módulo ESP32.
using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Net.Sockets; using System.Text;
///
8.2 Diagrama de la arquitectura del sistema
- Planificación y Cronograma En esta etapa, se establecerán los objetivos, las tareas y el calendario del proyecto. Se detallarán las actividades necesarias para completar cada fase, desde el diseño del modelo 3D hasta las pruebas finales del tanque. Se asignarán responsables para cada tarea y se definirán hitos clave para monitorear el progreso. Además, se crearán cronogramas detallados que incluirán fechas de inicio y finalización para cada tarea, permitiendo una gestión eficiente del tiempo y recursos. Esta planificación minuciosa asegurará que el proyecto se mantenga en curso y se cumplan los plazos establecidos.
9.1 Etapas del Proyecto 1.- Diseño del tanque El diseño del tanque es una etapa crucial en el proceso de desarrollo de un tanque robótico, ya que establece las bases para su construcción y funcionamiento:
*Definición de requisitos: Antes de comenzar con el diseño, es importante definir claramente los requisitos y objetivos del tanque. Esto incluye determinar su tamaño, peso, velocidad, capacidad de carga, tipo de terreno sobre el que operará, duración de la batería, entre otros. Estos requisitos servirán como guía durante todo el proceso de diseño.
*Diseño conceptual: Con base en los requisitos establecidos y la investigación realizada, se puede comenzar a desarrollar un diseño conceptual del tanque. Esto puede incluir bocetos, diagramas y modelos 3D que representen la apariencia general y la disposición de los componentes principales, como motores, ruedas, chasis, compartimentos de batería, etc.
*Selección de materiales y componentes: Una vez que se tiene un diseño conceptual, se deben seleccionar los materiales y componentes adecuados para su construcción. Esto incluye materiales estructurales para el chasis, ruedas y orugas, motores, baterías, sensores, placas Arduino, etc. Es importante tener en cuenta la calidad, resistencia y compatibilidad de los materiales y componentes seleccionados.
2.- Impresión de las piezas en 3D
-
Preparación del Modelo 3D: Busqueda del tanque: Se buscara un prototipo ya diseñado con las carcateristicas que necesitemos. Formato de Exportación: Exporta en formatos STL u OBJ. Escalado: Verifica que las dimensiones estén correctamente escaladas.
-
Preparación para la Impresión: Software de Corte: Importa los archivos en el software de corte (Cura) y ajusta parámetros como resolución y relleno. Ajustes de Material: Configura la temperatura de la boquilla y cama según el material.
-
Proceso de Impresión: Calibración: Asegúrate de que la impresora esté bien calibrada y que la cama esté nivelada. Inicio de la Impresión: Monitorea las primeras capas para asegurar la adherencia correcta. Supervisión Continua: Revisa periódicamente para detectar problemas como desplazamientos de capa o obstrucciones.
-
Post-Procesamiento: Retiro de Soportes: Quita los soportes con cuidado utilizando herramientas adecuadas. Lijado y Acabado: Lija las superficies y aplica masilla si es necesario para un mejor acabado. Montaje: Ensambla las piezas utilizando adhesivos si es necesario.
-
Validación del Ensamblaje Pruebas Funcionales: Asegúrate de que las piezas ensambladas funcionen correctamente. Ajustes Finales: Realiza los ajustes necesarios para corregir problemas detectados.
3.- Programación de unity
5.- Armado de las orugas y pruebas con motores (solo circuitos con corriente):
- Ensamblaje de las Orugas Montaje de Componentes: Ensambla las orugas y los componentes mecánicos del sistema de tracción del tanque. Verificación de Ajustes: Asegúrate de que las orugas estén correctamente alineadas y ajustadas.
- Instalación de Motores Montaje de Motores: Instala los motores en su posición y conéctalos a la circuitería de control. Conexión Eléctrica: Realiza las conexiones eléctricas necesarias, asegurando que estén firmes y seguras.
- Pruebas de Movimiento Pruebas Iniciales: Realiza pruebas de movimiento básicas para asegurar que las orugas se muevan correctamente. Monitorización de Corriente: Monitorea el consumo de corriente y la temperatura de los motores durante las pruebas.
- Ajustes y Mantenimiento Ajustes Físicos: Realiza ajustes físicos necesarios en las orugas o motores para mejorar el rendimiento. Revisión de Circuitos: Verifica que todos los circuitos estén funcionando correctamente y sin sobrecargas.
6.- Implementación Arduino La implementación de Arduino es importante en el proceso de desarrollo de un tanque robótico, ya que Arduino es la plataforma de hardware que controlará los distintos componentes del tanque, como motores, sensores, luces, etc. Aquí hay algunos aspectos clave a considerar en este proceso:
*Selección de componentes: Antes de comenzar con la implementación, es importante seleccionar los componentes que se utilizarán y asegurarse de que sean compatibles con Arduino. Esto incluye motores, sensores de proximidad, sensores de línea, módulos de comunicación, etc.
*Diseño del circuito: Una vez seleccionados los componentes, se debe diseñar el circuito eléctrico que conectará estos componentes a la placa Arduino. Esto puede implicar el uso de placas de expansión (shields), breadboards y cables para hacer las conexiones necesarias.
*Desarrollo del código: El siguiente paso es escribir el código necesario para controlar los componentes del tanque. Esto puede incluir la configuración de pines, la lectura de sensores, el control de motores, la comunicación con otros dispositivos, etc. Es importante desarrollar un código limpio y modular que sea fácil de entender y mantener.
*Pruebas y depuración: Una vez que se ha escrito el código, se deben realizar pruebas exhaustivas para asegurarse de que el tanque funcione correctamente en diferentes situaciones y condiciones. Durante estas pruebas, es posible que surjan errores o problemas que requieran depuración y ajustes en el código.
*Optimización del código: Una vez que el tanque esté funcionando correctamente, se puede realizar una optimización del código para mejorar su rendimiento y eficiencia. Esto puede incluir la reducción de la cantidad de memoria utilizada, la optimización de algoritmos y la eliminación de código redundante.
*Documentación: Por último, es importante documentar todo el proceso de implementación Arduino, incluyendo el diseño del circuito, el código desarrollado, las pruebas realizadas y cualquier problema encontrado durante el proceso. Esta documentación será útil para futuras referencias y para facilitar la colaboración con otros miembros del equipo.
7.- Alambrado de componentes fuera del prototipo Dentro de los componentes que utilizamos para el correcto funcionamiento tenemos los siguientes: *ESP32 *Arduino Mega *Servo motores *Motores DC *Motores *Controladores de motores *Mini Protoboard *Shield para motores Ahora que conocemos los componentes, vamos a explicar como fue el alambrado de dichos componentes. Primero realizamos la conexión del ESP32, el cual tiene pines Rx y Tx, los cuales fueron conectados al Arduino Mega en los pines correspondientes Rx1 y Tx1, conexión de forma cruzada (es decir, Rx con Tx1 y Tx con Rx1). Después montamos el Shield para motores encima de nuestro Arduino Mega, justamente en los pines Rx y Tx hasta el GND del lado derecho, con la finalidad de manejar desde el Shield los 4 motores DC que controlarán el movimiento del tanque, por lo que en el Shield, en la parte de M1 correspondiente a Motor1, se hizo la conexión de la parte izquierda del tanque, mientras en el M2, de Motor2 se hizo la conexión de la parte derecha del tanque, en este mismo Shield debemos de alimentar con corriente y tierra para que funcione de manera adecuada. Ahora pasamos a 2 servo motores, encargados de levantar el tanque hasta 130°, con la finalidad de que el tiro se eleve en base a las teclas pulsadas, mientras que otro servo motor lo utilizamos para que mueva nuestras balas hacia adelante y sean los motores los encargados de aventar la bala. Estos servos necesitan corriente y tierra, por lo que se conectan cada uno a uno de estas partes y la otra a un pin digital, para que lea la accion que debe de hacer. Por último tenemos los motores, encargados de girar a gran velocidad y que cuando la bala entre en contacto con ellos, la dispare hacia adelante ocasionando que pase por el tubo del cañón hacia afuera, estos motores necesitan de un controlador cada uno para funcionar, estos motores se conectan al controlador y el controlador necesita de corriente y tierra directa, mientras que otra parte se conecta al Shield de motores en el apartado de servo motores.
8.- Prueba de módulos:
-
Pruebas Individuales: Módulos Electrónicos: Prueba cada componente electrónico individualmente (motores, sensores, SP32) para asegurar su correcto funcionamiento. Firmware Básico: Carga firmware de prueba en el SP32 para verificar la comunicación con cada módulo (p.ej., lectura de sensores, control de motores).
-
Integración Parcial: Sub-sistemas: Integra pequeños grupos de componentes para probar la interacción entre ellos. Por ejemplo, prueba el control de los motores con los sensores de posición. Diagnóstico: Usa herramientas de diagnóstico y monitoreo para evaluar el rendimiento de cada módulo y su integración.
-
Ajustes y Correcciones: Depuración: Identificar y corrigir cualquier fallo en el funcionamiento de los módulos. Realiza ajustes en el hardware o firmware según sea necesario. Optimización: Mejora el rendimiento ajustando parámetros y calibraciones.
9.- Pintura del prototipo
-
Adquisición de Materiales Primero fuimos por la pintura, la liga y el algodón. Pintura: Elegimos una pintura adecuada para superficies plásticas, asegurándonos de que tuviera buena adherencia y durabilidad. Liga: Compramos liga para usarla en la fijación temporal de las piezas o para crear efectos específicos en el prototipo. Algodón: Adquirimos algodón para emplearlo en la aplicación de la pintura o para efectos decorativos adicionales.
-
Preparación de las Piezas Luego llegamos y lijamos levemente las piezas de plástico. Lijado: Utilizamos papel de lija de grano fino para lijar las superficies plásticas del prototipo. Este paso es crucial para asegurar que la pintura se adhiera correctamente. Un lijado ligero ayuda a eliminar cualquier residuo o imperfección en la superficie, creando una base uniforme para la aplicación de la pintura.
-
Aplicación de la Pintura Después les aplicamos las capas de pintura. Primera capa: Aplicamos una primera capa de pintura, asegurándonos de cubrir toda la superficie uniformemente. Esta capa actúa como base. Secado: Dejamos secar la primera capa según las indicaciones del fabricante de la pintura. Capas adicionales: Aplicamos capas adicionales según fuese necesario para lograr la opacidad y el acabado deseado. Cada capa adicional se aplicó después de que la anterior estuviera completamente seca.
-
Creación de Detalles Decorativos También juntamos ramitas, hojas para las figuras. Recolección de materiales naturales: Buscamos y recolectamos ramitas, hojas y otros elementos naturales que pudieran servir como detalles decorativos para el prototipo. Incorporación en el prototipo: Utilizamos estos materiales para crear figuras y detalles adicionales, dándole un aspecto más realista y detallado al prototipo. Estos elementos naturales pueden ser pegados o fijados al prototipo usando la liga o pegamento adecuado.
10.- Armado del tanque
11.- Pruebas y depuración finales
9.2 Actividades por Etapa del Proyecto del Tanque
- Planificación y Cronograma
- Definir objetivos y alcance del proyecto
- Asignar roles y responsabilidades
- Desarrollar cronogramas y hitos clave
- Diseño del Modelo 3D
- Creación del diseño inicial del tanque
- Optimización y división del modelo en piezas imprimibles
- Verificación y ajustes de dimensiones
- Impresión de las Piezas en 3D
- Preparación de archivos para impresión (STL/OBJ)
- Configuración de parámetros de impresión
- Impresión y post-procesamiento de piezas
- Programación en Unity
- Configuración del proyecto en Unity
- Importación y configuración del modelo 3D
- Implementación de física, controles y lógica del tanque
- Calibración del SP32
- Instalación y configuración del entorno de desarrollo
- Programación del firmware del SP32
- Calibración y pruebas de sensores y actuadores
- Armado de las Orugas y Pruebas con Motores
- Ensamblaje de orugas y sistema de tracción
- Instalación y conexión de motores
- Pruebas de movimiento y ajustes de hardware
- Alambrado de Componentes Fuera del Prototipo
- Diseño y construcción del circuito en protoboard
- Conexión y pruebas iniciales de componentes electrónicos
- Verificación de conexiones y continuidad
- Prueba de Módulos
- Pruebas individuales de componentes (motores, sensores, SP32)
- Integración y pruebas parciales de sub-sistemas
- Depuración y optimización de módulos
- Pintura del Prototipo
- Preparación de superficies (limpieza y lijado)
- Aplicación de imprimación y capas de pintura
- Detalles y acabados finales
- Armado del Tanque
- Ensamblaje completo del tanque
- Instalación final de componentes electrónicos y mecánicos
- Verificación de alineación y funcionamiento
- Pruebas y Depuración Finales
- Pruebas funcionales completas en entorno controlado
- Identificación y corrección de errores
- Validación final de todas las funciones
- Presupuestos y Administración de Logística
- Estimación y seguimiento de costos
- Gestión de proveedores y adquisición de materiales
- Coordinación logística y planificación financiera
9.3 Recursos Necesarios del Proyecto del Tanque
Materiales:
- Filamento para impresión 3D (PLA, ABS)
- Pintura, imprimación y sellador
- Componentes electrónicos (SP32, motores, sensores, cables)
- Adhesivos y fijaciones (tornillos, bridas, clips)
Herramientas:
- Impresora 3D
- Software de diseño 3D (Blender, Tinkercad)
- Herramientas de soldadura y prototipado (soldadores, protoboard)
- Equipos de medición y prueba (multímetro, osciloscopio)
Software:
- Unity 3D y Visual Studio
- IDE para SP32 (Arduino IDE, PlatformIO)
- Software de corte para impresión 3D (Cura, PrusaSlicer)
Recursos Humanos:
- Diseñadores 3D
- Desarrolladores de software y firmware
- Ingenieros electrónicos
- Técnicos en prototipado y ensamblaje
9.4 Cronograma de Ejecución del Proyecto del Tanque
Semana 1-2: Planificación y Cronograma
- Definición de objetivos y alcance
- Asignación de roles y responsabilidades
- Desarrollo del cronograma detallado
Semana 3-5: Diseño del Modelo 3D
- Creación y optimización del modelo 3D
- División del modelo en piezas imprimibles
- Verificación y ajustes de dimensiones
Semana 6-8: Impresión de las Piezas en 3D
- Preparación y configuración de archivos para impresión
- Impresión de piezas y post-procesamiento
Semana 9-12: Programación en Unity
- Configuración y desarrollo en Unity
- Importación y configuración del modelo 3D
- Implementación de física y controles
Semana 13-15: Calibración del SP32
- Instalación y programación del firmware
- Calibración y pruebas de sensores y actuadores
Semana 16-18: Armado de las Orugas y Pruebas con Motores
- Ensamblaje de orugas y sistema de tracción
- Instalación y pruebas de motores
Semana 19-21: Alambrado de Componentes Fuera del Prototipo
- Diseño y construcción del circuito en protoboard
- Conexión y pruebas de componentes
Semana 22-24: Prueba de Módulos
- Pruebas individuales y parciales de componentes
- Integración y optimización de módulos
Semana 25-27: Pintura del Prototipo
- Preparación de superficies y aplicación de imprimación
- Pintura y detalles finales
Semana 28-30: Armado del Tanque
- Ensamblaje completo del tanque
- Instalación final de componentes
Semana 31-33: Pruebas y Depuración Finales
- Pruebas funcionales completas
- Identificación y corrección de errores
Semana 34-36: Presupuestos y Administración de Logística
- Estimación y seguimiento de costos
- Gestión de proveedores y logística
Resumen de Cronograma:
Actividad | Duración | Tiempo Estimado |
---|---|---|
Planificación y Cronograma | 2 semanas | Semana 1-2 |
Diseño del Modelo 3D | 3 semanas | Semana 3-5 |
Impresión de las Piezas en 3D | 3 semanas | Semana 6-8 |
Programación en Unity | 4 semanas | Semana 9-12 |
Calibración del SP32 | 3 semanas | Semana 13-15 |
Armado de Orugas y Pruebas | 3 semanas | Semana 16-18 |
Alambrado de Componentes | 3 semanas | Semana 19-21 |
Prueba de Módulos | 3 semanas | Semana 22-24 |
Pintura del Prototipo | 3 semanas | Semana 25-27 |
Armado del Tanque | 3 semanas | Semana 28-30 |
Pruebas y Depuración Finales | 3 semanas | Semana 31-33 |
Presupuestos y Administración | 3 semanas | Semana 34-36 |
- Diseño del Tanque con Componentes Electrónicos 10.1 Estructura del Tanque: El diseño del tanque se basa en piezas previamente diseñadas de un prototipo existente. Para la impresión de estas piezas se utilizo el software Cura, optimizando parámetros para asegurar precisión y robustez. A continuación, se describe cada componente estructural en detalle: • Cuerpo (A1): La pieza principal del tanque, con dimensiones de 207 mm de largo, 50 mm de alto y 106 mm de ancho, sirve como la base que soporta todos los demás componentes. Esta pieza fue impresa utilizando Cura, que permitió ajustar la densidad de relleno y la orientación de impresión para garantizar robustez y precisión. Durante la validación del prototipo, se comprobó que el cuerpo podía albergar todos los circuitos electrónicos, motores y baterías, con suficiente espacio y accesibilidad para el cableado. Se añadieron refuerzos internos para soportar el peso de los componentes y resistir el desgaste durante el uso prolongado.
• Costado izquierdo (A2) y Costado Derecho (A3): Ambas piezas laterales, cada una de 207 mm de largo, 50 mm de alto y 40 mm de ancho, se diseñaron para integrarse perfectamente con el cuerpo del tanque. En el prototipo, estas piezas incluían ranuras y orificios específicos para la fijación de los motores DC y sus engranajes. Utilizando Cura, se optimizó la orientación de impresión y la densidad del relleno para mejorar la calidad de las piezas y reducir el uso de material de soporte. Además, se realizaron pruebas de resistencia para asegurar que las piezas laterales pudieran soportar la tensión y el estrés durante el funcionamiento del tanque.
• Tapa superior y soportes (A4): Esta pieza, de 209 mm de largo, 96 mm de alto y 11 mm de ancho, cubre la parte superior del tanque y proporciona una plataforma estable para montar la cámara y los servomotores. Durante el prototipo, se añadieron puntos de montaje específicos y rejillas de ventilación para asegurar una adecuada disipación del calor generado por los componentes internos. Con Cura, se lograron superficies lisas y precisas, esenciales para el montaje de componentes móviles como la cámara y los servomotores, lo que permite un control más preciso de estos elementos.
• Tapa Frontal (A5) y Tapa Trasera (A6): Estas tapas, de 89.65 mm de largo, 24.99 mm de alto y 24.99 mm de ancho, protegen los componentes internos y permiten el acceso a los puertos de carga y conexión. El prototipo ayudó a definir las ubicaciones óptimas para las aberturas de ventilación y los puntos de conexión. Cura permitió ajustar la precisión de los detalles y asegurar un ajuste perfecto entre las piezas, lo que garantiza una protección eficiente de los componentes internos y facilita el mantenimiento y las actualizaciones.
10.2 Integración de componentes electrónicos
La integración de los componentes electrónicos se basó en las piezas del prototipo, asegurando que cada componente encajara adecuadamente y funcionara de manera eficiente. A continuación, se detalla la integración de los componentes clave:
• Motores DC: Los motores se posicionaron en el prototipo para asegurar un montaje estable en los costados del tanque. Los soportes diseñados permiten una alineación precisa con los engranajes (B1 y B2), garantizando una transmisión de potencia eficiente y un movimiento suave del tanque. Cura permitió optimizar la densidad del relleno de los soportes, proporcionando la resistencia necesaria sin comprometer la eficiencia de impresión. Se realizaron pruebas de funcionamiento en el prototipo para asegurar que los motores operaran sin problemas y se minimizara el desgaste de los engranajes.
• Servomotores: Los servomotores, utilizados para la orientación de la cámara y otros movimientos específicos, fueron montados en el prototipo en posiciones que permitieran un rango de movimiento adecuado. Los soportes ajustables diseñados en el prototipo facilitaron la orientación precisa y el ajuste fino de los servomotores, mejorando la funcionalidad del tanque. Cura permitió ajustar los parámetros de impresión para asegurar una superficie suave y una alta precisión en los detalles, esenciales para el movimiento preciso de los servomotores. Además, se integraron mecanismos de amortiguación para reducir las vibraciones y mejorar la estabilidad durante el funcionamiento.
• Controladores de motores y servomotores (L298N): Los controladores se ubicaron en compartimentos específicos dentro del cuerpo del tanque en el prototipo, asegurando una ventilación adecuada y fácil acceso para el cableado. Cura se utilizó para ajustar el grosor de las paredes y el patrón de relleno, asegurando que los compartimentos fueran lo suficientemente robustos para proteger los controladores. Se añadieron disipadores de calor en el diseño del prototipo para mejorar la eficiencia térmica y prolongar la vida útil de los controladores.
• ESP32 y Arduino Uno: En el prototipo, el ESP32 y el Arduino Uno se montaron en lugares accesibles para facilitar la programación y la conexión de cables. Se evaluaron diferentes ubicaciones para optimizar la recepción de señales inalámbricas y minimizar las interferencias. Cura permitió ajustar los parámetros de impresión para lograr un equilibrio entre la precisión y la durabilidad de las monturas. Se añadieron conectores modulares en el prototipo para facilitar la instalación y el reemplazo de componentes electrónicos.
• Cámara: La cámara fue montada en la parte frontal del prototipo del tanque, con soportes ajustables que permitían su orientación precisa. Se realizaron pruebas para asegurar que la cámara proporcionara una vista clara y estable del entorno circundante. La integración con los servomotores se probó para garantizar un control suave y preciso de la orientación de la cámara. Cura se utilizó para optimizar los soportes y asegurarse de que fueran lo suficientemente fuertes para soportar el peso de la cámara y resistir los movimientos durante la operación. Se integró un sistema de estabilización para mejorar la calidad de la imagen y reducir el impacto de las vibraciones.
- Diseño y fabricación de Piezas con impresoras 3D El diseño y la fabricación de piezas con impresoras 3D son etapas cruciales en el proceso de creación del tanque. A continuación, se presenta un análisis detallado de cada fase, desde la selección de materiales hasta el proceso de impresión. 11.1 Selección de Materiales La selección adecuada de materiales es esencial para garantizar la calidad y funcionalidad de las piezas del tanque. Para este proyecto, se opta por el uso de filamento PLA (ácido poliláctico) debido a sus propiedades versátiles y su facilidad de impresión. El PLA es un polímero biodegradable y biocompatible derivado de recursos naturales como el almidón de maíz o la caña de azúcar, lo que lo hace respetuoso con el medio ambiente.
Los filamentos PLA en los colores White, Red, Black y Green, con un peso de 1KG cada uno, se seleccionan para diferenciar visualmente las distintas partes del tanque y agregar un toque estético al proyecto. Además, se asegura que los parámetros de impresión del PLA se ajusten a las especificaciones del fabricante, con una temperatura de impresión entre 190°C y 230°C y una temperatura de la cama caliente entre 40°C y 50°C.
Además, el PLA ofrece una combinación de resistencia y facilidad de uso que lo hace ideal para aplicaciones como la fabricación de piezas de tanques RC. Su capacidad para producir detalles finos y su resistencia a la deformación térmica lo convierten en una opción confiable para este proyecto.
11.2 Modelado 3D de las piezas El modelado 3D de las piezas del tanque es un proceso crítico que requiere precisión y atención a los detalles. Aunque se parte de un prototipo existente, se emplea el software Cura para optimizar las dimensiones y la geometría de las piezas. Cura ofrece herramientas avanzadas que permiten ajustar parámetros como la densidad de relleno, la velocidad de impresión y el soporte, lo que garantiza una impresión eficiente y resistente.
Durante el modelado, se consideran aspectos funcionales, estéticos y de integración con otros componentes del tanque. Se busca maximizar la resistencia de las piezas mientras se minimiza el consumo de material y el tiempo de impresión. Además, se realizan pruebas de ajuste para asegurar que las piezas encajen correctamente y cumplan con los requisitos de diseño.
11.3 Proceso de impresión 3D Una vez completado el modelado 3D de las piezas y optimizados los ajustes en Cura, se procederá al proceso de impresión 3D. Este proceso se llevará a cabo utilizando la impresora Shenzhen Creality y los filamentos PLA seleccionados previamente.
Antes de iniciar la impresión, se verificará que la impresora esté correctamente calibrada y nivelada para garantizar una adhesión adecuada a la plataforma de impresión. Se ajustarán los parámetros de impresión según las recomendaciones del fabricante del filamento y las especificaciones de diseño de las piezas.
El proceso de impresión 3D puede llevar varias horas o incluso días, dependiendo del tamaño y la complejidad de las piezas. Durante el proceso de impresión, se supervisará el funcionamiento de la impresora para detectar cualquier anomalía o problema técnico que pueda afectar la calidad de las piezas, como atascos de filamento o desprendimiento de capas, y se realizarán ajustes si es necesario.
Una vez completada la impresión de todas las piezas, se procederá a retirarlas con cuidado de la plataforma y se realizará un proceso de acabado si es necesario, como eliminación de soportes o lijado de superficies rugosas.
11.4 Pintura y Acabado Después de imprimir y lijar las piezas, se procederá a la fase de pintura. Para este proyecto, las piezas del tanque serán pintadas con pintura en aerosol negra y amarilla para crear un patrón de camuflaje. Las orugas del tanque también serán pintadas en negro con detalles de camuflaje amarillo.
La pintura en aerosol se elige por su capacidad de proporcionar una cobertura uniforme y un acabado duradero. Se aplicarán varias capas finas para evitar acumulaciones y asegurar una adherencia adecuada. Primero, se limpiarán las piezas impresas para eliminar cualquier residuo de polvo o grasa que pueda afectar la adherencia de la pintura.
El patrón de camuflaje se aplicarán hojas secas para obtener un diseño consistente y realista. Se alternarán capas de negro y con la ayuda de las hojas secas y la pintura amarillo, se realizara un manchado para hacer alución a un diseño camuflajeado, permitiendo que cada capa se seque completamente antes de aplicar la siguiente. Este proceso no solo mejora la estética del tanque, sino que también proporciona una capa adicional de protección a las piezas impresas en 3D.
- Visualización del Entorno en Unity 12.1 Integración de la vista de la cámara en Unity 12.2 Configuración de la visualización
- Diseño del Sistema de Control 13.1 Configuración del Arduino WiFi 13.2 Desarrollo del código para la comunicación entre Arduino y Unity 13.3 Implementación de la lógica de control del tanque