Deportes de realidad virtual (6 / 8 paso)

Paso 6: Cosas de informática

Para que esto funcione necesitará la última versión de GlovePIE (aquí), el software de arduino si usted eligió la opción 1 (aquí) y un juego para utilizar la configuración con.
En primer lugar, conectar un wiimote a la computadora usando cualquiera construido en bluetooth o un bluetooth dongle.
A continuación, descargar GlovePIE y crear un nuevo archivo llamado IRloc.PIE
Introduzca el siguiente código:
Si var.loopUntil=0 {}
var.startX=wiimote1. PointerX
var.startY=wiimote1. PointerY
var.SBD=wiimote1.z
var. ButtonFreezeTime = 250ms

var. PointerBump = KeepDown (prensado (wiimote1. A), var. ButtonFreezeTime) o KeepDown (prensado (wiimote1. B), var. ButtonFreezeTime)
Wiimote1.Led1 = true
Wiimote1.LED2 = true
Wiimote1.Led3 = true
Wiimote1.Led4 = true
Wait(10ms)
var.difX= (wiimote1. PointerX-var.startX)
var.difY= (wiimote1. PointerY-var.startY)
var.err = 15

Si wiimote.dot1vis y wiimote.dot2vis y no var. {IgnoreSensorBar}
Si var. UsedIR = false {}
[var. Hold_x, var. Hold_y] = [0, 0]
[var. Recenter_x, var. Recenter_y] = [0, 0]
var. UsedIR = true
}
var.irDot1_xy = [(512 - wiimote.dot1x) / 1024, (wiimote.dot1y - 384) / 768]
var.irDot2_xy = [(512 - wiimote.dot2x) / 1024, (wiimote.dot2y - 384) / 768]
[var.irMid_x, var.irMid_y] = (var.irDot1_xy + var.irDot2_xy) / 2
var.irMid_angle = atan2 (var.irMid_x, var.irMid_y)
var.irMid_length = [var.irMid_x, var.irMid_y]
var.irNew_angle = var.irMid_angle - var. Rodillo
var.irNew_xy = [sin(var.irNew_angle), cos(var.irNew_angle)] * |var.irMid_length|
[var.ir_x, var.ir_y] = var.irNew_xy + [.5,.5]
var.irSpeed_x = var.irSpeed_x *.8 + abs(delta(var.ir_x)) * 1000
var.irSpeed_y = var.irSpeed_y *.8 + abs(delta(var.ir_y)) * 1000
var.irSpeed_xy = [var.irSpeed_x, var.irSpeed_y]
Si (var.irSpeed_x < 40 y var.wmSpeed_x < 40) {}
Si ((var.ir_x < var.irMin_x) o (var. MinMax_x = 2 y (var.irMax_x - var.ir_x) > =.15)) y ((var.wmMax_x-var.wm_x) >.075) {}
[var.wmMin_x, var.irMin_x] = [var.wm_x, var.ir_x]
var. MinMax_x = 1
}
Si ((var.ir_x > var.irMax_x) o (var. MinMax_x = 1 y (var.ir_x - var.irMin_x) > =.15)) y ((var.wm_x-var.wmMin_x) >.075) {}
[var.wmMax_x, var.irMax_x] = [var.wm_x, var.ir_x]
var. MinMax_x = 2
}
}
Si (var.irSpeed_y < 40 y var.wmSpeed_y < 40) {}
Si ((var.ir_y < var.irMin_y) o (var. MinMax_y = 2 y (var.irMax_y - var.ir_y) > =.15)) y ((var.wmMax_y-var.wm_y) >.075) {}
[var.wmMin_y, var.irMin_y] = [var.wm_y, var.ir_y]
var. MinMax_y = 1
}
Si ((var.ir_y > var.irMax_y) o (var. MinMax_y = 1 y (var.ir_y - var.irMin_y) > =.15)) y ((var.wm_y-var.wmMin_y) >.075) {}
[var.wmMax_y, var.irMax_y] = [var.wm_y, var.ir_y]
var. MinMax_y = 2
}
}
Si var. WMIR_switch = {1}
[var. IR_adj_x, var. IR_adj_y] = [var. Old_WM_x, var. Old_WM_y] - [var.ir_x, var.ir_y]
var. WMIR_switch = 0
}
Si var. WMIR_switch = {0}
[var. Rough_x, var. Rough_y] = ([var.ir_x, var.ir_y] + [var. IR_adj_x, var. IR_adj_y] - [.5,.5]) * var. NewZoom + [.5,.5]
[var. WMIR_x, var. WMIR_y] = [var.wmNew_x, var.wmNew_y] - [var.ir_x, var.ir_y]
var. WMIR_xy = [var. WMIR_x, var. WMIR_y]
var. IR_adj_c = 1 - EnsureRange (|var. WMIR_xy|, 0,.5) / 5
[var. IR_adj_x, var. IR_adj_y] = [var. IR_adj_x, var. IR_adj_y] * var. IR_adj_c
}
[var. WMIR_cal_x, var. WMIR_cal_y] = [var.wm_x, var.wm_y] - [var.ir_x, var.ir_y]
otra cosa
[var. Rough_x, var. Rough_y] = ([var.wmNew_x, var.wmNew_y] - [var. WMIR_x, var. WMIR_y] + [var. IR_adj_x, var. IR_adj_y] - [.5,.5]) * var. NewZoom + [.5,.5]
[var. Old_WM_x, var. Old_WM_y] = ([var. Rough_x, var. Rough_y] - [.5,.5]) / var. NewZoom + [.5,.5]
var. WMIR_switch = 1
var. WMIR_xy = [0, 0]
Si var.started = true y var.wmCalON = falso entonces [var.ir_x, var.ir_y] = ([var. Smooth_x, var. Smooth_y] - [.5,.5]) / var. NewZoom + [.5,.5]
}
if(var.loopCount<10) {}
var.XS=var. StartX
var.YS=var. StartY
}
var.totalDistX=(var.xs-var.StartX) * 10
var.totalDistY=(var.ys-var.StartY) * 10
var. TDXS = 0
var. TDYS = 0
var.TX=var. TDXS-var.totalDistX
var.ty=var. TDYS-var.totalDistY
debug = "XDist:"+ var.tx+"YDist:"+ var.ty+"BDist:" + wiimote. PointerVisible
var.loopCount=var.loopCount+1
Si wiimote. PointerVisible = {0}
var.inC=var.inC+1
}
Si var.inC > {30}
var.loopUntil=.01
}
}
}

