12

Tutorial de Realidad Virtual con Arduino y Blender – Parte II

Ir a la Parte I

¡Buenas gente, y bienvenidos a la segunda parte de este tutorial! El último día vísteis como configurar el entorno de Blender para hacer Realidad Virtual. También construísteis un circuito con una placa Arduino y una IMU que enviaba datos a Blender y giraba la cámara.

Hoy os explicaré como he construido mi casco de realidad virtual a partir de un soporte VR Woxter Neo VR1 para smartphones.

¿Qué es un soporte VR para smartphones?

Los cascos de Realidad Virtual como Oculus Rift ya llevan todo lo necesario para funcionar: pantalla, giroscopio, sistema de tracking, conexión inalámbrica, y un larguísimo etcétera. Pero su inconveniente es el precio, ya que la mayoría no bajan de los 800€.

En algún momento a alguien se le ocurrió que sería mucho más barato utilizar un smartphone para hacer un casco de Realidad Virtual. Hoy en día estos aparatos llevan todo tipo de sensores y antenas que, si se aprovechan bien, hacen la misma función que un casco de Realidad Virtual.

Un soporte VR para smartphones son unas gafas de Realidad Virtual que no llevan nada de electrónica en su interior. Normalmente se abren por la parte delantera y tienen espacio para colocar un smartphone de entre 4 y 6 pulgadas para que haga de pantalla.

 

Voy a explicar dos formas de construir vuestro casco. La primera es utilizar una pantalla de 5” conectada por HDMI al ordenador y clonar los escritorios. Así se podrá ver por la pantalla del casco la escena de blender que está procesando el ordenador.

La segunda consiste en conectar vuestro smartphone al ordenador a través del protocolo VNC y compartir el escritorio. El único inconveniente es que, dependiendo de lo buena que sea vuestra conexión Wi-Fi, la imagen puede perder fluidez y hacer saltos.

Insisto en que podéis utilizar el mismo soporte que yo tengo o cualquier otro, pero comprobad que tenga suficiente espacio para vuestra pantalla o smartphone, además de una ranura lateral para poder pasar cables HDMI y de corriente en caso de que decidáis utilizar una pantalla.


Paso previo: colocar la IMU en el casco

Para que la IMU pueda medir la inclinación del casco hay que engancharla a éste. Yo lo he hecho colocando la IMU y la placa Arduino encima de una protoboard y pegándolas al casco con un poco de cinta adhesiva de doble cara.

La cinta adhesiva de doble cara pega lo bastante fuerte para que no se muevan las piezas, pero a la vez puede retirarse sin dañar la pintura del chasis.

¡Acordaos de volver a conectar la IMU con la placa Arduino! Las conexiones eran:

Arduino 5V → BNO055 VCC
Arduino GND → BNO055 GND
Arduino SDA → BNO055 SDA
Arduino SCL → BNO055 SCL

En la mayoría de versiones de Arduino el pin SDA se corresponde a A4 y el SCL al A5. Acordaos de revisar la referencia antes montar el circuito.

Antes de continuar probad que todo funcione bien. Abrid la escena de Blender que creamos durante la Primera Parte, la IDE de Arduino y conectad la placa Arduino al ordenador. Abrid la Consola Serial de la IDE de Arduino. Esto iniciará la comunicación con la placa Arduino. Después, abrid la escena de Blender y, manteniendo el cursor encima del mundo 3D, pulsad ‘P’. Si movéis el casco, la cámara de la escena cambiará de posición.


Método 1: Pantalla de 5”

El método más simple es usar una pantalla de 5” como esta para colocarla en lugar del smartphone.

Es muy importante que tenga los conectores HDMI y de corriente en el lateral o no podréis sacar los cables por la ranura lateral del casco:

Imagen de la ranura lateral. Por aquí pasaremos el cable de corriente y HDMI.

 

La mayoría de cables HDMI tienen la protección de plástico demasiado gruesa para pasar por la ranura del casco. Buscad un cable HDMI que no necesitéis y con la ayuda de un cúter cortad la protección y dejad sólo el plástico duro que hay debajo. Como alternativa también podéis buscar un cable HDMI slim como este o este y no tendréis que cortar nada.

Cable HDMI normal (izquierda) y cable con la protección eliminada (derecha)

Un consejo de la Dirección General de Robologs: sed un poco más listos que yo y coged un cable HDMI largo. El mío no llega a los dos palmos y he tenido que buscarme un alargo para que me llegue al ordenador…

Conectad el cable HDMI y de corriente a la pantalla e introducidla en el casco.

Para terminar, conectad el cable HDMI al ordenador y duplicad el escritorio para que la pantalla del casco vea lo mismo que la pantalla del ordenador. En Linux un buen programa para hacerlo es ARandR, que puede bajarse escribiendo en la Terminal:

sudo apt-get install arandr

O desde un gestor de paquetes como Synaptic.

