wiiの自作センサーバーと大画面テレビと私

ポク太郎です。

お願いがあるのです。パソコンのポインタ動作をwiiリモコンで行う私。

大事に思うならば、ちゃんと75インチモニタで動いてほしいです。


wiiセンサーバーと大型テレビ

wiiリモコンセンサーバーでポインタ操作ができる仕組みはこちら。

センサーバーとは赤外線LEDが入ってるのみで、それをwiiリモコン先端のCMOSイメージセンサで見つけ、その見え方とwiiリモコン内臓の傾きセンサで指された位置を検出してるそう。

CMOSイメージセンサ=つまりは画像で見るため、wiiリモコンの視界から外れると一切反応しなくなります。

そこで困るのが大型テレビ使用時。以下のような状況です。

テレビである以上はその画面が隠されるような設置はしません→巨大画面であろうが微小モニタであろうがテレビの底辺の高さはほぼ一緒。

大型TVの設置条件

それが75インチともなると画面の高さが96㎝あります。どっちかってーとリクライニングチェアにコッポリ収納されてモニタを見上げる感覚。

先述の通り、wiiリモコン先端のCMOSイメージセンサで検出するため、どうしてもセンサーバーが見えない位置になってしまいます。センサーバーをテレビ下に置いても同じ。

wiiリモコンと巨大モニタ事情 wiiリモコンと巨大モニタ事情-センサーバー下

実質32インチテレビ相当になるまで距離離れるならソレは大型テレビの意味ないし。とにかく目の前一杯に広大な画面が広がるのが巨大画面の醍醐味なので。

75インチがwiiユーザーの多数派な訳無いので、ごく少数の困ってる人間のトラブル。でも困ってるのは俺だけではないっぽい。

なので、自分なりの結論・解決法を次項以下に投稿しておきます。

結論付けた解決法を最初に書いておく

外乱影響、検出距離の精度、センサーバー内部回路なんやかやを必死に調べながら、テレビ上下両方にセンサーバー置いたり、LEDの角度を3種類に増やしてセンサーバー自作したり色々。

それがあまりにゴチャってるので、行き着いた解決法を最初に。そこに行き着く理由は以降の項に連ねます。

結論したのはこう。

自作wiiセンサーバー~大型テレビ向け
自作センサーバーをTV下正面の台上に配置。
追記)伸縮可能なので、距離伸ばして検出精度を上げるガンシューティング向け設置。
大型テレビ向けにwii自作センサーバーのLED間距離を調整
自分の目から見てモニタに被らないギリギリの高さまで上昇させました。

【解決法】→センサーバーを画面下・手前少し上方に設置しwiiリモコンに見上げさせる配置」

大画面でWiiをプレイするコツ

選んだのは左図の姿勢。理由は、どの道次のような持ち方をしないと正確なポインティングができないから。

正確に狙えるwiiリモコン持ち方

(右利きの場合)片手で持つのでなく、左手人差し指でwiiリモコン先端を支える持ち方。右手人差し指はトリガーなので、引くとポインティングが大幅にずれてしまいます。

ガンシューティングと呼ぶのかな?画面上の座標を指し示し射撃するタイプの。腕の震えるジジイにはそうするしか。これはパソコン上のアイコンをポイントしクリックする場合も同じ話。

指し棒で指し示すようにレーザーポインタを動かしてプレゼンする場合がありますが、指し示すだけなら片手でできても、ボタンを活用できないので。

なのでジジイはバイオハザード4の射撃が何故当てられるのかが不思議でなりません。そんな頑丈な腕してんのか、最近の若いもんは。左手にプレイヤ移動のコントロールスティック持つので両手持ちできない。

何だかんだ試したセンサーバーの自作

上のように結論付けましたが、色々試しました。

センサーバーのLED間距離を変化させて精度試す←長距離の方が高精度のはずだが、CMOSイメージセンサで見えなくなる危険性の方がデカい。←追記)距離長い方が精度高いのは確かなので伸縮可能が適。
センサーバーに角度付けた複数のLEDで精度試す←操作に適した姿勢を見つけてしまった後は、あまり安定性に違いが感じられず。両側1つづつで十分な印象。
センサーバーをテレビ上下に付ける←ダメ。センサーバーが基準なので違う位置で見えた瞬間wiiリモコンが混乱します。
wiiremoteでの検出結果1 wiiremoteでの検出結果2
センサーバーの赤外線LEDが片方見えなくなったケースとシッカリ見えるケース
wiiremote.exeで確認
センサーバーを巨大モニタ上下両方に付けてみるに
センサーバーをテレビ上下両方に付けて失敗した図

以下、自作センサーバーの作成風景に移りますが、結局はボツとなったこれら上記を実現しようとしてた製作過程であることを念頭に見て下さい。