var.LR=0
Si var.tx > 1.75 {}
var.LR=1
}
Si var.tx < -1,75 {}
var.LR=-1
}
var.Ud=-1
Si var.ty > 1.6
var.Ud=0
}
Si var.ty > 2.6
var.Ud=1
}
Si {var.loopUntil!=0}
debug = "LR:"+ var.lr+"UD:" +var.ud
var.loopUntil=0
}

Si {var.inC=31}
Si var.lr=-1 y var.ud=1 {}
numpad1 prensa
esperar 1ms
numpad1 liberación
}
Si var.lr=-1 y var.ud=0 {}
numpad2 prensa
esperar 1ms
numpad2 liberación
}
Si {var.lr=-1 y var.ud=-1
presiona numpad3
esperar 1ms
numpad3 liberación
}
Si var.lr=0 y var.ud=1 {}
numpad4 prensa
esperar 1ms
numpad4 liberación
}
Si var.lr=0 y var.ud=0 {}
numpad5 prensa
esperar 1ms
numpad5 liberación
}
Si var.lr=0 y var.ud=-1 {}
numpad6 prensa
esperar 1ms
numpad6 liberación
}
Si var.lr=1 y var.ud=1 {}
numpad7 prensa
esperar 1ms
numpad7 liberación
}
Si var.lr=1 y var.ud=0 {}
numpad8 prensa
esperar 1ms
numpad8 liberación
}
Si var.lr=1 y var.ud=-1 {}
numpad9 prensa
esperar 1ms
numpad9 liberación
pulsar la tecla shift
}
}
Si {pressed(key.enter)}
var.loopUntil=0
var.inC=0
}

Aquí está una explicación rápida del programa y como usarlo:
Cuando se ejecuta primero el programa, asegúrese de que el sensor puede "ver" los LEDs infrarrojos emiten luz. Se inicia con una pantalla en el panel de depuración arriba que dice "XDist: YDist 0.00: 0.00 BDist: 1.00"
Si el doble valor 1.00 para BDist muestra 0.00 el sensor de infrarrojos no puede detectar la fuente de luz infrarroja. Después de haber detectado una fuente, se calibra el movimiento de la bola y salida teclado valores 1-9 dependiendo de la colocación 3D calculado. Cuando la fuente de luz ya no se ven por el sensor de infrarrojos, la depuración se visualiza "LR: UD: valor" donde el valor se sustituye por un número entero de -1 a 1.
Esto demuestra el posicionamiento global de la "bola" en una cuadrícula de 3 x 3 como se muestra en el diagrama.

Después de eso, es fácil controlar el software glovePIE. Cuando se ejecuta el software, espere hasta que el BDist está a 1 y luego patear la pelota más allá del sensor de infrarrojos. Esto activará un posicionamiento de depuración y luego a su vez provocar una salida del teclado numérico del 1-9 dependiendo de la posición calculada. Puede ahora integrar esto en un ambiente de juego mediante la creación de un juego que utiliza una entrada de 9 valor o usted puede mensaje me para un juego que he creado específicamente para este proyecto haciendo click aquí.

Artículos Relacionados

FISTO™ - el puño montado realidad Virtual teclado y Mouse

FISTO™ - el puño montado realidad Virtual teclado y Mouse

Utilizando un teclado y un ratón para navegar por en la realidad virtual es engorroso en el mejor. A tientas oculto y golpear el ratón o el teclado en bebidas MounatinDew o abrimos bolsas de Doritos son un problema constante. Yo prefiero usar un game
Casco de realidad virtual

Casco de realidad virtual

