Classiclll's Blog

an old boy

バランスボードテスト完了・・・と緊急リリース

イメージ 1

バランスボードテスト完了・・・と緊急リリース


やっぱり、【ブツ】によるテスト無しにリリースしたのは甘かった。
リモコンのほうはOKなんだけど、バランスボードのほうは、ボード検出は出来ているけど接続中か否かを返すメソッド(isConnecting())でしくっていた。
繋がったけどそれを検出しないバージョンをリリースしてしまった。

で、緊急リリース(Wrj4P5 Alpha-007)

前記事
四隅の荷重センサーには重心の位置に応じてゼロから重量の【4倍】がかかる。(はず)
って書いたけど、Cha0sが4分の1にしてくれているみたい。なので、四隅の計測値を合計すると全重量になる。

以上に伴い、前記事で紹介したのアプレットMyFirstBoardを修正、さらにビデオも同時掲載。




また、バージョンアップに伴いWiiBoardクラスに若干のメソッドを追加した。
[members]
  float sensed[2][2];	: 四隅の計測重量.(Kg)
  float psensed[2][2];	: 直前の計測値
  float weight;		: 平均重量(Kg)
  float pweight;	: 直前の平均重量   
  float topRight;	: 右上隅の計測重量(=sensed[0][0])
  float bottomLeft;	: 左下隅の計測重量(=sensed[1][1])
  float topLeft;	: 左上隅の計測重量(= sensed[0][1])
  float bottomRight;	: 右下隅の計測重量(= sensed[1][0])
  boolean isIlluminated; :LEDのステータス(オン/オフ)

[connection/communication]
:<status>
 void disconnect() 		Wiiボードとの接続を切る
 boolean isConnected()		Wiiボードとの接続を確かめる
 void requestStatus()		Wiiボードの(バッテリやLED等の)最新状態を取得し始める。
 boolean isReadingData()	Wiiボードの状態を取得中かどうかを確かめる。

:<Battery>
 float getBatteryLevel()	バッテリー残量を得る(0~1)

:<LED Lights>
  boolean isLED()			: LEDライトの点灯を確かめる。
  void setLED(boolean illumination)	: LEDライトをOn/Offする

:<utils> 【New !】
  Loc guessCoG()		: 重心位置を推定する。(0~1,0~1)
  boolean isleftZone()		: 重心位置は左サイドにあるか?
  boolean isTopZone() 		: 重心位置はトップ(前方)サイドにあるか?
  boolean isCentralZone(float tol) 	: 許容範囲内で重心位置は中央部にあるか?
  boolean isCentralZone() 		: 同上(許容範囲は0.4固定)



Processing については、
日本語サポートサイトからたどれるP5インフォメーション→言語が参考になる。
(解説してあるのは一昔前の版だから注意が必要だけど、loop()→draw()の読み替えだけで大抵OK)
・山本徹(thoru)さんがFunProce55ingで解説してくれている。(【簡潔】で【わかり易く】、【楽しい】解説)
例題集は習作集と区別するためにこちらに置いている。
・P5のスケッチからアプレットを作り、【ジオシティーズ】にアップする手順をまとめたので、参考に。
WiiRemoteアクセスライブラリWrj4P5はここ