wiiリモコンのためのセンサーバー自作風景

自作センサーバーとは…中に赤外線LEDが光ってるだけ←電源をUSBの5Vとし、左右に配置しLEDに電流を流します。

こちらが自作センサーバー向けの部品。

wiiリモコン向け自作センサーバー部材

自作センサーバー部品
1 赤外線LED Vf1.2~1.3V、照射角30°←一番広角なのを選択。絶対最大定格で100mA流せるもの。型格は503IRC2V-2AD。こちらがデータシート
2 ユニバーサル基板 USBから電源をもらう部分と、各LEDを実装する部分に。
3 USBコネクタ 電源はUSBのVBUSを使います。5V、500mA。miniBしか在庫が無かったのでそれで。
4 整流抵抗 LEDに流す電流値を決定するための抵抗。写真は120Ωたくさん。
5 コネクタ USBコネクタが乗る基板とセンサーバー本体を切り離せるように。
6 壁用モール 床などにLANケーブルを這わす際に中に通して保護・ルートを確保する建築部材。ホムセンに売ってます。

壁用モールについて。

フタがスライドできるのでLED間距離を変化させるのにちょうどいいと使いました。当初、左右の赤外線LEDの距離を50~100㎝と長くし検出距離の精度を上げようとしてたので。

ポイントできない理由は距離の検出誤差と考えてたから。結局上述の通り、CMOSイメージセンサからLEDが見えなくなる危険性の方が高い、てことで左右間の距離は28㎝に落ち着きました。

追記・訂正)微調整可能なように伸縮タイプが最適。
自作センサーバー構想

実際の回路設計は次項に書くことにして、実装したのがこれ。

自作センサーバー回路1
左右1つづつ赤外線LEDを実装したタイプ1
自作センサーバー
出来上がったタイプ1
自作センサーバー回路2
「正面」「上方30°」「外側30°」に角度を付けた3つの
赤外線LEDを実装したタイプ2。贅沢仕様。

最終的に、出来上がったのは上で張ったこれ。各部位の固定は基本的に超強力両面テープです。

自作wiiセンサーバー~大型テレビ向け

追記)やっぱり距離調整できるようにしといて正解だった。

大型テレビ向けにwii自作センサーバーのLED間距離を調整
自分のテレビ配置・姿勢に合わせて微調整した結果。ガンシューティングで評価。
やはり距離伸ばして誤差を小さくするとポインタがすっ飛ばなくなります。
また、自分の目から見てモニタに被らないギリギリの高さに調整しました。

LED回路の設計方法

ここは実際の設計作業。整流抵抗の決め方と消費電力計算について。

まず、LEDの電極の見分け方と回路シンボル。

砲弾型LEDと回路シンボルの電極見分け方

LEDはアノードからカソードに向かい順方向に電流を流すと光ります。その電流値を整流抵抗により決定してやります。保護抵抗と呼ぶ場合もあるらしい。

一般的なLED制御回路
一般的なLEDの光らせ方。CPU等のポートの0/1信号でトランジスタを駆動しLED側の電流を引っ張ります。

設計の仕方は、

まず電源はUSBの5Vを使用するので、整流抵抗に掛かる電圧=(5V-Vf)が決まります。Vfとは順方向電圧LED仕様電圧と呼ぶ場合もあるらしい。

となると、適当な抵抗値を設定して流れる電流は、

整流抵抗計算
120Ωの場合 (5V-Vf)/120Ω=(5V-1.2V)/120Ω=31mA
抵抗消費電力:P=VI=(5V-1.2V)x31mA=0.118W≪0.25W
LED絶対最大定格:100mA≫31mA
60Ωの場合 (5V-Vf)/60Ω=(5V-1.2V)/60Ω=63mA
抵抗消費電力:P=VI=(5V-1.2V)x63mA=0.239W←0.25Wギリギリ!
LED絶対最大定格:100mA≫63mA
40Ωの場合 (5V-Vf)/40Ω=(5V-1.2V)/40Ω=95mA
抵抗消費電力:P=VI=(5V-1.2V)x95mA=0.361W←0.25Wオーバー=抵抗が焼き切れます。危険!
LED絶対最大定格:100mA→95mA←結構ギリギリ
120Ω、60Ω、40Ωとして計算したのは、手持ちの120Ωを2並列で60Ω、3並列で40Ωだから。それだけの理由です。

しなきゃいけない計算は、
【①LEDに流す電流値の使用上の充足度合と定格に対する余裕】-使用に十分な輝度、絶対最大定格100mA以下
【②整流抵抗の消費電力】-絶対最大定格0.25W以下
【③電源容量に対する余裕】-USB5Vの絶対最大定格500mA以下
いかなる場合でも絶対最大定格を超えないよう設計しないといけません。

