Create your own LEGO steering wheel for PC gaming with Android and Python.
Project details
This program builds a custom steering wheel using LEGO and an old Android phone as a sensor. The mobile app captures motion and buttons, sending data via WebSocket to a Python script that emulates an Xbox 360 controller. Enjoy a customizable driving experience in GTA V with this innovative DIY solution.
Descripción: Un volante innovador para PC, creado a partir de piezas de LEGO y un viejo dispositivo móvil Android (Redmi Note 5A Prime) como sensor. Este proyecto permite a los usuarios experimentar un volante personalizado que es capaz de interactuar con juegos como GTA V mediante una combinación de hardware y software.
El sistema utiliza una aplicación Android para leer los datos del giroscopio y los botones, transmitiendo esta información a través de WebSocket a un script en Python en el PC, que convierte estas señales en un mando virtual de Xbox 360 mediante ViGEmBus. A continuación, se detalla cómo se configura y se utiliza:
móvil (app Android: giróscopo + botones)
| WebSocket (ws:// o wss://)
v
PC: server/server_https.py (con GUI para ajustar)
| vgamepad
v
mando Xbox 360 virtual (ViGEmBus) -> juegos
La estructura del repositorio se compone de las siguientes carpetas:
| Carpeta | Descripción |
|---|---|
server/ | Script de Python que maneja la conexión, incluyendo FastAPI y la interfaz gráfica de usuario (GUI). |
apk/ | APK ya compilada para fácil instalación. |
android/ | Código fuente de la aplicación Android, escrita en Kotlin y Jetpack Compose. |
Para iniciar, los usuarios deben:
Para quienes enfrenten inconvenientes, se proporcionan pasos de diagnóstico para verificar la conexión y el funcionamiento del sistema, desde probar el audio hasta ajustar las configuraciones de la aplicación y el servidor.
Este proyecto ofrece una oportunidad única para quienes deseen construir un volante de juego funcional basándose en componentes accesibles y conocimientos básicos de programación, fusionando la ingeniería mecánica ligera con la programación en Python y el desarrollo de aplicaciones Android.
Comments
0Start the conversation
Share the first comment.