Hatena::ブログ(Diary)

himazu blog このページをアンテナに追加 RSSフィード

 | 

2008-06-22

WiiリモコンとPCで簡易電子黒板を実際にやってみた

見たことがなければ、まず、このビデオを見て欲しい。

D

このブログ記事では、それを自分でも実際にやってみるのにどうしたかを述べる。私はWindows XPでやったが、Vistaでも同様にできるだろう。

概要

このビデオの登場人物ジョニー・リー(Johnny Lee)氏は、この他にもいくつかWiiリモコンを使った試みを公開している。電子黒板はリンク先のページの2番目の項目である。そこからリー氏作のソフトウェアも入手できる。

冒頭のビデオではプロジェクターで投影されたWindowsの画面に対して、特別なペンでマウス操作をしている。プロジェクターとWindows PCの他に必要なものは:

  • PCはBluetoothで周辺機器を接続できる必要がある。多くの場合、USB接続のBluetoothインターフェースとそのドライバーを導入することになるだろう。
  • Wiiリモコン(Wii本体は不要。単体で4000円くらいで買える)
  • ボタンを押すと先端から赤外線を発するペン状のもの
  • リー氏が公開しているソフト(.NETで書かれている)で、赤外線ペンの操作をマウス操作に見せかけるもの

これだけである。

なぜ、こういうことができるかというと、Wiiリモコンの以下の性質による。

  • Wiiリモコンの先端には赤外線カメラがあり、赤外線源の位置を1024×768の精度で認識することができる。
    • Wiiを使う際にテレビ画面の上か下に設置する「センサーバー」はセンサーではなく、両端から赤外線を発しているだけである。
    • Wii本体は、Wiiリモコンから見た赤外線源の位置を把握することで、Wiiリモコンが画面のどのあたりを向いているか判断している。
  • WiiリモコンはBluetoothでWii本体と通信している。通信方式は標準的で、Wii本体以外とも簡単につながる。

以下の仕込みをしておくことで、赤外線ペンがマウスのように使えるようになる。

  • プロジェクターで投影されたWindowsの画面全体が、Wiiリモコンの赤外線カメラの視野に入るようにしておく。
  • Wiiリモコンの視野に赤外線源が現れたら、対応する画面の位置でマウスの左ボタンが押されたように見せかけてくれるジョニー・リー氏のプログラムを動かしておく。

原理的には複雑なことは何もない。

実際にやるのに必要なこと

リー氏のビデオではかなり簡単にことが進むように見えるかも知れないが、実際にやるのは、少々手間がかかる。既にある、あるいは買ってくれば済むWiiリモコンはいいとして、以下のことをしなければならない。

  • Windows PCでBluetoothを使っている人は多くないだろうから、Bluetoothのハードウェアを入手して接続しなければならない。一般にBluetoothで周辺機器を接続するには、接続ユーティリティーが必要で、これはWindowsには付属していない。BluetoothでLAN接続するためのものは少なくともWindows XPには標準で入っているようだが。
  • 赤外線ペンは今のところ自作するしかない。買ってきてそのまま使えるものはないと思う。材料はいずれも一般的な電子工作用部品として入手でき、合計で500円未満である。
  • Wiiリモコンをプロジェクター画面に向けるためのマウントが必要である。リー氏のビデオでは黒い金属製の特別あつらえのものが使われていた。Wiiリモコンは手で持って使うものなので、決まった方向を向けておくには何らかのマウントが必要になる。

以下、これらの点について順に述べる。

WiiリモコンのWindows PCへの接続

私のPCにはBluetoothインターフェースがなかったので、まず、PlanexのBT-MicroEDR2を2000円ほどで購入した。ほとんどUSBコネクターだけのような小さなものである。Bluesoleil 2.6という周辺機器接続ユーティリティーが付属していたので、インストールした。そして、Wiiリモコンを接続しようとしたが、接続できなかった。存在を認識するのだが、接続ができない。

リー氏はBluesoleilを使っているとウェブサイトに書いている。そこで、Bluesoleil社のウェブサイトに行って、Bluesoleil 5.0をダウンロードした。これは売り物で、少し試すだけなら無料だが、使い続けるには購入しなければならない。現在はBluesoleil 6.0が出ているので、今からやるならそちらがいいだろう。5.0から6.0にアップグレードするのに割り引きはなく、5.0で困っていないので、私は5.0のままにしている。

