6. LA BALANCE BOARD

Anuncio
6. LA BALANCE BOARD
6.1 INTRODUCCIÓN
La Wii Banlance Board es una tabla de equilibrios, que es un accesorio para la
consola de videojuegos Wii, de Nintendo. Fue presentada el 11 de Julio de 2007 en el
E3 (Electronic Entertainment Expo), una feria comercial anual para la industria de los
videojuegos.
Este dispositivo de entrada vió la luz junto al videojuego Wii Fit. Es un
dispositivo wireless, que usa un standard Bluetooth para comunicarse con la Wii,
implementa el mismo protocolo que el Wiimote para las comunicaciones, y expone la
mayoría de sus funcionalidades.
Figura 6.1: la Balance Board
1
6.2 DESARROLLO
El desarrollo de la Balance Board estuvo fuertemente ligado con el desarrollo
del juego Wii Fit. Inicialmente Nintendo contactó con constructores de básculas
caseras normales, pero acabó construyendo la tabla sin su ayuda en un esfuerzo de
reducir costes. En los primeros modelos desarrollados, la tabla era una simple báscula
con un sensor de presión. Sin embargo, los desarrolladores se dieron cuenta que una
simple báscula no sería útil como un accesorio de juego y ampliaron el número de
sensores de presión a dos, y luego a cuatro. La idea de usar varios sensores fue
inspirada en parte por como se pesan los luchadores de sumo (usando dos básculas).
La forma de la Balance Board original fue inicialmente cuadrada, pero se decidió que
sería muy difícil de usar para los ejercicios.
Durante mucho tiempo, la tabla fue una extensión del controlador al Wii remote
normal. Los efectos de esto se ven en la Balance Board lanzada, la cual actúa como
un Wii Remote con el botón frontal mapeado al A y todos los sensores de presión
sobre un “controlador de extensión”.
6.3 DISEÑO
La Wii Balance Board tiene una forma aproximadamente rectangular, a modo de
báscula casera, con una parte superior blanca y plana, y una parte inferior gris claro.
Funciona con cuatro pilas AA, las cuales pueden alimentar la tabla durante unas 60
horas. La tabla tiene bluetooth y contiene múltiples sensores que son usados para
medir el centro de balanceo del usuario (el punto de intersección entre una línea
imaginaria dibujada verticalmente a través del centro de masa y la superficie de la
Balance Board) y el índice de masa corporal. Según Shigeru Miyamoto, diseñador y
productor de videojuegos de Nintendo, la Balance Board tiene más precisión
midiendo peso que cualquier báscula casera.
Figura 6.2: la Balance Board en uso
2
La Balance Board está diseñada para soportar gente de hasta 150 kilogramos,
aunque es algo menos en la versión japonesa, donde ronda los 136. Esta diferencia se
debe a las diferentes normativas, pero realmente es la misma tabla. La estructura de la
tabla es capaz de aguantar una fuerza superior a los 300 kilogramos de peso.
Debido a las similaridades entre los dos productos, la Wii Balance Board ha sido
comparada con la Joyboard, un periférico lanzado para la consola de videojuegos
Atari 2600 en 1982 por Amiga Corporation. La tecnología en la Joyboard era por
supuesto mucho menos avanzada.
Figura 6.3: Balance Board vs. Joyboard
Se dice en el manual de la Balance Board que debe usarse sólo sobre una
superficie dura o sobre una alfombra fina, ya que una superfice más gruesa o blanda
puede provocar el mal funcionamiento de la misma. Se puede conseguir un conjunto
de extensiones para los pies que permitiría el uso sobre superficies dichas superficies
blandas.
La Balance Board debe usarse descalzo y usando un tipo de calcetines con el
agarre suficiente para la superficie dura.
3
6.4 DENTRO DE LA BALANCE BOARD
Hay disponible información suficiente para conseguir lecturas calibradas desde
los cuatro sensores de presión y recibir eventos desde el botón y manejar el único led.
Hay más información disponible para el registro del controlador de extensión, pero
no con un propósito determinado.
6.4.1 Comunicación Bluetooth
La Wii Balance Board comparte los mismos servicios que el Wiimote sobre el
Protocolo del Servicio de Descubrimiento (SDP). La tabla también posee un botón
rojo llamado sync que deberemos pulsar para iniciar el proceso de comunicación, y
que, de la misma forma, se sitúa en la parte posterior junto a las baterías.
Figura 6.4: parte posterior de la tabla.
Figura 6.5: botón sync en la Balance Board
6.4.2 Interfaz HID
La Wii Balance Board opera de manera similar al Wiimote como un dispositivo
HID, sin embargo, el nombre es Nintendo RVL-WBC-01. Genera informes para
varias características del Wiimote, incluso si el hardware está ausente.
6.4.3 Envío De Datos
Se soportan todos los modos de informes de datos del Wiimote. Ya que
actualmente sólo se conoce el significado de ocho bytes del informe de extensión, el
tipo 0x32 (“Core Buttons with 8 Extension bytes”) es el más apropiado.
4
6.4.4 Memorias Y Registros
Memoria EEPROM
En este momento no está documentado si la Wii Balance Board posee algun
espacio de almacenamiento EEPROM.
Registros De Control
Los registros de control para los controladores de extensión son los únicos
actualmente válidos, ya que no hay IR o altavoz en la tabla. El acceso a los registros
del controlador de extensión es idéntico al del Wiimote.
6.4.5 Características De Entrada
La Wii Balance Board tiene un único botón físico, accesible como el botón
principal “A”, correspondiente al bit 3 del segundo byte del estado de los botones.
6.4.6 Características De Realimentación
La Wii Balance Board tiene un único LED, controlado por los mismos reports
que el Wiimote usa para controlar el LED del jugador. No hay vibrador ni altavoz.
6.4.7 Controladores De Extensión
La Wii Balance Board aparece como un Wiimote con un controlador de
extension Balance Board conenctado permanentemente. La extensión Balance Board
es accedida de forma similar a un controlador de extensión normal sobre sobre el
Wiimote.
Inicialización De Registros
La extensión Balance Board es inicializada como un contolador de extensión
normal, sin embargo, no hay necesidad de asumir encriptación o desencripatación
sobre los datos leidos desde los registros o en los mandados a través de los reports de
salida.
5
Identificicación
Los últimos dos bytes del bloque de registros identifica el Controlador de
Extensión conectado. Una lectura del dos bytes del registro 0xa400fe devolverá estos
bytes. El Controlador de Extensión debe haber sido inicializado a priori, escribiendo
0x00 en el registro clave. La extensión de la Balance Board es identificada con la
constante 0x2A2C (0x0402 encriptada) en el registro de direcciones 0xa400fe.
Valor
Valor desecriptado
Significado
0x0402
0x2A2C
Wii Balance Board
Tabla 6.1: bytes de identificación de Balance Board
Notar que el valor desencriptado es aquí una conveniencia con las librerías que
automaticamente desencriptan este indentificador, presentando el código que
identifica el controlador de extensión. El valor desencriptado es más consistente con
los identificadores de controladores de extensión existentes.
Documentación Del Controlador De Extensión
La Wii Balance Board posee cuatro sensores de presión de 16 bits a través del
interfaz del controlador de extensión, con los datos necesarios para la calibración que
permita las conversiones de las medidas de masa.
Formato de datos: los reports de la Balance Board son al menos 8 bytes de
datos, legibles en 0xa40008 y enviables usando modos de reports de datos. que
incluyan bytes de extensión (los bytes no usados se rellenan con 0x00). Los datos en
los primeros 8 bytes son como sigue:
Byte\bit
7
6
5
4
3
0
Top Right <15:8>
1
Top Right <7:0>
2
Bottom Right <15:8>
3
Bottom Right <7:0>
4
Top Left <15:8>
5
Top Left <7:0>
6
Bottom Left <15:8>
7
Bottom Left <7:0>
2
1
0
Tabla 6.2: formato de los datos del report de la Balance Board
6
Los siguientes dos bytes también parecen tener valores, pero uso desconocido.
Calibración de datos: los datos de calibración de los sensores de la tabla se
encuentran desencriptados en los 24 bytes desde 0xa40024 a 0xa4003a, como sigue:
Byte\bit
7
6
5
4
3
2
0
Top Right 0kg value <15:8>
1
Top Right 0kg value <7:0>
2
Bottom Right 0kg value <15:8>
3
Bottom Right 0kg value <7:0>
4
Top Left 0kg value <15:8>
5
Top Left 0kg value <7:0>
6
Bottom Left 0kg value <15:8>
7
Bottom Left 0kg value <7:0>
8
Top Right 17kg value <15:8>
9
Top Right 17kg value <7:0>
10
Bottom Right 17kg value <15:8>
11
Bottom Right 17kg value <7:0>
12
Top Left 17kg value <15:8>
13
Top Left 17kg value <7:0>
14
Bottom Left 17kg value <15:8>
15
Bottom Left 17kg value <7:0>
16
Top Right 34kg value <15:8>
17
Top Right 34kg value <7:0>
18
Bottom Right 34kg value <15:8>
19
Bottom Right 34kg value <7:0>
20
Top Left 34kg value <15:8>
21
Top Left 34kg value <7:0>
22
Bottom Left 34kg value <15:8>
23
Bottom Left 34kg value <7:0>
1
0
Tabla 6.3: datos de calibración de la Balance board (desencriptados)
7
Para calcular el peso de cada sensor simplemente hay que interpolar entre los
dos valores entre los que la lectura caiga (o usar los dos valores mayores si la lectura
excede el valor de calibración mayor), y el peso total será la suma del valor hallado
para cada sensor.
Todavía quedan unos cuantos bytes desconocidos (los cuatro siguientes y los
cuatro precedentes) en el rango de 0xa40020 a 0xa4003f.
6.4.8 Información Del Estado
La Balance Board presenta la misma información de estado que el Wiimote.
8
Descargar