今使用する抵抗の絶対最大定格は1/4W=0.25W。表中にあるようにギリギリの使い方はせず、かなり余裕をみるのが常識。冗長設計ってヤツ。

消費電力の場合、絶対最大定格の半分を超えたら「ちょっと危ない…」と受け取る位が普通です。こんな弱電の世界でも電気って火事に繋がる危険なものなのでね。

結局一番上の段の31mA流すことに。電源ランプなど“表示”に使う場合は~10mA程度なので、数メートルの距離目的ならそんなもんかな、て感覚的な判断。

LED整流抵抗の計算1~wiiリモコン向け自作センサーバー LED整流抵抗の計算2~wiiリモコン向け自作センサーバー

タイプ2整流抵抗計算
120Ωの場合 (5V-Vfx3)/120Ω=(5V-1.2Vx3)/120Ω=12mA
抵抗消費電力:P=VI=(5V-1.2Vx3)x12mA=0.017W≪0.25W
LED絶対最大定格:100mA≫12mA
60Ωの場合 (5V-Vfx3)/60Ω=(5V-1.2Vx3)/60Ω=23mA
抵抗消費電力:P=VI=(5V-1.2Vx3)x23mA=0.032W≪0.25W
LED絶対最大定格:100mA≫23mA
40Ωの場合 (5V-Vfx3)/40Ω=(5V-1.2Vx3)/40Ω=35mA←これでいいかな
抵抗消費電力:P=VI=(5V-1.2Vx3)x35mA=0.049W≪0.25W
LED絶対最大定格:100mA≫35mA

こーやってLEDに流す電流値を決めてやります。

で、忘れずに必要なのが電源の絶対最大定格。USBのVbus5Vは500mAまで流せます。上記LED全部に流れる電流は、

31mAx2+35mAx2=131mA≪500mA

センサーバーを2本同時に繋げても500mAの半分以下。これなら問題ないでしょう。

wiiリモコンをWin10パソコンで使う

上記で作った自作センサーバーをテレビ前に設置し、Windows10でwiiリモコンを使う準備です。

多分タスクバー内に表示されてるであろうBlueToothアイコンを右クリックし「パーソナルエリアネットワークに参加」選択。

自作センサーバーでwiiリモコンをパソコンに接続

出てきた窓の「デバイスの追加」ボタン。

自作センサーバーでwiiリモコンをパソコンに接続

ここで、電池を入れたwiiリモコンのボタンどれかを叩くと、Nintendo RVL-CNT-01てのが→それ選んでパスコードは何も入力せず「次へ」→「次へ」でドライバがインストールされます。

設定-デバイス-「デバイスとプリンタ」画面を開くとNintendo RVL-CNT-01が見えます。

自作センサーバーでwiiリモコンをパソコンに接続

これで接続は完了したので、それを検出するためのソフトウェアを立ち上げます。

ここで使用したのはwiiremote.exeFileメニュー-Minimizeでタスクバー内に最小化できます。

wiiremoteでの検出結果2
トリガーを押すとポインティング開始。
センサーバーを準備する前に押すとカーソルがすっ飛んでいくので注意。
(Alt+Ctrl+Delでタスクマネージャ→wiiremote.exe強制終了するしかなくなるよ。)
wiiリモコンをパソコンで使うwiiremote.exe設定
設定画面:センサーバー利用したポインティングの場合は「IR Sensor」選択。
またデフォルトではBボタン=トリガーがマウスカーソル操作On/Off切替。
→押す度に切り替わり混乱するので、Bボタンを右クリックにでも変えておく。

wiiremote.exeでなく、もちろんWiiのエミュレータDolphinで検出させ動かすことも可能です。

以下は自分が気になった面白そうなリンク集。色んな方が色んな事を考え実践しております。これぞインターネッツ。

んで、結局方向ずらした3つのLEDは必須なの?てのは判断が付きません。

先の日経エレクトロニクスの記事によると、本家任天堂のセンサーバーは両側に傾けたヤツが2つ居ます。

【続報:Wii分解】「センサーバー」にはセンサがなかった

引用:日経xTech~【続報:Wii分解】「センサーバー」にはセンサがなかった

なんで?と考えると…2人プレイ?体動かすのがwiiなので、テレビ前に2人が広がってるケースでも想定してんのかな。

孤独死待ちのジジイ1人なら特に必要無い気もするけど、LED自体は安いもんだから付けておいても別に…てな感じ?

因みに任天堂のは片チャンネル5つ付いてますが、CMOSイメージセンサがその画像をボケボケにして大きな点光源1つとして認識してくれるんでしょうな。多分。

コメント

タイトルとURLをコピーしました