miércoles, 23 de septiembre de 2009

Prototipo Video Juego 3d con interfaz electrónica

UNIVERSIDAD TECNOLOGICA SAN ANTONIO DE MACHALA

PROYECTO DE EXPOFERIA:
Construcción de un prototipo de Video Juego 3D con
Sensores de movimiento.


INTEGRANTES:


Wilfredo Martel Sócola



INTRODUCCION

La tecnología ha progresado más rápido que nuestra habilidad para siquiera imaginar que vamos a hacer con ella. Hoy, un proceso digno de la mejor literatura de ciencia ficción, ha trastocado nuestra percepción y está revolucionando el mundo, no solo de la informática sino también en una diversidad de áreas como la medicina, la arquitectura, la educación y la ingeniería entre otros.
El presente trabajo, no es ni pretende ser, un exhaustivo desarrollo donde se traten todos los aspectos relativos a la Realidad Virtual, sino enfocar un estudio sobre esta, a fin de recopilar información que facilite la comprensión de este tema para el desarrollo del prototipo de video juego que se pretende realizar.
La realidad virtual entra en un exclusivo rango de herramientas que permite al usuario poder incursionar creativamente, hasta donde el límite de su imaginación se lo permita. Allí radica, muy posiblemente el mayor atractivo, por cuanto la imaginación y la creatividad tienen la oportunidad de ejecutarse en un "mundo" artificial e ilimitado sin restricciones.
Hoy en día el costo de estos dispositivos que nos permiten interactuar con los video juegos no son tan económicos y muy poco accesibles para las personas, motivo por el cual se ha decidido construir un prototipo que tenga las mismas características que los de fábrica y a bajo costo.

DESCRIPCION
El video juego que se pretende construir con ayuda de circuitos eléctricos se divide en:


  • Captar señales producidas por el usuario: consiste en un arreglo de láser ubicado estratégicamente en el piso y asociados con un sensor que detecta la presencia de los pies.


  • Estímulo muscular: consiste en enviar 12v a los músculos en caso de que el personaje del juego pierda.
    Con ayuda de estos dispositivos se intenta lograr que el usuario tenga la sensación de estar dentro del juego permitiéndole trasladarse por el entorno virtual , disparar y hasta sentir el dolor.

DESARROLLO
Para mejor comprensión del tema planteado, se ha dividido el proceso del trabajo en dos segmentos :

  1. Software : trata acerca de las herramientas necesarias para llevar a cabo el objetivo.

2. Hardware: Todo lo relacionado al circuito y interfaz.


Para la construcción del video juego se ha utilizado una libreria llamada irender que es compatible con Vb la cual permite manipular personajes que son hechos en cualquier software de modelado , pero en nuestro caso se ha utilizado 3dmax uno de los mejores software de animación para personajes 3d.Se ha escogido este software por que se tiene conocimiento para manipular personajes .

Herramientas necesarias:

  • Irender.dll
  • Directx

  • Visual Basic
Irender: Es una librería que me facilita la animación 3d y sus funciones más relevantes son las siguientes:
  • Cargar personajes

  • Luces

  • Camara

  • Control de JoyStick

Y las extensiónes que permite cargar son : .md5 , .x , .3ds.

Directx: Visual Basic ya trae por defecto esta librería de caso contrario habría que instalarla.
Una vez que se tiene todo estas herramientas instaladas se procede a crear las interfaces del juego pero en este mini tutorial no se explicará cómo se programó porque como verán son miles de líneas eso ya será trabajo por parte de Uds.


Nota:
La librería irender.dll debe agregarse al proyecto con la fuente para su correcto funcionamiento.


Hardware:
Esta parte es la encargada de la interacción entre el usuario y la maquina y tiene como objetivo estudiar y realizar el circuito necesario el correcto funcionamiento del juego.


La parte hardware del proyecto su vez se divide en :

  • Sensores
  • Circuito combinatorio

  • Transmisión

Veamos un pequeño esquema de cómo es el juego:




Sensores
Los sensores son nada más que haces de luz acompañadas de un circuito acondicionador de la señal, el cual permite detectar cuando hay o no presencia.
El circuito que se desarrollo entrega dos voltajes :


Presencia: 0v
No presencia: 5v

La señal del sensor es tratada en el circuito combinatorio encargado de interpretarla.
Veamos el circuito del sensor:





Bueno amigos los cálculos no los escribí porque queda como trabajo para Uds. Pero si en todo caso crees que no estás seguro de poder resolverlo puedes postear tranquilamente en el fórum pidiendo los cálculos del circuito.
Es muy importante observar amigos que Vout es la señal de salida que se lleva al circuito combinatorio para su procesado. Como pueden ver se necesitan cuatro sensores entonces hay que realizar 4 de estos.

Materiales para un sensor:
1 resistencia de 500 ohm, 50k , 5k y una fotorresistencia(foto celda)
1 diodo led
1 transistor npn 3904
1 laser

Circuito combinatorio

Este circuito se encarga de tratar la señal proveniente de los sensores y también para evitar falsos movimientos.
¿Qué quieres decir con falsos movimietos?
Bueno como puedes observar el diagrama del juego hay que evitar o rechazar cuando el usuario presione atrás y adelante o izq y derecha al mismo tiempo ya que el personaje en el video juego no sabria donde ir.Pues el circuito combinatorio hace justamente eso.
Veamos la imagen para poder comprender mejor este tema.




Como ven tenemos 4 interruptores : A-B-C-D
Siendo A = msb y D = lsb .Por si te haigas olvidado msb significa el bit mas significativo y lsb el menos significativo.
Podras observar que al pulsar D se enciende solo el primer led rojo el cual es un bit de información .Solo debe activarse uno a la ves de lo contario ni un led se prendera.


Ejemplo 2:





Como podras observar ningún led se ha encendido lo que da validez a la teoria que al inicio del titulo de circuito combinatorio comentaba sobre que no debía permitir izq y der a la misma vez.
Ahora solo falta enlazar el sensor a este circuito combinatorio , pues es fácil ya que en vez de los interruptores se manda la señal Vout , ¿La recuerdan? , si no la recuerdan echen una ojeada al circuito del sensor.Veamos como queda todo ya relacionado.





Como pueden notar las salidas son los cables celeste y estos se conectaran al pic16f28a el cual los leera cada 100mls y cualquier valor que se encuentre ento lo enviara al Pc.
Veamos este ejemplo de cómo lo realiza el Pic.
Al leer las salidas el pic recoje estos datos en 100mls:
Binario: 1000
Significa que A=1 , B=0,C=0 y D=0
Ahora transformemos esto a decimal lo cual es: 8
Osea : 1000 = 8

Ejemplo 2:
0100= 4

Ejemplo 3:
0010=2

Ejemplo 4:
0001=1

Ahora interpretemos esto para el software:
Si el sensor1 es interrumpido ir a la izq.
Si el sensor2 es interrumpido ir a la der.
Si el sensor3 es interrumpido ir hacia delante.
Si el sensor4 es interrumpido ir hacia atrás.
Ahora creo que todo ya esta mucho mas claro que antes, ¿o no?

TRANSMISION
En esta etapa de transmisión se conecta el pic16f28a al circuito combinatorio para luego conectar al ordenador y así recibir la información.


SEGUNDA PARTE LISTA EN DOS SEMANAS....



Aqui el video amigos..

viernes, 18 de septiembre de 2009

Robot Caminando

!!Que cool es este video...!