別棟備忘録4

*

「WiimoteLibを使う」第一話~WiimoteLib入門+リモコンの接続~

      2015/10/24

WiimoteLib.dllはこちらから入手できる(フリー)。.NET環境で利用可能なAPIオープンソースプロジェクトで…といってもよくわからん。
要は、「Wiiリモコンをつかったプログラム」の作成を簡単にする関数・プログラム群みたいなものと考えて良い(dllの説明参照)。
したがって、プログラムにWiimoteLib.dllを読み込ませることで、たとえば

mWiimote.SetLEDs(True, False, False, False)

といった簡単な記述でWiiリモコンのLEDのON,OFFができたりする。
WiimoteLibをダウンロードするとC#とVisualBasicのサンプルが含まれている。また、C++でも利用可能、とのことだが、ここでは一応なんとか歯が立つVisualBasicでの利用を選択し、フリーのVisualBasic2010Express Editionをダウンロードした。
インストールして、起動。「新しいプロジェクト」→「Windowsフォームアプリケーション」で、初期画面。右の「ソリューションエクスプローラ」バーに注目。→アイコンですべてのファイルを表示にしておいて、右クリック参照の追加で、ダウンロードしたWiimoteLib.dllを選択する。参照設定で追加されたWiimoteLibが確認されたら読み込み完了。この辺り参考。
あとは、WiimotLib_1.7中のVBサンプルを開いてみて、同じように記述してみるといい…のだが、いささか複雑。接続方法からして、ド素人には敷居が高い。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
かんたんVisualBasic(Amazon) ←このあたりですこしお勉強。6.0→2010で変わったことなのか、6.0でできるが知らなかったことなのかはわからんけど、一応基礎の基礎知識を得られる。
そこで。もっとシンプルに。取りあえず接続と、接続確認ができる振動機能をもった「Wiiマッサージ」を作ってみる。
サンプルプログラム:Wiiマッサージ←右クリック+対象をファイルに保存
サンプルソース:wiitest01s.zip←右クリック+対象をファイルに保存
こんな感じで画面デザインを作り…
コントロール 名称   テキスト
Button    Button1  接続
Button    Button2  切断
Button    Button3  振動
Button    Button4  止める

プログラム部分はこんな感じ


Imports Microsoft.VisualBasic
Imports System
Imports System.Windows.Forms
Imports WiimoteLib
Public Class Form1
Private mWiimote As New Wiimote
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ‘接続のボタン
mWiimote.Connect() ‘wiiリモコンとの通信を接続する
mWiimote.SetLEDs(True, False, False, False) ‘LEDの変更□■■■
Button1.BackColor = Color.DimGray ‘ボタンの色の変更
Button2.BackColor = Color.Silver
Button3.BackColor = Color.Silver
Button4.BackColor = Color.DimGray
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ‘切断のボタン
mWiimote.SetLEDs(False, False, False, False) ‘LEDの変更■■■■
mWiimote.Disconnect() ‘wiiリモコンとの通信を切断する
Button1.BackColor = Color.Silver ‘ボタンの色の変更
Button2.BackColor = Color.DimGray
Button3.BackColor = Color.DimGray
Button4.BackColor = Color.DimGray
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click ‘振動を始めるボタン
mWiimote.SetRumble(True) ‘wiiリモコンを振動させる
mWiimote.SetLEDs(True, False, False, True) ‘LEDの変更□■■□
Button1.BackColor = Color.DimGray ‘ボタンの色の変更
Button2.BackColor = Color.DimGray
Button3.BackColor = Color.DimGray
Button4.BackColor = Color.Silver
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click ‘振動を止めるボタン
mWiimote.SetRumble(False) ‘wiiリモコンの振動を止める
mWiimote.SetLEDs(True, False, False, False) ‘LEDの変更□■■■
Button1.BackColor = Color.DimGray ‘ボタンの色の変更
Button2.BackColor = Color.Silver
Button3.BackColor = Color.Silver
Button4.BackColor = Color.DimGray
End Sub
End Class

接続で接続□■■■、振動で振動□■■□、切断で■■■■
というコントロールが可能になります。
wiikskはBTスタックを選びました。特に、Windowsのスタックでは動かん!という声多数でしたが、こちらはwindowsのスタックで動くみたいです。
内部リンク
WiimoteLibを使ってみる。に戻る
「WiimoteLibを使う」第二話~ボタン情報の取得~ →進む

 - WiimoteLib