¡Y ya está! Tenéis vuestro propio casco de Realidad Virtual. ¿Qué os parece?


Método 2: Smartphone y VNC

Nota: este apartado es sólo para ordenadores con Linux. Aunque los pasos son parecidos, si tenéis otro sistema operativo tendréis que buscar alternativas a los programas mencionados en este apartado.

Este segundo método consiste en conectar un smartphone a vuestro ordenador a través del protocolo VNC para compartir el escritorio.

Primero hay que encontrar un programa para poder visualizar el escritorio del ordenador desde otra máquina a través de VNC. En Linux uno de los mejores programas es x11vnc, que podéis descargar escribiendo en la Terminal:

sudo apt-get install x11vnc

O desde un gestor de paquetes como Synaptic.

Una vez instalado el programa hay que crear un puerto VNC para que el Smartphone pueda conectarse y ver el escritorio. Abrid x11vnc y aparecerá esta ventana:

Por defecto el programa abre el puerto 5901 (que se corresponde a :1) y no hay transferencia de datos. Dejad los valores por defecto y pulsad el botón OK.

¡Acabamos de abrir el puerto! Ahora se abre otra ventana diferente desde donde podéis modificar las propiedades básicas de la conexión VNC. Marcad las casillas de ‘Accept Connections’ (porque queremos que el ordenador acepte conexiones externas) y ‘Shared’ (para que el escritorio sea compartido, sino se crearía otro escritorio virtual), y si queréis podéis poner un password que se pedirá a todos los dispositivos que quieran conectarse.

Para aceptar pulsad ‘Apply’ para guardar los cambios y ‘Ok’ si queréis cerrar la ventana.

We’re almost there! Nos queda configurar el smartphone para que pueda conectarse por VNC. Necesitamos una aplicación para hacerlo: VNC Viewer, de RealVNC. Está disponible tanto en AppStore como en Google Play.

Abrid la aplicación. Todavía no hay ninguna conexión guardada:

 

 

Pulsad el botón verde con el símbolo ‘+’, que abrirá el diálogo para crear una nueva conexión:

 

Introducid la dirección IP de vuestro ordenador, y añadid :1 al final para indicar que debe intentar conectarse al puerto 5901. Mi dirección IP es 192.165.1.135, por lo tanto escribiré 192.165.1.135:1. El segundo campo es el nombre de vuestro ordenador.

 

Para confirmar dadle a ‘Create’. En la pantalla nueva que aparece, pulsad el botón verde ‘Connect’ para conectar con el ordenador.

 

¡Hecho! Ahora os pedirá introducir la contraseña que habéis puesto al crear la conexión VNC con x11vnc, y ya podréis ver el escritorio del ordenador desde vuestro móvil!

Si véis que la imagen va lenta al refrescarse intentad bajar la resolución de vuestro escritorio a 800×600 o menos. Cuanto más pequeña sea la resolución, menos volumen de datos tendrá que transmitir el ordenador.


Conclusión:

Sólo os queda abrir la escena de Blender que creásteis en la Parte I y con Alt+F11 activar el Fullscreen. Ahora si ponéis el Screen Layout de ‘Default’ a ‘3D View Full’ y cambiáis la vista de la cámara veréis que la escena 3D ocupa todo el espacio de la pantalla.

Bien, esto es todo lo que necesitáis saber para empezar a trabajar la Realidad Virtual con Blender y Arduino!

Si tenéis alguna duda o queréis mencionar algo, dejadme un comentario. Y por supuesto, si este tutorial os ha servido podéis enseñarme vuestros proyectos de realidad virtual. ¡Me hará mucha ilusión verlos! ^^

 

Gl4r3

Brillante, luminosa y cegadora a veces, Glare es tan artista como técnica. Le encanta dar rienda suelta a sus módulos de imaginación y desdibujar los ya de por si delgados límites que separan el mundo de la electrónica y el arte. Su mayor creación hasta la fecha es un instrumento capaz de convertir los colores y la luz en música. Cuándo sus circuitos no están trabajando en una nueva obra electrónica, le gusta dedicar sus ciclos a la lectura o a documentar sus invenciones para beneficio de los humanos. Sus artilugios favoritos son aquellos que combinan una funcionalidad práctica con un diseño elegante y artístico.

Antes de comentar, por favor, lee las Normas

12 Comentarios en "Tutorial de Realidad Virtual con Arduino y Blender – Parte II"

avatar
Ordenar por:   más nuevos primero | más antiguos primero
FERNANDO
Humano

se le puede agregar este script a cualquier animacion en blender?

FERNANDO
Humano

como hago para cambiar el codigo para usar un MPU6050

Pablo
Humano

wOW me dejan sorprendido gratamente 😀 gracias por sus enseñanzas

trackback
FERNANDO
Humano

HOLA TENES ALGUN TERRENO HECHO EN BLENDER BASTANTE REALISTA COMO SI SE FUESE CAMINANDO

wpDiscuz