小ネタ 2007-021
WiiFitのバランスボードを調べてみる
WiiFitを買ってみたものの設置場所が取れなくてしまってあったのだが、最近開封して色々と調べてみた。(2007.12.27)
1. ハードウェア
センサとして、ロードセルがボードの4隅に配置されていて、それぞれ4本ずつの配線が回路基板に接続されている。ブリッジ回路になっているのだろう。
使われているセンサは、ジュラルミン製の「はり」に「ひずみゲージ」を接合したロードセルとのこと。
バランスWiiボードの基板
この基板写真の左側に小さな基板のモジュールがあり、スタック式のコネクタで親基板に載っている。
Wiiリモコンの無線部分とCPU部分の回路を切り取って小型にまとめたのが、この小型モジュールだと思われる。
BluetoothのID等はWiiリモコンと異なっている。
次に、メイン基板に載っているWBCRVLというICについて。
サブコントローラーIC"WBCRVL"
ヌンチャクやクラシックコントローラーに搭載されているFNURVLというICと同等の品種のCPUらしい。マーキングが異なるが、中に入っているファームウェアだけが違うのだと思われる。
ちなみに、ヌンチャクとクラシックコントローラーについては前に分解して調べており、中身が互換だということが分かっている。
あと、気になるのは、電池収納部分にUART_TX、UART_RXというテスト用の信号の取り出し口があることである。精度とかの検査用か?
電池収納部分の基板
Wiiリモコンと比較して、回路のブロックを図で書くと以下のような感じだろうか。
(後日加筆 2008.1.8 上の図で、センサのキャリブレーション用の基準値の保存場所を特に書いていなかったので、図のEEPROMに保存されるのだと誤解されるかもしれない。実際は、FNURVLやWBCRVLの中に不揮発のメモリが内蔵されており、そこにセンサ固有の基準値が保存されている。センサ個々のばらつきは、この数値を読み出して、ソフト側で計算して補正する必要がある。)
(後日加筆 2008.1.10 小型のWiiリモコン互換モジュールを使ってTVなどのAV機器をWiiから制御するための機器が作れないだろうか?
要はAVセレクタ+学習リモコンのようなものなのだが、それがWiiとBluetoothで通信して色々できるようなものだったら楽しいかもしれない。
前からAV機器用リモコンをWiiリモコンにオプションで付加する工作ネタを考えていたのだが、独立した周辺機器として作ってTVの近くに起きっぱなしにするほうがよさそう。)
2. ソフトウェア
バランスボードの中身は、Wiiリモコンを応用して作られた亜種である。
Wiiリモコンは既にPCと接続する方法が解析されて明らかになっており、その方法を応用してバランスボードについても同様にPCと接続するソフトなどが既に作成されている。
特にoga氏がwiibalancepcというソフトで重心移動マウスとかいろいろと応用例を実際に作っている。解析も一番進んでいる。
純正ソフトのWiiFit自体でも色々な使い方がされており、特に座禅には感動した。(座禅の難易度を上げるためにボードに付けるオプション板というネタとかはだめだな)
自分も何かアイデアを思いついたらソフトを作ってみたい。
(後日加筆 2008.1.2)
正月に1つアイデアを思いついた。セグウェイの運転シミュレーターWiiSegwayというのはどうだろうか。前後への移動はバランスボードでの重心の移動で操作して、左右のハンドルはWiiリモコンで操作すればできそうかな。自分でこれが作れるかというとすぐには作れそうにないんだけど。
(後日加筆 2008.2.16)
バランスボード用のソフトを作っているのだが、内部データを読み出すのを作ったところで作業が止まってしまっている。
実際の体重やバランスの値に直す部分の数式が必要なのだが、何も無いところから数式を作るのは大変である。既にoga氏が解析結果を公開していたりするが、それを使わずに自分で数式を出したい。それにはWiiでバランスボードを動かしながらセンサ部のバスを直に観測するという方法で解明したいと思っているが、まだ時間が掛かりそうだ。
とりあえず、内部データを読み出すソフトを公開しておくことにする。
[ バランスボードの内部データ読み出しソフト 実行ファイルとソースコード (download) ]
(tiny_hid_dllを更新して新しいものに入れ替わっている。古いDLLと混ぜないように注意。)
3. PCにバランスボードを接続する手順
(1)コントロールパネルのBluetoothを開いて、デバイスのタグを表示し、追加をクリックする。
既にバランスボードが存在する場合には先に削除しておく。
(2)Bluetoothデバイス追加ウィザードが開始される。チェックボックスにチェックを入れ、次へをクリックする。
それと同時にバランスボードの電池ボックス内の赤いボタンを押す。
(3)Nintendo RVL-WBC-01が発見されるので、次へをクリックする。
見つからない場合はやり直す。
(4)パスキーを使用しないを選択し、次へをクリックする。
それと同時に再度バランスボードの電池ボックス内の赤いボタンを押す。
(5)ウィザードが完了するので、完了ボタンをクリックする。
正常に完了しない場合は(3)からやり直す。
(6)通知領域に新しいハードウェアが見つかりましたと表示される。これでバランスボードが使用可能。
- LINK