光線銃シューティングゲームの光学系
こんにちは(^-^)。
このたび、ひょんな事から、光通信を用いたシューティングゲームのデモンストレーションシステムを作ることになりました。
これは、プレーヤーが銃型のコントローラーを手に持ち、可視光LEDの光を発射させて、標的のセンサーに当てるゲームです。光通信には、ISPの保有するARMとFPGAを実装した汎用光通信ボードを使います。
このボードは、可視光・赤外線高速通信に対応し、各種通信インタフェースと外部入出力I/O、記憶メディアカードや音声の出力インタフェースまで備えた優れモノ。
当初、「必要な部品は社内にすべて揃っているのだから、楽勝だよな~」と思っていたのですが、LEDの光をレンズで集めて遠くまで届くようにするのが存外難しく、かなり手間取ってしまいました。
・・・ということで、今回はレンズを使ったLEDの集光実験を、レポートしたいと思います。
目標
- シューティングゲームを作るため、
- 発光ダイオードの光を集束光として
- 遠くまで照射できるようにする。
LED選定
- 選択肢としては、「表面実装形LED」と、「砲弾型LED」がある。
- 今回は、銃への装着を考慮して「砲弾型」を選定。
- LEDは、いろいろな照射角の製品が販売されている。
- 今回は、なるべく遠くまで光を届けたいため、照射角15°で明さが45カンデラのものを選択。
照射角15°のLEDをそのまま照射すると、計算上は1.5mの距離で、およそ40cm程度に光が拡散するはず。実際にやってみると、約50cmに拡散し、光のエッジは、かなり不明瞭となりました。(写真1)
これを、数cmまで集束させ、光のエッジを明瞭にすることを目的とします。
光を集束させるためには、レンズを使います。いろいろ試した結果、100円ショップでも手軽に調達できる、虫眼鏡や双眼鏡を使ってみました。(写真2)
実験 その1
入手したレンズによる、LEDの集光実験を行いました(写真3)。
レンズからボードまでの距離を1.5mで固定。LEDの光が集光するように、
LEDとレンズの距離を調整して、計測した結果が表1となります。
No | レンズ径 | レンズ厚 | レンズ種 | 焦点距離 | 集光径 | 備考 |
---|---|---|---|---|---|---|
1 | 30mm | 2.5mm | 平凸レンズ | 20.5cm | 30mm | 双眼鏡1 |
2 | 26mm | 3.0mm | 平凸レンズ | 11.5cm | 60mm | 双眼鏡2 |
3 | 26mm | 6.0mm | 両凸レンズ | 5.5cm | 140㎜ | No2の2枚重ね |
4 | 45mm | 5.5mm | 両凸レンズ | 11.0cm | 70mm | 虫眼鏡1 |
5 | 60mm | 7.0mm | 両凸レンズ | 17.5cm | 50mm | 虫眼鏡2 |
想定していた以上に、キレイに集光しました。あとはこのしくみを、銃型コントローラー(写真4)に組み込むだけです。
このコントローラーは、銃身が13cmしかありませんので、銃口にレンズを取り付けるとしても、焦点距離と集光径を考えると、「No2」のレンズが最適です。
実験 その2
続いて、銃へのLED組み付けのため、内径5mmのアルミパイプを設置しました。レンズと光源であるLEDの間に、余計な物が入らないようにするためです。(図1)
我ながら「完璧じゃん!」と思いつつも、とりあえず治具で確認してみました。
そしたらですね、なぜか、集光された光が非常に弱い…!
しかも円の周りに、ドーナッツのような光の輪ができています(写真4)。
パイプのせいで、レンズに当たる光量が減っているからかな…とも思いましたが、パイプの出口付近がやたら明るいことに気づき、レンズとパイプの距離を離してみました。
すると、「実験その1」の時とほぼ同様の結果になるじゃないですか!(写真5)
つまり、パイプの中で光が乱反射するため、パイプの出口付近が光源となってるのかぁ・・・
でも、これではコントローラーの中に組み込むことができません。
いろいろと試行錯誤した結果、以下のような結論にたどり着きました。
光源から直接光のみをレンズに当てる。
そして反射光は、可能な限り排除する。」
光源から直接光のみがレンズに当たっている状態では、図2のようにきれいな集光を得られます。しかし、光源とレンズの間に反射物が存在すると、図3のように余計なところにも光が照射されてしまいます。パイプを設置した場合のドーナッツ現象も、同じ理由によるものです。
要するに、反射光がレンズに入らなければ良いのですが、細いパイプを使う場合、強力なLED光の反射を確実に押さえることは、ほとんど不可能です。パイプの中をつや消し黒で塗りつぶしたりしましたが、目立った効果は得られませんでした。
以上のことを踏まえて、銃型コントローラーへの実装を以下のように工夫しました。
(図4、写真6)
- レンズ径を13mmと小さくする
レンズ径が小さいと、光源からレンズまでの直接光の経路を限定的にできる。ただし、光量は減少するので、13mm程度がちょうど良さそうである。 - 銃身の内側をつや消し黒で塗装
直接光の経路外でも、反射光を発生させるので、つや消し黒で反射を極力抑える。 - 銃身内に設置する電子基板の上を、ベルベット生地で覆う
銃身内には、光通信用の電子基板を設置する必要がある。直接光の経路にはかからないものの、反射物にはなってしまうため、黒い布をかぶせて対応。
このような紆余曲折を経て、できあがった銃型コントローラーが写真7です。そして、射撃している様子が写真8。
サイレンサー風に、表1「No1」のレンズを装着して集光径をより小さくしたのが、写真9,写真10。
まだまだ謎は多いものの、とりあえず当初の目的は達成できました。v(^-^)
それにしても、“光の精霊”さんと仲良くするのは、なかなかむずかしいものです・・・。