Bluesoleil 5.0ではちゃんとWiiリモコンを接続することができた。その手順は以下の通りである。

  1. Bluetoothを使える状態になっていなければ、使える状態にする。タスクバー右端のBluetoothアイコンを右クリックして「Turn on Bluetooth」があれば、現在は動作していないということなので、「Turn on Bluetooth」を選ぶ。
  2. デスクトップにある「Bluetooth Places」のアイコンをダブルクリックして、「Search Devices」をダブルクリックする。
    f:id:himazublog:20080622011425p:image
  3. Wiiリモコンの(1)ボタンと(2)ボタンを動じに押すか、電池の蓋を外して中の赤いボタンを押す。すると、Wiiリモコンが認識される。
    f:id:himazublog:20080622011427p:image
  4. もう一度Wiiリモコンで(3)と同じ操作をした上で、Nintendo RVL-CNT-01を右クリックして「Connect」を選ぶ。
    f:id:himazublog:20080622011428p:image
  5. これで、WiiリモコンがPCとつながり、以下のような表示になる。
    f:id:himazublog:20080622011429p:image

動作が確認できたので、Bluesoleil社のウェブサイトで購入手続きをした。10ユーロだった。手続きをしてほどなくライセンスキーがメールで送られてきた。

更に、Wiiリモコンから本当にデータが取れていること確認するためにWiinRemoteを使っている。

赤外線ペンの制作

私が作った赤外線ペンは:

f:id:himazublog:20080622093755j:image

先端にある赤外線発光ダイオードは軸に対して垂直になっている。最初は軸の先端に普通に付けたのだが、それだとWiiリモコンが認識してくれない。至近距離なら認識してくれることもあるが、実用距離だとまったくだめだった。このペンを使うときは、とうぜん赤外線がWiiリモコンによく届くように操作しなければならない。

普通に入手可能な赤外線発光ダイオードはリモコンか通信、あるいはセンサー用でいずれも一方向に赤外線を出すようになっている。したがって、リー氏のビデオにあったような形の赤外線ペンでは私は実用的なものを作ることができなかった。そこで、このような形にした。

材料は次のもので、電子部品はすべて秋葉原のマルツパーツ館で買った。ネットでも購入できる。

f:id:himazublog:20080622093746j:image

右から順に

  • アメリカのホテルに備えてあるボールペン。いくつか試したなかではこれが一番具合がいい。難点は、文房具屋では売っていないこと。
  • 単四電池のケース、リード線付き(Linkman BH4111A)
  • タクティクル・スイッチ(Linkman TC-0606A4.5)
  • 赤外線発光ダイオード(Toshiba TLN105B(F))
  • ユニバーサル基板(Sunhayato ICB288)
    すでに何度か部品を切り出しているので小さくなっている。

工具としては:

  • ニッパー
  • ラジオペンチ
  • ハンダごて
  • きり(穴を開ける)
  • カッター
  • 接着剤
  • ビニールテープ

制作は以下の手順で行った。

  1. ボールペンの軸を外して、おしりに配線を通すための穴を開けた。
    f:id:himazublog:20080622093747j:image
  2. ユニバーサル基板から2列分切り出す。まず、カッターでくずを付け、ラジオペンチで折った。
    f:id:himazublog:20080622093748j:image
    f:id:himazublog:20080622093749j:image
  3. 切り取ったユニバーサル基板を更に実際に使う形に加工する。まず、ボールペンの軸に収まるようにニッパーで削る。
    f:id:himazublog:20080622093750j:image
    削れたら、余分な部分を切り取る。
    f:id:himazublog:20080622093751j:image
    ボールペンの軸にこのように収まる。
    f:id:himazublog:20080622093752j:image
  4. 基板に発光ダイオードをハンダ付けする。
    f:id:himazublog:20080622093753j:image
    ラジオペンチではさんだ格好になっているのは、裏に発光ダイオードがあるせいで溝のようなところに置かないと作業ができないから。
  5. 電池ケース、スイッチ、発光ダイオードをハンダ付けで結線する。
    f:id:himazublog:20080622093754j:image
    電池ケースのマイナス側(黒)のリード線を切って、その途中にスイッチを入れた形になっており、上に並べた以外の部品は本当に使っていない。
  6. 電池ケースとスイッチを接着して完成。

Wiiリモコンのマウント

マウントに使えるものはないかと東急ハンズで探していたら、ヤザワコーポレーションのスタンドライトSD2CHというものに行き当たった。電球とソケットを外せば使えそうである。仰角が調整できて、まあまあ安定して設置できそうだ。

電球とソケットを外すとこうなった。

f:id:himazublog:20080622093756j:image

それにWiiリモコンを入れるとこんな感じ。

f:id:himazublog:20080622093757j:image

会社へ持って行って使ってみたが、問題なく使えた。

電子黒板の具体的手順

準備が整ったら以下の手順で、電子黒板を使うことができる。

まず、前述のWiinRemoteを動作させて、Wiiリモコンの位置と向きを決める。「IR Sensor」の部分に赤外線源が黄色い点で表示される。

f:id:himazublog:20080622011426p:image

プロジェクター画面の四つの角でペンのスイッチを入れて、Wiiリモコンの赤外線カメラの視野のできるだけ広い範囲が使われるように設置する。その際、WiinRemoteの表示する赤外線源の位置は上下が逆になっていることに留意してほしい。赤外線カメラの精度が1024×768なのだから、Wiiリモコンが遠くて視野の狭い範囲しか使わないと、赤外線ペンで細かな動きがさせられなくなってしまう。