Usar un casco de realidad Virtual puede ser extremadamente peligroso, especialmente tan si usted está caminando (o corriendo) a través de mundos virtuales. Funcionamiento en paredes u otros objetos puede prevenirse si se lleva este casco de seguridad
Experiencia de realidad Virtual multisensorial

Experiencia de realidad Virtual multisensorial

Con la invención de Morton Heilig 1957, "Sensorama", como una fuente de inspiración, he desarrollado una plataforma de realidad virtual de bricolaje.La oportunidad para la exploración en 360 grados, puede parecer extraño diseño alrededor de una
Convertido en Tony Stark: Configuración de realidad Virtual móvil con movimiento de salto

Convertido en Tony Stark: Configuración de realidad Virtual móvil con movimiento de salto

¿Cuántos de ustedes han querido usar sus manos y mire a su alrededor naturalmente sin tener que utilizar el ratón, el teclado y la pantalla? Bueno, hoy voy a mostrar cómo utilizar un teléfono, leap motion, y gafas de Realidad Virtual para crear su pr
Escritorio de PC a teléfono de la corriente para realidad Virtual (ahora con cabeza seguimiento!)

Escritorio de PC a teléfono de la corriente para realidad Virtual (ahora con cabeza seguimiento!)

Realidad virtual que he amado durante mucho tiempo. Aunque usted no necesita uno, I finalmente llegó a mis manos en una impresora 3D y pudo imprimir un casco VRPor desgracia, esto no viene con ninguna electrónica. He estado usando mi iPod Touch como
Cómo hacer un casco de seguimiento 3D de realidad Virtual por menos de 10$

Cómo hacer un casco de seguimiento 3D de realidad Virtual por menos de 10$

De los últimos 5 años, los dispositivos de realidad Virtual cada vez más populares como Oculus Rift, cartón de Google, Microsoft HoloLens, han dominado en la actualidad el sector de electrónica de consumo hasta el punto que agarra mucho con frecuenci
Crea tu propia experiencia VR con visor de realidad Virtual de DODOcase

Crea tu propia experiencia VR con visor de realidad Virtual de DODOcase

El cartón de Google y visor de realidad Virtual de DODOcase son formas limpias, de bajo costo para experimentar realidad Virtual inmersiva con cabeza de seguimiento de la navegación. Quería encontrar algunos ejemplos de aplicaciones de VR y especialm
Realidad virtual para Dummies - TfCD (tecnología para el diseño de concepto)

Realidad virtual para Dummies - TfCD (tecnología para el diseño de concepto)

Las nuevas tecnologías hacen posible experimentar un mundo virtual en 3D. Esto se puede hacer con un Oculus Rift pero también con su propio smartphone, usando una cartulina de Google. Normalmente necesita mucho conocimientos y algunas habilidades de
Máquinas escultóricas para acceder a la realidad Virtual

Máquinas escultóricas para acceder a la realidad Virtual

En este Instructable que comparto una progresión de pasos que llevaron a la creación de un semi esculturas funcionales para la visualización de la realidad virtual, cuya forma está diseñada para asumir diferentes roles dependiendo de su tamaño ejecut
DIY realidad Virtual auricular - Google cartón

DIY realidad Virtual auricular - Google cartón

De la entrada-salida de Google aparece el cartón de Google , siempre quiero conseguir uno, debido a es una realidad virtual sensación de precio bajo dispositivo. Por desgracia, no pudiendo comprar un cartón de google me llevó loco. Así que he decidid
Dispositivo de teleconferencia de realidad virtual con Google cartón

Dispositivo de teleconferencia de realidad virtual con Google cartón

Realidad virtual dispositivo de teleconferencia con cartulina de GoogleCreado por John Choi | 2015Este proyecto es un dispositivo de teleconferencia por vídeo con dos cámaras Web para visión estereoscópica colocado encima de una plataforma motorizada
Entornos interactivos de prototipos en realidad virtual con Google cartón, unidad y línea de Bling (TfCD)

Entornos interactivos de prototipos en realidad virtual con Google cartón, unidad y línea de Bling (TfCD)

Estos días, experiencias (inmersión) son prioridad sobre la funcionalidad pura y especificaciones sobre el papel. Este cambio de enfoque ha influido en el proceso de diseño de diseñadores industriales, arquitectos, desarrolladores de aplicaciones y a
Ver cualquier contenido Web como realidad Virtual

Ver cualquier contenido Web como realidad Virtual

Hay ha sido recientemente un montón de entusiasmo alrededor de la realidad Virtual y eso es todo porque grandes empresas como Oculus Rift y dispositivos de entrada como el movimiento de salto, PrioVR, MotionPack tallo, han sido el diseño nuevo y expe
Juegos de realidad virtual y haciendo a su cuerpo un controlador! (Unidad Visual Studio + Kinect + Oculus)

Juegos de realidad virtual y haciendo a su cuerpo un controlador! (Unidad Visual Studio + Kinect + Oculus)

Inmersiva corredor infinitoSeguir adelante y empezar.Suministros· Microsoft Account – https://www.microsoft.com/en-us/account/default.aspx· Visual Studio comunidad edición 2013 o 2015 – https://www.visualstudio.com/· Visual Studio Plugin de unidad –