たにちゅーの思惑|谷口忠大Home Page(たにちゅー・どっと・こむ)

HOME > たにちゅーの思惑 >  研究 > WindowsでのWiiリモコンの開発

WindowsでのWiiリモコンの開発

2009-06-06 (sat)|カテゴリー:

WindowsでのWiiリモコンライブラリ使用方法の説明を行います.

wiilib.hlibWii.lib(Releaseビルド)又はlibWiid.lib(Debugビルド)を使います.

プロジェクトを作成してください.「Win32コンソール アプリケーション」を選び,プロジェクトを作成してください.作成できたらまずプロジェクトのプロパティを開き,ライブラリをマルチスレッド(/MT)又はマルチスレッド デバッグ(/MTd)に変更してください.

そして,プロジェクトの同じディレクトリにwiilib.hとlibWii.libとlibWiid.libを置いてください.

 

下記に使用例を載せておきます.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

// Wii_sample.cpp : コンソールアプリケーションのエントリポイントを定義します。

#include <stdio.h>

#include <windows.h>

#include “wiilib.h”

#ifdef _DEBUG

#pragma comment(lib,”libWiid.lib”)

#else

#pragma comment(lib,”libWii.lib”)

#endif

int main(int argc, char* argv[])

{

WiiLib wii;

double x,y,z;

if(!wii.initWii()){//Wiiリモコンを認識&初期化

return 0;

}

while(1){

Sleep(100);

x = wii.getWiiAngle(Wii_X_AXIS); //加速度センサX軸の情報を取得

y = wii.getWiiAngle(Wii_Y_AXIS); //加速度センサY軸の情報を取得

z = wii.getWiiAngle(Wii_Z_AXIS); //加速度センサZ軸の情報を取得

printf(”x:%lf y:%lf z:%lfn”,x,y,z);

if(wii.getWiiState(Wii_BUTTON_B)){//Bボタンが押されたかどうか?

printf(”キャリブレーションn”);

wii.setWiiCalibrate(); //加速度センサを現在の位置で初期化

wii.setWiiRumble(Wii_Rumble_ON); //振動させる

Sleep(50); //振動させる期間スリープする必要あり

wii.setWiiRumble(Wii_Rumble_OFF); //振動をやめる

}

}

return 0;

}

まずWiiLibクラスを宣言したら,initWiiを呼び出してWiiリモコンを認識させてください.Wiiリモコンの認識に成功したらbool変数trueが帰ってきます.

初期化後に関数getWiiState使うとどのボタンが押されたか?がわかります.

引数に列挙体WiiStateをとり,これでボタンや加速度,IRセンサを指定します.

また,getWiiAngleを使うとWiiリモコンの加速度センサの値がラジアンでわかります.

各メンバ関数の説明

// Wiiリモコンを探して接続し,初期化を行う

bool initWii(WiiInitType wit = Wii_ACCEL);

// Wiiリモコンとの通信を切る

void closeWii(void);

// どのボタンから入力があったかを得る

int getWiiState(WiiState Key);

// Wiiリモコンの傾きをラジアンで得る

double getWiiAngle(WiiState Axis);

// 現在のWiiリモコンの傾きを基点とする

void setWiiCalibrate(void);

//指定した LEDを点灯させる

static void setWiiLED(unsigned char LED_ID);

// Wiiリモコンを振動させる

void setWiiRumble(WiiRumble wr);

// Wiiリモコンが使えるかどうかを確認する

int isWiiEnable(void);

 

BlutoothWiiリモコンとの接続について

今回,学校の生協で販売しているSANWA SUPPLY MM-BTUD11というBluetoothアダプタを用いて動作実験しました.下記は一例です.

clip_image002

「新しい接続」をクリックする

clip_image004

「エクスプレスモード(おすすめ)」

を選び次へ進む.その時にWiiリモコンの1ボタンと2ボタンを同時押しして,青のLEDランプを点滅した状態にしておく.

clip_image006

Wiiリモコンを発見出来たら選択して次へすすむ.

clip_image008

最後にこのような画面になり,接続できれば完了です.

この状態で,サンプルプログラムを動かしてみてください.

 

サンプルプログラムのダウンロード

Wii_sample.lzh

COMMENTS コメント

  1. 韓国 スーパーコピー グッチ 2024-02-15 (thu)

    スーパーコピーブランド通販店(*^-^*)
    スーパーコピーブランドメンズレディースファッション時計バッグ財布を海外通販!
    スーパーコピーブランド激安ショッピングサイトです。
    送料無料(日本全国)!
    サポート体制も万全です。
    スタイルが豊富で。
    最新作も随時入荷いたしております。
    ご安心購入くださいませ。
    韓国 スーパーコピー グッチ https://www.kyoku66.com/goods-8885.html

  2. パネライ スーパーコピー 口コミ 40代 2024-04-12 (fri)

    スーパコピー通販専門店
    当店はいろいろな高品質スーパーコピー品をそろっているスーパーコピー専門店です。
    業内スーパーコピールイヴィトン専門店を目指し、品質第一、信用第一、ユーザー第一の原則を守り
    心地よい親切で最高のインターネットサービス、
    最高品質商品を低価格で ご提供することです
    パネライ スーパーコピー 口コミ 40代 https://www.2bcopy.com/product/product.aspx-id=9162.htm

  3. BrandonBrurf 2024-04-20 (sta)

    drug rehabilitation centers https://forums.dieviete.lv/profils/127605/forum/ health care center

コメントの投稿




*


下記のタグが使用できます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> <pre lang="" line="" escaped="">

インフォメーション



tanichuの著作

copyright © Tadahiro Taniguchi All Right Reserved.