cybershibo/Masa-Resorte-Amortiguador
Repositorio para el software de un prototipo de masa-resorte -amortiguador para la materia de modelado matemático en la maestría de ciencias de la ingeniería.
Instrucciones
Este programa funciona exclusivamente en Windows y requiere Python 3.14 o superior para su ejecución.
Instalación de Python
- Descarga e instala Python para Windows desde la página oficial: https://www.python.org/downloads/windows/
Asegúrate de marcar la opción "Add Python to PATH" durante la instalación.
- Al finalizar la instalación, selecciona la opción "Disable path length limit".
Instalación de dependencias
-
Abre una terminal en el directorio raíz del proyecto (puedes usar "Símbolo del sistema" o "PowerShell").
-
Verifica que Python esté instalado correctamente ejecutando:
python --versionEl resultado esperado debe ser similar a:
Python 3.10.0O una versión superior a 3.10.
- Actualiza
pip(el gestor de paquetes de Python) con el comando:
python -m pip install --upgrade pip- Instala todas las dependencias necesarias utilizando el siguiente comando:
python -m pip install -r requirements.txtSi este comando no funciona, puedes instalar los paquetes manualmente con:
python -m pip install pyserial
python -m pip install matplotlib
python -m pip install pyqt5
python -m pip install pyside6Ejecución del programa
Una vez instaladas las dependencias, puedes ejecutar el programa únicamente si hay un MRA conectado a la computadora; de lo contrario, el programa mostrará un error y finalizará su ejecución.
- Ejecuta el archivo
launcher.exehaciendo doble clic sobre él o desde la terminal:
.\launcher.exeLa interfaz gráfica aparecerá después de algunos segundos. La primera vez puede tardar más, ya que el programa genera un caché de las librerías. Tras la carga, el programa te pedirá seleccionar un puerto COM para conectarse:
- Una vez conectado, el programa mostrará en tiempo real el comportamiento de los sensores; las medidas iniciales deberían estar muy cercanas a 0.
Si esto no ocurre, resetea el circuito desconectándolo y volviéndolo a conectar, dejando los carros en la posición neutral deseada para el "0".
Generación de archivos CSV
El programa, de forma automática, genera archivos CSV donde se almacenan las lecturas, el estado de los sensores y eventos relevantes (como fallas o reinicios).
La generación y registro de datos es completamente automática, y el archivo se denomina con el siguiente formato:
sesion-añomesdia-horaminutosegundo.csv
Esquemático
El prototipo se basa en un microcontrolador STM32F411CEU6, específicamente en la placa de desarrollo WeeAct Blackpill 3.0. Los sensores utilizados son los VL53L0X de Adafruit.
Codigo de colores
Cada sensor tiene 6 pines, sin embargo, solo 5 se utilizan:
- VIN: Voltaje de entrada, 3.3V
- GND: Tierra/Común
- SCL: Reloj I2C
- SDA: Datos I2C
- GPIO1: Sin uso
- XSHUT: Selección de sensor (ENABLE)
| Pin del sensor | Color | Pin del microcontrolador |
|---|---|---|
| VIN | Rojo | 3.3V |
| GND | Negro | GND |
| SCL | Verde | SCL (PB6) |
| SDA | Amarillo | SDA (PB7) |
| GPIO1 | N/A | — (sin conexión) |
| XSHUT | Blanco | PA1/PA0 |