Wiiリモコンの位置と向きが決まったら、WiinRemoteは終了して、リー氏作のWiimoteWhiteboardを起動する。WiimoteWhiteboardは冒頭でも触れたリー氏のWii関連ウェブページから入手できる。

f:id:himazublog:20080622132026p:image

「Cursor Control」はチェックしておく。

続いて「Calibrate Location」をクリックすると、以下の位置検出画面が現れる。四隅が順に示されるので、示された位置で赤外線ペンのスイッチを押すことを繰り返せば、位置検出が完了し、赤外線ペンでマウス操作ができるようになる。

f:id:himazublog:20080622133043p:image

費用総額

  • Bluetoothインターフェース 2000円
  • Bluetooth周辺機器接続ユーティリティー 1800円
  • 赤外線ペンの材料 500円
  • Wiiリモコンをマウントするためのスタンド 2000円

合計:6300円

Wiiリモコンも新たに買うとこれに4000円が加わる。

赤外線ペンは試行錯誤の結果行き着いたので、実際にはもっと多くかかっているが。

渡部卓雄渡部卓雄 2008/06/22 16:53 ご無沙汰です.ときどき見てます.

LEDを前向きに付けると上手くいかないのは,たぶん明るさが不十分だからじゃないかという気がします.データシートによると,指向性の鋭さを表す半値角(angle of half intensity)は,お使いの東芝TLN105Bが±23.5度,リー氏が使っているVishay TSAL6400sが±25度なので,あまり差はありません.しかしリー氏のサイトによるとLEDには100mA流しているようで,そのために横方向にも赤外線が十分でているのだと思います.実際,上の動画を見ると赤外線ペンの先が結構明るく光って見えます.単4電池だとたぶんそんなに流れてないんじゃないかな.適当な抵抗(39Ωくらい?)を付けて,USBの5Vあたりを電源にしてみてはどうでしょうか.

たいちたいち 2008/06/22 17:00 これは力作ですね・・・

たけおかたけおか 2008/06/22 17:06 Wiiネタは、かなり前に感心していましたが、リモコン側が位置認識をしていたとは知りませんでした。
(Wiiはまったく持ってないのですが)

Bluetoothもつい先日、初めてBluetoothデバイスを入手して…Windows用のBluetoothI/Fをこれから買おうとしていた矢先で、とても参考になりました。

ペンの工作が楽しそうですね。
お菓子の入れ物に、適当なものが見つかる場合があります。僕も、スイッチの壊れたレーザーポインタを、駄菓子の入れ物に入れ替えようとしているところです。

たけおかたけおか 2008/06/22 17:10 LEDは3V弱でないとちゃんと光らないですよ。(昔は3Vだと電圧が高すぎて切れたような)
5Vだと330Ωぐらいの抵抗を入れるべきかと。

himazubloghimazublog 2008/06/22 17:32 渡部さんたけおかさん、参考になりました。LEDのデータシートを見たら1.5Vで100mA流れるように読めたのでこのようにしたのでした。電圧と抵抗を工夫する余地はありそうです。

渡部卓雄渡部卓雄 2008/06/22 20:28 赤外線LEDの順方向電圧Vfは可視光LEDより小さくて1.2-1.5Vくらいです.なので1.5V乾電池をつなげばちゃんと光ってくれます.TLN105Bだと1.35Vですね.

電源電圧をV,LEDに流したい電流をIとしたときの抵抗は R = (V - Vf) / I です(秋月のサイトでも計算できます).Vf=1.35, V=5.0, I=0.1ならR=36.5ですが,こんな抵抗は売ってないので近いところで39Ωでしょうか.

http://akizukidenshi.com/catalog/led/?V=5&IF=100&VF=1.35

ちょっと気になったのは,100mAというのはTLN105BやTSAL6400sの順方向電流のmaxなので,連続して流すとLEDの寿命を縮めるかも知れません.赤外線リモコンで使うときはパルスなので平均するとそんなに流れないのですが.

# 実は最近赤外線リモコンを作ったのでした.

himazubloghimazublog 2008/06/22 21:33 ああ、なるほど。じゃあ、今の状態でよさそうですね。赤外線ペンのスイッチを入れるのはマウスのボタンを押すのと同様の動作なので、LEDの寿命には大きな影響はないでしょう。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

 | 
カレンダー
2005 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 08 | 09 | 10 | 11 |
2008 | 01 | 02 | 03 | 05 | 06 | 08 | 09 | 10 |
2009 | 01 | 02 | 04 | 10 | 11 | 12 |
2010 | 07 | 08 |
2011 | 01 | 03 | 07 | 08 |
2012 | 03 | 09 | 10 | 11 |
2013 | 04 | 06 | 07 | 09 | 10 | 11 |
2014 | 01 | 02 | 03 |