ARDUVISIÓN
Grupo 14: Vicálvaro
1-Introducción
«ARDUVISIÓN» se basa en la conexión de dos sistemas. En primer lugar, tenemos el Arduino que leerá de la IMU y de esta manera recogerá los movimientos del cliente y tendremos un programa en Blender (aplicación para la creación de animaciones 3D de código abierto), que reproducirá dichos movimientos en un entorno creado por nosotros.
2-Presupuesto
- Arduino Starter Kit – Prestado
- Gafas de realidad virtual – 7,05 €
- Mini protoboard – 1,00 €
- Caja Arduino – 2,24 €
- IMU BNO055 – 11,23 €
3- Material y funcionamiento
- IMU BNO055: es un componente basado en la combinación de acelerómetro, giroscopio y magnetómetro que sirve para medir las rotaciones de los ejes x,y,z. La engancharemos a las gafas para saber hacia donde está mirando el cliente. Esta IMU envía los datos de la rotación a la placa de Arduino.
- Placa Arduino: lee los datos de de la inclinación de las gafas y los junta en un solo mensaje para poder enviarlos por Serial a Blender.
- Gafas de realidad virtual: constan de un chasis y para poder utilizarlas es necesario el uso de un Smartphone que hará de pantalla.
- Ordenador con Blender y la IDE de Arduino: Blender decodifica el mensaje que ha leído de Arduino mediante un script de Phyton y la librería pySerial. Para ello, extrae los ángulos X,Y,Z y rota la cámara de la escena para que el cliente pueda ver el entorno. El ordenador envía la imagen del entorno 3D a la pantalla de las gafas.
- SpaceDesk: aplicación de Android que expande la pantalla del ordenador para poder verla en el Smartphone.
4-Desarrollo hardware
Las conexiones necesarias entre la placa BNO055 y Arduino serían:
5-Desarrollo software
6-Problemas encontrados
Aquí no estaba soldada…
Una vez soldada, ya se reconocía el movimiento. Y por fin, funcionó:
-Esto nos llevó al siguiente problema: no conseguíamos que se moviera la escena en Blender. Esto se debía a que usamos un script en Python que estaba hecho para Linux y tuvimos que realizar una serie de modificaciones para que funcionara en Windows.