(57)【要約】  【課題】  ソフトウエアによりヒステリシス特性を持たせて誤カウントを極力防止できる光学式検出装置を提供することである。  【解決手段】  対向配置された発光ダイオード７０とフォトトランジスタ７６との間に複数のスリットが形成された回転板７４を配置する。フォトトランジスタ７６の出力信号はプロセッサ５０のポートＩＯ１に入力される。プロセッサ５０は、ポートＩＯ１に入力される信号をハイレベルあるいはローレベルのいずれかに判定する。ハイレベルと判定したときはポートＩＯ０をハイレベルに設定し、ローレベルと判定したときはポートＩＯ０をローレベルに設定する。【選択図】  図６
2007017220.tif 000002
【特許請求の範囲】
【請求項１】
光透過率又は光反射率が異なる第１領域と第２領域とを交互に繰り返し配置した面を有する可動体と、
前記面に光を照射する発光手段と、
前記面からの透過光又は反射光を受光して電気信号に変換する受光手段と、
プログラムに従って動作し、第１の入力ポート、及び前記受光手段から出力された前記電気信号が所定の信号線から入力される第２の入力ポートを有するプロセッサと、を備え、
前記プロセッサは、前記第２の入力ポートから入力された前記電気信号のレベルを所定の閾値を基準に第１のレベルあるいは第２のレベルのいずれかに決定し、前記第１の入力ポートの電位を決定したレベルに設定して、前記所定の信号線に正帰還をかける、光学式検出装置。
【請求項２】
前記第１の入力ポートと前記所定の信号線との間に接続される第１の抵抗手段と、
前記所定の信号線と接地線との間に接続される第２の抵抗手段と、をさらに備える請求項１記載の光学式検出装置。
【請求項３】
前記プロセッサは、前記第２の入力ポートに入力される電気信号に含まれるパルス数をカウントし、そのカウント値を演算処理に使用する、請求項１又は２記載の光学式検出装置。
【請求項４】
前記プロセッサは、前記第２の入力ポートに入力される電気信号に含まれるパルス数をカウントし、そのカウント値に応じたビデオ信号を生成する、請求項１又は２記載の光学式検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被検出物の回転運動又は直線運動を検出するための光学式検出装置及びその関連技術に関する。
【背景技術】
【０００２】
特許文献１には、光学式検出装置が開示されている。この光学式検出装置では、発光素子と受光素子とを対向配置し、その間に、複数のスリットが形成された回転板を回転自在に配置する。そして、受光素子の出力は、電圧比較器の一方入力端子に入力され、他方入力端子には、基準電圧が入力される。この電圧比較器は、基準電圧より受光素子からの入力電圧が大きい場合に、「１」を出力し、この出力は、カウンタに入力される。
【０００３】
さらに、この電圧比較器の出力は、抵抗素子を介して、受光素子の出力端に与えられ（正帰還）、これにより、ヒステリシス特性が持たせられる。このように、ハードウエアにより、光学式検出装置にヒステリシス特性を持たせ、誤カウントを防止している。
【０００４】
一方、従来より、家庭用テレビゲーム機が広く普及しており、そのための入力装置として、光学式検出装置を使用することもできる。
【０００５】
【特許文献１】特開昭５４−５７６７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、例えば、入力装置によるゲームプレイヤからの入力に基づいて、ゲーム画面上のオブジェクトが動くようなテレビゲームの場合、光学式検出装置の誤カウントが発生すると、ゲームプレイヤが操作していないときに、つまり、ゲームプレイヤが意図していないときに、ゲームプレイヤによる入力があったと判断され、勝手にオブジェクトが動いてしまう事態が発生する。これでは、ゲームプレイヤの意図と関係なくゲームが進行してしまい、入力装置としての機能を果たしえない。この場合、特許文献１のように、ハードウエアにより、ヒステリシス特性を持たせ、そのような不都合を回避することもできる。
【０００７】
ところが、一般に、家庭用テレビゲーム機は、ソフトウエアにより動作するため、入力装置に内蔵される光学式検出装置にヒステリシス特性を持たせる際、ハードウエアにより、ヒステリシス特性を持たせることが必ずしも合理的でない場合もある。
【０００８】
本発明の目的は、ソフトウエアによりヒステリシス特性を持たせて誤カウントを極力防止できる光学式検出装置及びその関連技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明の観点によると、光学式検出装置は、光透過率又は光反射率が異なる第１領域と第２領域とを交互に繰り返し配置した面を有する可動体と、前記面に光を照射する発光手段と、前記面からの透過光又は反射光を受光して電気信号に変換する受光手段と、プログラムに従って動作し、第１の入力ポート、及び前記受光手段から出力された前記電気信号が所定の信号線から入力される第２の入力ポートを有するプロセッサと、を備え、前記プロセッサは、前記第２の入力ポートから入力された前記電気信号のレベルを所定の閾値を基準に第１のレベルあるいは第２のレベルのいずれかに決定し、前記第１の入力ポートの電位を決定したレベルに設定して、前記所定の信号線に正帰還をかける。
【００１０】
この構成によれば、入力に正帰還をかけているため、入力された電気信号のレベルが一旦第１のレベルであると判定されると、上記所定の信号線の電位が第１のレベルの側に引っ張られるため、入力される電気信号が第２のレベルに判定され難くなる。同様に、入力された電気信号のレベルが一旦第２のレベルであると判定されると、上記所定の信号線の電位が第２のレベルの側に引っ張られるため、入力される電気信号が第１のレベルに判定され難くなる。このように、プログラムの指示を受けたプロセッサ、つまり、ソフトウエアにより正帰還をかけてヒステリシス特性を持たせることにより、入力される電気信号が閾値を挟んで揺れ動く事態を極力回避する。その結果、誤カウントを極力防止できる。
【００１１】
上記光学式検出装置は、前記第１の入力ポートと前記所定の信号線との間に接続される第１の抵抗手段と、前記所定の信号線と接地線との間に接続される第２の抵抗手段と、をさらに備える。この構成によれば、シンプルな構成により、誤カウントを極力防止できる。
【００１２】
上記光学式検出装置において、前記プロセッサは、前記第２の入力ポートに入力される電気信号に含まれるパルス数をカウントし、そのカウント値を演算処理に使用する。この構成によれば、誤カウントに基づく演算処理が実行されることを回避できる。
【００１３】
上記光学式検出装置において、前記プロセッサは、前記第２の入力ポートに入力される電気信号に含まれるパルス数をカウントし、そのカウント値に応じたビデオ信号を生成する。この構成によれば、誤カウントに基づくビデオ信号が生成されることを回避できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
【００１５】
図１は、本発明の実施の形態によるゲームシステムの全体構成を示すブロック図である。図１に示すように、このゲームシステムは、ゲーム機１及びテレビジョンモニタ３を備える。ゲーム機１は、Ａ／Ｖケーブル５により、テレビジョンモニタ３に接続される。また、ゲーム機１には、図示していないが、ＡＣアダプタあるいは電池により電源電圧が供給される。
【００１６】
ゲーム機１には、円柱状の回転体１０Ｌ及び１０Ｒが回転自在に設けられる。回転体１０Ｌと１０Ｒとはゲーム機１の内部で連結されており、一方が回転すると同時に他方も回転する。回転体１０Ｌ及び１０Ｒを区別して説明する必要がないときは、回転体１０と表記する。ゲームプレイヤは、回転体１０を回転させて、テレビジョンモニタ３に映し出された機関車オブジェクトを操作したり、選択画面での選択操作を行うことができる。
【００１７】
また、ゲーム機１の表面には、汽笛ボタン１２、視点変更ボタン１４、決定ボタン１６、及び電源スイッチ１８が設けられる。汽笛ボタン１２をゲームプレイヤが押すと、テレビジョンモニタ３のスピーカ（図示せず）から汽笛の音が出力される。視点変更ボタン１４をゲームプレイヤが押すと、テレビジョンモニタ３に映し出された機関車オブジェクトを眺める視点の位置が変わる。具体的には、視点変更ボタン１４が押されると、機関車オブジェクトに対する視点が、真上、真横、及び正面斜め上、というように変化する。決定ボタン１６は、操作を確定するためのものである。
【００１８】
図２は、図１のテレビジョンモニタ３に表示されるゲーム画面の例示図である。図２に示すように、テレビジョンモニタ３に表示されるゲーム画面は、機関車オブジェクト２０及び操作指示部２２を含む。機関車オブジェクト２０は、図１の回転体１０の回転速度に応じた速さで前進する。操作指示部２２には、ゲームプレイヤに対する指示が文字及びピクトグラフ（絵文字）２４で表示される。ピクトグラフ２４は、図１の回転体１０を模した絵及び回す方向を示す矢印を含み、幼少のゲームプレイヤにもわかり易い指示を与えることができる。
【００１９】
図３は、図１のテレビジョンモニタ３に表示される選択画面の例示図である。図３に示すように、テレビジョンモニタ３に表示される選択画面は、選択対象画像３０およびピクトグラフ２４を含む。選択対象画像３０は、例えば、８つ用意され、そのうち３つの選択対象画像３０が表示される。この場合、図１の回転体１０の回転に伴って、これら８つの選択対象画像３０が巡回的に表示される。
【００２０】
また、表示中の３つの選択対象画像３０のうち、中央の選択対象画像３０が現在選択中のものであり、他より大きく表示される（図では斜線を付している。）。そして、決定ボタン１６が押下されると、選択が確定する。
【００２１】
図４は、図１のテレビジョンモニタ３に表示される選択画面の他の例示図である。図４に示すように、テレビジョンモニタ３に表示される選択画面は、選択対象表示部４０を含む。選択対象表示部４０は、例えば、８つの選択対象画像からなり、図１の回転体１０の回転に伴って、これら８つの選択対象画像が巡回的に選択され、他と異なる色彩（図では斜線を付している。）となる。そして、決定ボタン１６が押下されると、選択が確定する。
【００２２】
図５は、図１のゲーム機１の電気的構成を示す図である。図５に示すように、ゲーム機１は、プロセッサ５０、ＲＯＭ５２、バス５４、スイッチユニット６０、検知ユニット５６、及び抵抗素子５８を含む。
【００２３】
プロセッサ５０及びＲＯＭ５２は、バス５４に接続される。スイッチユニット６０は、汽笛ボタン１２、視点変更ボタン１４、及び決定ボタン１６からなり、それぞれ、プロセッサ５０の入出力ポートＩＯ２，ＩＯ３及びＩＯ４に接続される。
【００２４】
図６は、図５の検知ユニット５６の回路図である。図６に示すように、検知ユニット５６は、発光ダイオード７０、抵抗素子７２、回転板７４、フォトトランジスタ７６、及び抵抗素子７８を含む。発光ダイオード７０及び抵抗素子７２は電源ＶＣＣとグラウンドとの間に直列に接続される。フォトトランジスタ７６及び抵抗素子７８は、電源ＶＣＣとグラウンドとの間に直列に接続される。フォトトランジスタ７６と抵抗素子７８との接続点Ｎは、プロセッサ５０の入出力ポートＩＯ１及び抵抗素子５８の一方端に接続される。抵抗素子５８の他方端は、プロセッサ５０の入出力ポートＩＯ０に接続される。
【００２５】
発光ダイオード７０とフォトトランジスタ７６との間には、回転板７４が配置される。回転板７４には、その縁に沿って、一定間隔で複数のスリットが形成される。スリットに照射された、発光ダイオード７０からの赤外光は、フォトトランジスタ７６に検知され、電気信号に変換される。スリット以外の部分に照射された、発光ダイオード７０からの赤外光は、ここで遮断され、フォトトランジスタ７６には検知されない。
【００２６】
従って、回転板７４が回転すると、その回転速度に応じた周波数のパルス信号が、フォトトランジスタ７６から入出力ポートＩＯ１へ出力される。ここで、回転板７４は、回転体１０に連結されており、回転体１０と共に回転する。このため、プロセッサ５０は、フォトトランジスタ７６が出力したパルス信号の周波数を観測することにより、回転板７４（回転体１０）の回転速度（パルス／単位時間）及び回転量（パルス数）を検知できる。
【００２７】
上記したように、機関車オブジェクト２０は、回転体１０（つまり回転板７４）の回転速度に応じた速さで前進する。つまり、プロセッサ５０は、入出力ポートＩＯ１に入力される、単位時間当たりのパルスの数をカウントして、回転体１０の回転速度を求め、その回転速度に応じた速さで、機関車オブジェクト２０を前進させる。
【００２８】
また、上記したように、図３及び図４の選択対象画像の選択状態は、回転体１０（回転板７４）の回転に応じて、巡回的に切り替わる。つまり、プロセッサ５０は、入出力ポートＩＯ１に入力されるパルスの数をカウントして、回転体１０の回転量が一定値を超えるたびに、選択状態を切り替えるとともに、その回転量をリセットする。
【００２９】
一方、ゲームプレイヤが回転体１０による入力を必要とせず、回転体１０を停止させる場合がある。この場合、回転体１０、つまり、回転板７４の停止位置によっては、接続点Ｎの電位が閾値Ｖｔｈ付近で揺れ動く場合がある。
【００３０】
プロセッサ５０は、入出力ポートＩＯ１の値と閾値Ｖｔｈとを比較して、ハイレベル（１）かローレベル（０）かを判定しているので、接続点Ｎの電位が閾値Ｖｔｈ付近で揺れ動くと、フォトトランジスタ７６からパルス信号を入力されたと判断し、つまり、回転板７４が回転したと判断し、ゲームプレイヤの意図と関係なく、機関車オブジェクトの速さを変えたり、選択対象画像の選択状態を変えたりしてしまう。
【００３１】
このような不都合を回避すべく、プロセッサ５０は、入出力ポートＩＯ１の値をハイレベルと判定したときは、入出力ポートＩＯ０をハイレベルに設定し、入出力ポートＩＯ１の値をローレベルと判定したときは、入出力ポートＩＯ０をローレベルに設定する。
【００３２】
その結果、フォトトランジスタ７６と抵抗素子７８との接続点Ｎの電位は、入出力ポートＩＯ０の値がハイレベルに設定されたときはプルアップされ、入出力ポートＩＯ０の値がローレベルに設定されたときはプルダウンされる。従って、接続点Ｎの電位が閾値Ｖｔｈ付近で揺れ動く事態を回避でき、ゲームプレイヤの意図に反して、機関車オブジェクトの速さが変わったり、選択対象画像の選択状態が変わったりすることを回避できる。
【００３３】
つまり、入出力ポートＩＯ１の値が一旦ハイレベルと判定されると、接続点Ｎの電位はローレベルになり難くなり、入出力ポートＩＯ１の値が一旦ローレベルと判定されると、接続点Ｎの電位はハイレベルになり難くなる（ヒステリシス特性）。
【００３４】
ヒステリシス特性について図面を用いて説明する。図７は、図５の検知ユニット５６、抵抗素子５８、及びプロセッサ５０により構成される光学式検出装置のヒステリシス特性の説明図である。縦軸は接続点Ｎの電位、横軸は時間を示す。
【００３５】
図７の説明において、電源電圧ＶＣＣを３．３Ｖ、閾値Ｖｔｈを１．５Ｖ、入出力ポートＩＯ０に設定されるハイレベル及びローレベルをそれぞれ３．３Ｖ及び０Ｖとする。また、抵抗素子７８及び５８の抵抗値をそれぞれ１０ｋΩ及び１００ｋΩとする。
【００３６】
図７を参照して、上側の曲線は、入出力ポートＩＯ０に常にハイレベルを設定した場合の接続点Ｎの電位変化を示し、下側の曲線は、入出力ポートＩＯ０に常にローレベルを設定した場合の接続点Ｎの電位変化を示す。
【００３７】
しかし、上記のように、入出力ポートＩＯ０は、入出力ポートＩＯ１のレベルに応じて制御されるので、回転板７４が回転したときの接続点Ｎの電位変化は、太い曲線で示したようになる。
【００３８】
区間Ｔ１では、接続点Ｎ（つまり入出力ポートＩＯ１）の電位は、閾値Ｖｔｈ以下なので、入出力ポートＩＯ０はローレベルに設定される。このため、区間Ｔ１では、ハイレベルになり難い。一方、区間Ｔ２では、接続点Ｎ（つまり入出力ポートＩＯ１）の電位は、閾値Ｖｔｈを超えているので、入出力ポートＩＯ０はハイベルに設定される。このため、区間Ｔ２では、ローレベルになり難い。
【００３９】
図５に戻って、プロセッサ５０は、バス５４を通じて、ＲＯＭ５２にアクセスできる。従って、プロセッサ５０は、ＲＯＭ５２に格納されたプログラムを実行でき、また、ＲＯＭ５２に格納されたデータをリードして処理することができる。このＲＯＭ５２に、ゲームプログラム、画像データ、及び音声データ等が予め格納される。
【００４０】
プロセッサ５０は、図示しないが、ＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、グラフィックプロセッサ、サウンドプロセッサおよびＤＭＡプロセッサ等を含むとともに、アナログ信号を取り込むときに用いられるＡ／Ｄコンバータや、キー操作信号や赤外線信号のような入力信号を受けかつ出力信号を外部機器に与える入出力制御回路を含む。
【００４１】
入出力制御回路に含まれる図示しないカウンタ（以下、「内蔵カウンタ」と呼ぶ。）が、入出力ポートＩＯ１を介して検知ユニット５６からのパルス信号を受けて、閾値Ｖｔｈを基準にハイ／ローを判断して、入力パルス数をカウントする。また、スイッチユニット６０からのキー操作信号は、入出力ポートＩＯ２〜ＩＯ４を介して入出力制御回路に入力される。そして、内臓カウンタのカウント値やスイッチユニット６０からのキー操作信号は、ＣＰＵにより読み込まれる。
【００４２】
ＣＰＵは、ＲＯＭ５２に格納されたゲームプログラムを実行し、各種演算を行う。この場合、回転板７４の回転速度／回転量およびスイッチユニット６０からの信号が反映される。グラフィックプロセッサやサウンドプロセッサは、ＣＰＵによる演算結果に従って、ＲＯＭ５２に格納された画像データや音声データを読み込んで、ビデオ信号やオーディオ信号を生成し、Ａ／Ｖケーブル５に出力する。
【００４３】
また、プロセッサ５０には、図示しないが内部メモリが設けられ、この内部メモリは、例えば、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）により構成される。内部メモリは、ワーキング領域、カウンタ領域、レジスタ領域、テンポラリデータ領域、及び／又はフラグ領域等として利用される。
【００４４】
さて、以上のように、本実施の形態によれば、入力（接続点Ｎ）に正帰還をかけているため、フォトトランジスタ７６から入力された電気信号のレベルが一旦ハイレベルであると判定されると、接続点Ｎの電位がプルアップされるため、入力される電気信号がローレベルに判定され難くなる。同様に、フォトトランジスタ７６から入力された電気信号のレベルが一旦ローレベルであると判定されると、接続点Ｎの電位がプルダウンされるため、入力される電気信号がハイレベルに判定され難くなる。このように、プログラムの指示を受けたプロセッサ５０、つまり、ソフトウエアにより正帰還をかけてヒステリシス特性を持たせることにより、フォトトランジスタ７６から入力される電気信号が閾値Ｖｔｈを挟んで揺れ動く事態を極力回避する。このため、誤カウントを極力防止できる。
【００４５】
その結果、ゲームプレイヤが意図しない入力に応じた演算処理が実行されたり、ビデオ信号が生成されたりすることを回避できる。
【００４６】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【００４７】
（１）上記では、検知ユニット５６として、透過型の光センサ（発光ダイオード７０、回転板７４、及びフォトトランジスタ７６）を使用したが、反射型の光センサを使用することもできる。この場合、回転板７４には、複数のスリットの代わりに、複数の光反射領域を形成する。つまり、回転板７４に、光反射領域と光吸収領域とを交互に形成する。また、フォトトランジスタ７６と発光ダイオード７０とで回転板７４を挟むのではなく、フォトトランジスタ７６と発光ダイオード７０とを同じ側に配置する。
【００４８】
（２）上記では、回転板７４の回転に応じたパルスをカウントする光学式検出装置（言わば方向を検知する機能を持たないロータリエンコーダ）の誤カウントを回避するため、入出力ポートＩＯ０の制御を行った。ただし、同じ制御を行うことで、移動体の移動に応じたパルスをカウントする光学式検出装置（言わば方向を検知する機能を持たないリニアエンコーダ）にも適用できる。もちろん、同様の制御を行うことで、ロータリエンコーダやリニアエンコーダにも適用可能である。
【００４９】
（３）上記では、回転板７４の回転量が一定値を超えるたびに、選択対象画像の選択状態を変えていった。ただし、回転板７４の回転速度が一定値を超えるたびに、選択対象画像の選択状態を変えることもできる。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施の形態によるゲームシステムの全体構成を示すブロック図。
【図２】図１のテレビジョンモニタ３に表示されるゲーム画面の例示図。
【図３】図１のテレビジョンモニタ３に表示される選択画面の例示図。
【図４】図１のテレビジョンモニタ３に表示される選択画面の他の例示図。
【図５】図１のゲーム機１の電気的構成を示す図。
【図６】図５の検知ユニット５６の回路図。
【図７】図５の検知ユニット５６、抵抗素子５８、及びプロセッサ５０により構成される光学式検出装置のヒステリシス特性の説明図。
【符号の説明】
【００５１】
１…ゲーム機、３…テレビジョンモニタ、１０（１０Ｌ，１０Ｒ）…回転体、５０…プロセッサ、５２…ＲＯＭ、５４…バス、５６…検知ユニット、５８，７２，７８…抵抗素子、６０…スイッチユニット、７０…発光ダイオード、７４…回転板、７６…フォトトランジスタ。
【図１】
2007017220.tif 000003
【図２】
2007017220.tif 000004
【図３】
2007017220.tif 000005
【図４】
2007017220.tif 000006
【図５】
2007017220.tif 000007
【図６】
2007017220.tif 000008
【図７】
2007017220.tif 000009