以下、本発明の実施の形態を図面を参照しながら説明する。
図1は、本発明の一実施の形態に係る制御システムを示す図である。制御システム100は、表示装置5、制御装置40及び入力装置1を含む。
図2は、入力装置1を示す斜視図である。入力装置1は、ユーザが持つことができる程度の大きさとされている。入力装置1は、筐体10、筐体10の上部に設けられた例えば2つのプッシュタイプのボタン11、12、回転タイプのホイールボタン13等の操作部23を備えている。筐体10の上部の中央よりに設けられたボタン11(以下、操作ボタン11という。)は、例えばPCで用いられる入力デバイスとしてのマウスの左ボタンの機能を有し、操作ボタン11に隣接する隣接ボタン12は右ボタンの機能を有する。
例えば、操作ボタン11を長押して入力装置1を移動させることによりアイコン4を移動させる「ドラッグアンドドロップ」、操作ボタン11のダブルクリックによりファイルを開く操作、ホイールボタン13により画面3(図5参照)のスクロール操作が行われるようにしてもよい。アイコンとは、コンピュータ上のプログラムの機能、実行コマンド、またはファイルの内容等が画面3上で画像化されたものである。操作ボタン11、隣接ボタン12、ホイールボタン13の配置、発行されるコマンドの内容等は、適宜変更可能である。
図3は、入力装置1の内部の構成を模式的に示す図である。図4は、入力装置1の電気的な構成を示すブロック図である。
入力装置1は、センサユニット17、制御ユニット30、バッテリー14を備えている。
図9は、センサユニット17を示す斜視図である。センサユニット17は、筐体10の動き、つまり入力装置1の動きを検出するセンサである。センサユニット17は、互いに異なる角度、例えば直交する2軸(X軸及びY軸)に沿った加速度を検出する加速度センサユニット16を有する。すなわち、加速度センサユニット16は、第1の加速度センサ161及び第2の加速度センサ162の2つセンサを含む。また、センサユニット17は、その直交する2軸の周りの角加速度を検出する角速度センサユニット15を有する。すなわち、角速度センサユニット15は、第1の角速度センサ151及び第2の角速度センサ152の2つのセンサを含む。これらの加速度センサユニット16及び角速度センサユニット15はパッケージングされ、回路基板25上に搭載されている。
第1、第2の角速度センサ151、152としては、角速度に比例したコリオリ力を検出する振動型のジャイロセンサが用いられる。第1、第2の加速度センサ161、162としては、ピエゾ抵抗型、圧電型、静電容量型等、どのようなタイプのセンサであってもよい。
図2及び図3の説明では、便宜上、筐体10の長手方向をZ’方向とし、筐体10の厚さ方向をX’方向とし、筐体10の幅方向をY’方向とする。この場合、上記センサユニット17は、回路基板25の、加速度センサユニット16及び角速度センサユニット15を搭載する面がX’−Y’平面に実質的に平行となるように、筐体10に内蔵される。上記したように、両センサユニット16、15はX軸及びY軸の2軸に関する物理量を検出する。以降では、入力デバイス1とともに動く座標系、つまり、入力デバイス1に固定された座標系をX’軸、Y’軸、Z’軸で表す。一方、静止した地球上の座標系、つまり慣性座標系をX軸、Y軸、Z軸で表す。また、以降の説明では、入力装置1の動きに関し、X’軸の周りの回転の方向をピッチ方向、Y’軸の周りの回転の方向をヨー方向といい、Z’軸(ロール軸)方向の周りの回転の方向をロール方向という場合もある。
制御ユニット30は、メイン基板18、メイン基板18上にマウントされたMPU19(Micro Processing Unit)(あるいはCPU)、水晶発振器20、送信機21、メイン基板18上にプリントされたアンテナ22を含む。
MPU19は、必要な揮発性及び不揮発性メモリを内蔵している。MPU19は、センサユニット17による検出信号、操作部23による操作信号等を入力し、これらの入力信号に応じた所定の制御信号(コマンド)を生成するため、各種の演算処理等を行う。
送信機21は、MPU19で生成されたコマンドを無線信号(例えばRF無線信号)として、アンテナ22を介して制御装置40に送信する。
水晶発振器20は、基準パルスを生成し、これをMPU19に供給する。MPU19はこの基準パルスに基き、様々な周波数のクロックを生成することができる。バッテリー14としては、乾電池または充電式電池等が用いられる。
制御装置40はコンピュータであり、MPU35(あるいはCPU)、表示制御部42、RAM36、ROM37、ビデオRAM41、アンテナ39及び受信機38等を含む。
受信機38は、入力装置1から送信された制御信号を、アンテナ39を介して受信する。MPU35は、その制御信号を解析し、各種の演算処理を行う。表示制御部42は、MPU35の制御に応じて、主に、表示装置5の画面3上に表示するための画面データを生成する。ビデオRAM41は、表示制御部42の作業領域となり、生成された画面データを一時的に格納する。
制御装置40は、入力装置1に専用の機器であってもよいが、PC等であってもよい。制御装置40は、PCに限られず、表示装置5と一体となったコンピュータであってもよいし、オーディオ/ビジュアル機器、プロジェクタ、ゲーム機器、またはカーナビゲーション機器等であってもよい。
表示装置5は、例えば液晶ディスプレイ、EL(Electro-Luminescence)ディスプレイ等が挙げられるが、これらに限られない。あるいは、表示装置5は、テレビジョン放送等を受信できるディスプレイと一体となった装置でもよい。
図5は、表示装置5に表示される画面3の例を示す図である。画面3上には、アイコン4等のUIやポインタ2が表示されている。なお、画面3上の水平方向をX軸方向とし、垂直方向をY軸方向とする。
図6は、ユーザが入力装置1を握った様子を示す図である。図6に示すように、入力装置1は、操作部23として、上記操作ボタン11、隣接ボタン12、ホイールボタン13のほか、例えばテレビ等を操作するリモートコントローラに設けられるような各種のボタン29や電源ボタン28等を備えていてもよい。このようにユーザが入力装置1を握った状態で、入力装置1を空中で移動させ、あるいは操作部23を操作することにより、それにより発生するコマンドの信号が制御装置40に出力され、制御装置40によりUIが制御される。
入力装置1のMPU19は、上記コマンドとして、典型的にはセンサユニット17による検出信号に応じた、画面3上でのポインタ2の変位量に対応する移動コマンド、及び、操作部23を介したユーザによる操作入力に応じた操作コマンドを生成する(移動コマンド出力手段、決定コマンド出力手段)。
操作部23を介してユーザにより入力された操作信号は、入力装置1(筐体10)の動きによる信号であるセンサユニット17の検出信号以外の入力信号、すなわち入力装置1の動きによらない操作信号である。
図7(A)〜図7(C)は、操作ボタン11の構成を示す模式図である。
操作部23の一部である操作ボタン11は、2段階のアクションを有するボタンである。操作ボタン11は、例えば移動ボタン7(第1のボタン)と、この移動ボタン7とは物理的に離れて設けられた決定ボタン8(第2のボタン)と、移動ボタン7及び決定ボタン8を連続的に押すことが可能な表面ボタン6とを有する。移動ボタン7は、内部に図示しないスイッチ(第1のスイッチ)を有し、決定ボタン8も、内部に図示しないスイッチ(第2のスイッチ)を有する。移動ボタン7が押されることにより、スイッチがON状態となり、操作信号(第1の操作信号)が入力された状態となる。決定ボタン8が押されることにより、スイッチが電気的にON状態となり、操作信号(第2の操作信号)が入力された状態となる。
移動ボタン7及び決定ボタン8の各スイッチは、メイン基板18に電気的に接続されている。MPU19は、移動ボタン7のスイッチの切り替えに応じて、ポインタ2の移動の開始及び停止を切り替えるための制御信号を出力する。決定ボタン8は、例えば上記したようにマウスの右ボタンの機能を有する。決定ボタン8が押されスイッチがONとされることで、MPU19は決定コマンド(上記操作コマンドの一部)を出力する。
決定コマンドとは、例えば画面3上のアイコン4等を対象として所定の処理を実行するためのコマンドであり、典型的にはそのUIを選択するコマンドである。しかし、決定ボタン8の機能はこれに限れるわけではなく、制御装置40で動作するアプリケーションプログラムにより適宜種々の機能として設定される。
図7(A)は、操作ボタン11がユーザにより押されていない状態を示す図である。表面ボタン6は、筐体10に設けられた軸9に接続され、その反対側の端部でバネ24を介して筐体に接続されている。ユーザの指34で表面ボタン6の表面が押されることにより、表面ボタン6は、軸9を中心としてバネ24のバネ力に抗して回動する。移動ボタン7及び決定ボタン8はプッシュタイプのボタンである。表面ボタン6の裏面には、移動ボタン7及び決定ボタン8をそれぞれ押すことが可能な突起6a及び6bが設けられている。
移動ボタン7及び決定ボタン8は、例えば筐体10内に配置されている。表面ボタン6が所定の距離(第1の距離)押されることで(図7(B)参照)、突起6aにより移動ボタン7が押され、続いて表面ボタン6がさらに所定の距離(第2の距離)押されることで(図7(C)参照)、突起6bにより決定ボタン8が押される。図7(B)は、移動ボタン7が押され、決定ボタン8が押されていない状態を示している。図7(C)は、移動ボタン7及び決定ボタン8が両方ともに押されている状態を示している。
押された表面ボタン6が解除される場合、バネ24の戻り力により、表面ボタン6は図7(C)→図7(B)→図7(A)の順に動き、決定ボタン8、移動ボタン7の順に、それらの押された状態が解除される。
上記第1の距離及び第2の距離は、同じでもよいし異なっていてもよく、適宜設定可能である。図7(A)に示す状態から図7(B)に示す状態まで移行するときに必要な力と、図7(B)に示す状態から図7(C)に示す状態まで移行するときに必要な力は、同じでもよいし、異なっていてもよい。
以上のような操作ボタン11では、移動ボタン7が押され、かつ、決定ボタン8が押されない状態(図7(B))が維持される、いわゆる半押しも可能である。ユーザは操作ボタン11を半押し状態で入力装置1を動かすことにより、制御装置40はポインタ2を所望の位置へ移動させるように表示を制御する。
次に、入力装置1の動かし方及びこれによる画面3上のポインタ2の動きの典型的な例を説明する。図8はその説明図である。
図8(A)、(B)に示すように、ユーザが入力装置1を握った状態で、入力装置1のボタン11、12が配置されている側を表示装置5側に向ける。ユーザは、親指を上にし子指を下にした状態、いわば握手する状態で入力装置1を握る。この状態で、センサユニット17の回路基板25(図9参照)は、表示装置5の画面3に対して平行に近くなり、センサユニット17の検出軸である2軸が、画面3上の水平軸(X軸)及び垂直軸(Y軸)に対応するようになる。以下、このような図8(A)、(B)に示す入力装置1の姿勢を基本姿勢という。
図8(A)に示すように、基本姿勢の状態で、ユーザが手首や腕を上下方向に動かすかまたはX軸の周りで回転させる。このとき、第2の加速度センサ162は、ピッチ方向の加速度(第2の加速度)を検出し、第1の角速度センサ151は、X軸の周りの角速度(第1の角速度)を検出する。これらの検出値に基き、制御装置40は、ポインタ2がY軸方向に移動するようにそのポインタ2の表示を制御する。
一方、図8(B)に示すように、基本姿勢の状態で、ユーザが手首や腕を左右方向に動かすかまたはY軸の周りで回転させる。このとき、第1の加速度センサ161は、ヨー方向の加速度(第1の加速度)を検出し、第2の角速度センサ152は、Y軸の周りの角速度(第2の角速度)を検出する。これらの検出値に基き、制御装置40は、ポインタ2がX軸方向に移動するようにそのポインタ2の表示を制御する。
後で詳述するが、一実施の形態では、入力装置1のMPU19が、内部の不揮発性メモリに格納されたプログラムに従い、センサユニット17で検出された各検出値に基きヨー及びピッチ方向の速度値を算出する。ここで、ポインタ2の移動の制御のためには、加速度センサユニット16が検出する2軸の加速度値の積分値(速度)のディメンジョンが用いられる。そして、この速度のディメンジョンの情報が移動コマンドの信号として制御装置40に送られる(図12参照)。
他の実施の形態では、入力装置1は、センサユニット17で検出された物理量のディメンジョンの情報が移動コマンドの信号として制御装置40に送られる。この場合、制御装置40のMPU35は、ROM37に格納されたプログラムに従い、受信した移動コマンドに基きX及びY軸方向の速度値を算出する。表示制御部42は、この速度値に応じてポインタ2を移動させるように表示する(図15参照)。
制御装置40は、入力装置1の単位時間当りのヨー方向の変位を、画面3上のX軸上でのポインタ2の変位量に変換し、入力装置1の単位時間当りのピッチ方向の変位を、画面3上のY軸上でのポインタ2の変位量に変換することにより、ポインタ2を移動させる。典型的には、例えば図12に示す例では、制御装置40のMPU19は、所定のクロック数ごとに供給されてくる速度値について、(n−1)回目に供給された速度値に、n回目に供給された速度値を加算する。これにより、当該n回目に供給された速度値が、ポインタ2の変位量に相当し、ポインタ2の画面3上の座標情報が生成される。
上記速度値を算出するときの、加速度値の積分についても、この変位量の算出方法と同様とすればよい。
次に、加速度センサユニット16への重力の影響について説明する。図10及び図11は、その説明のための図である。図10は、入力装置1をZ方向で見た図であり、図11は、入力装置1をX方向で見た図である。
図10(A)では、入力装置1が基本姿勢とされ、静止しているとする。このとき、第1の加速度センサ161の出力は実質的に0であり、第2の加速度センサ162の出力は、重力加速度G分の出力とされている。しかし、例えば図10(B)に示すように、入力装置1がロール方向に傾いた状態では、第1、第2の加速度センサ161、162は、重力加速度Gのそれぞれの傾き成分の加速度値を検出する。
この場合、特に、入力装置1が実際にヨー方向には動いていないにも関わらず、第1の加速度センサ161はヨー方向の加速度を検出することになる。この図10(B)に示す状態は、図10(C)のように入力装置1が基本姿勢にあるときに、加速度センサユニット16が破線の矢印で示すような慣性力Ix、Iyを受けた状態と等価であり、加速度センサユニット16にとって区別が付かない。その結果、加速度センサユニット16は、矢印Fで示すような左に斜め下方向の加速度が入力装置1に加わったと判断し、入力装置1の実際の動きとは違った検出信号を出力する。しかも、重力加速度Gは常に加速度センサユニット16に作用するため、積分値は増大し、ポインタ2を斜め下方に変位させる量は加速度的に増大してしまう。図10(A)から図10(B)に状態が移行した場合、本来、画面3上のポインタ2が動かないようにすることが、ユーザの直感に合った操作と言える。
例えば、図11(A)に示すような入力装置1の基本姿勢の状態から、図11(B)に示すような、入力装置1がピッチ方向で回転して傾いたときも、上記と同様のことが言える。このような場合、入力装置1が基本姿勢にあるときの第2の加速度センサ162が検出する重力加速度Gが減少するので、図11(C)に示すように、入力装置1は、上のピッチ方向の慣性力Iと区別が付かない。
以上のような加速度センサユニット16への重力の影響を極力減らすために、本実施の形態に係る入力装置1は、角速度センサユニット15で検出された角速度値を用いて、入力装置1の速度値を算出する。以下、この動作について説明する。図12は、その動作を示すフローチャートである。
入力装置1に電源が投入される。例えば、ユーザが入力装置1または制御装置40に設けられた電源スイッチ等を入れることにより、入力装置1に電源が投入される。電源が投入されると、加速度センサユニット16から2軸の加速度信号(第1、第2の加速度値ax、ay)が出力され(ステップ101a)、これがMPU19に供給される。この加速度信号は、電源が投入された時点での入力装置1の姿勢(以下、初期姿勢という)に対応する信号である。
初期姿勢は、上記基本姿勢になることも考えられる。しかし、X軸方向に重力加速度のすべての量が検出される姿勢、すなわち第1の加速度センサ161の出力が重力加速度分の加速度値を検出し、第2の加速度センサ162の出力が0である場合もある。もちろん初期姿勢は、図10(B)に示したように傾いた姿勢であることも考えられる。
入力装置1のMPU19は、所定のクロック数ごとにこの加速度センサユニット16からの加速度信号(ax、ay)を取得する。MPU19は、2回目以降の加速度信号(ax、ay)を取得すると、重力の影響を除去するために、次のような演算を行う。すなわちMPU19は、下記の式(1)、(2)のように、今回の加速度値ax、ayから、前回のそれぞれX軸及びY軸方向で検出された重力加速度成分(1回目のax(=arefx)、ay(=arefy))を差し引き、それぞれ第1の補正加速度値acorx、第2の補正加速度値acoryを生成する(ステップ102a)。
acorx =ax−arefx・・・(1)
acory =ay−arefy・・・(2)。
arefx、arefyを、以降、それぞれX軸及びY軸の基準加速度値(第1の基準加速度値、第2の基準加速度値)という。電源が投入されてから最初にステップ102aの計算をするとき、arefx、arefyは電源投入直後に検出された加速度信号ax、ayとなる。
MPU19は、式(3)、(4)に示すように、第1、第2の補正加速度値acorx、acoryを加算していく、つまり積分演算により、それぞれ第1の速度値Vx、第2の速度値Vyを算出する(ステップ115)。
Vx(t) =Vx(t-1)+acorx・・・(3)
Vy(t) =Vy(t-1)+acory・・・(4)
Vx(t)、Vy(t)は今回の速度値を表し、Vx(t-1)、Vy(t-1)は前回の速度値を表している。
一方、上記したように、入力装置1に電源が投入されると、角速度センサユニット15から2軸の角速度信号(第1及び第2の角速度値ωx、ωy)が出力され(ステップ101b)、これがMPU19に供給される。MPU19は、これを取得すると、微分演算により、それぞれの角加速度値(第1の角加速度値Δωx、第2の角加速度値Δωy)を算出する(ステップ102b)。
MPU19は、上記Δωx、Δωyの絶対値|Δωy|、|Δωx|がそれぞれ閾値Th1より小さいか否かを判定する(ステップ103、ステップ106)。|Δωy|≧Th1の場合、MPU19は、第1の基準加速度値arefxをそのまま用い、これを更新しない(ステップ104)。同様に、|Δωx|≧Th1の場合、MPU19は、第2の基準加速度値arefyをそのまま用い、これを更新しない(ステップ107)。
閾値Th1は、0に近い値が設定される。閾値Th1は、ユーザが意識的に入力装置1を静止させているにも関わらず、ユーザの手ぶれやDCオフセットや等により検出されてしまう角速度値が考慮される。こうすることで、ユーザが意識的に入力装置1を静止させた場合に、当該手ぶれやDCオフセットによりポインタ2が動いて表示されてしまうことを防止できる。
以上のように処理するのは以下の理由による。
図13は、入力装置1を操作するユーザを上から見た図である。ユーザが自然に入力装置1を操作する場合、腕の付け根の回転、肘の回転及び手首の回転のうち少なくとも1つによって操作する。したがって、加速度が発生すれば、角加速度も発生すると考える。すなわち、加速度は、その加速度の方向と同じ方向の角加速度に従属するものとみなすことができる。したがって、MPU19は、第2の角加速度値|Δωy|を監視することで、それと同じ方向である第1の基準加速度値arefxを更新するか否かを判定し、式(1)から結果的に第1の補正加速度値acorxを校正するか否かを判定することができる。第1の角加速度値|Δωx|についても同様である。
さらに詳しく説明すると、第2の角加速度値|Δωy|が閾値Th1以上であるときは、MPU19は、入力装置1がヨー方向に動いていると判定する。この場合、MPU19は、第1の基準加速度値arefxを更新せず、結果的に、第1の補正加速度値acorxを校正せず、そのacorxに基き、式(3)の積分演算を続ける。
また、第1の角加速度値|Δωx|が閾値Th1以上であるときは、MPU19は、入力装置1がピッチ方向に動いていると判定する。この場合、MPU19は、第2の基準加速度値arefyを更新せず、結果的に、第2の補正加速度値acoryを校正せず、そのacoryに基き、式(4)の積分演算を続ける。
一方、ステップ103において、第2の角加速度値|Δωy|が閾値Th1より小さいときは、MPU19は、入力装置1がヨー方向では静止していると判定する。この場合、MPU19は、第1の基準加速度値arefxを今回の(最新の)検出値axに更新することで、式(1)により、第1の補正加速度値acorxを校正する(ステップ105)。最新の検出値axとは、つまり、入力装置1がほぼ静止している状態での検出値であるので、これは重力加速度による成分値となる。
同様に、ステップ106において、第1の角加速度値|Δωx|が閾値Th1より小さいときは、MPU19は、入力装置1がピッチ方向では静止していると判定する。この場合、MPU19は、第2の基準加速度値arefyを今回の(最新の)検出値ayに更新することで、式(2)により、第2の補正加速度値acoryを校正する(ステップ108)。
なお、本実施の形態では、ヨー方向及びピッチ方向の両方向について閾値を同じ値Th1としたが、両方向で異なる閾値が用いられてもよい。
上記では、角加速度値Δωx、Δωyが監視されたが、さらにMPU19は、角速度値ωx、ωyを監視することで、式(3)、(4)で算出された速度値を補正することも可能である。図13の考え方により、速度が発生すれば、角速度も発生すると考え、速度は、その速度の方向と同じ方向の角速度に従属するものとみなすことができる。
詳しくは、第2の角速度値の絶対値|ωy|が閾値Th2以上であるときは(ステップ109のNO)、MPU19は、入力装置1がヨー方向に動いていると判定する。この場合、MPU19は、第1の速度値Vxを補正しない(ステップ110)。第1の角速度値の絶対値|ωx|についても同様である(ステップ112のNO、ステップ113)。
閾値Th2も、上記閾値Th1の設定とどうような趣旨で設定されればよい。
一方、第2の角速度値の絶対値|ωy|が閾値Th2より小さいときは(ステップ109のYES)、MPU19は、入力装置1がヨー方向では静止していると判定する。この場合、MPU19は、第1の速度値Vxを補正し、例えばゼロにリセットされる(ステップ111)。第1の角速度値の絶対値|ωx|についても同様である(ステップ112のYES、ステップ114)。
以上のようにMPU19は、両方向の速度値Vx、Vyを出力し、送信機21はこの速度値に関する入力情報を制御装置40に出力する(ステップ116)。
制御装置40のMPU35は、入力情報である速度値Vx、Vyを入力する(ステップ117)。MPU35は、下記の式(5)、(6)に示す、速度値Vx、Vyに応じた、ポインタ2の座標値X、Yを生成する(ステップ118)。表示制御部42は、画面3上の座標値X、Yの位置にポインタ2が移動するように表示を制御する(ステップ119)(表示制御手段)。
X(t) =X(t-1)+Vx・・・(5)
Y(t) =Y(t-1)+Vy・・・(6)。
以上のように、入力装置1がほぼ静止したときには基準加速度値arefx、arefyが更新され、補正加速度値acorx、acoryが校正されるので、加速度センサユニット16への重力の影響を抑えることができる。また、基準加速度値arefx、arefyが更新されると、式(1)、(2)より加速度値acorx、acoryが補正されるため、DCレベルも補正され、DCオフセットの問題も解決される。さらに、入力装置1がほぼ静止したときには速度値もゼロリセットされるように補正されるので、積分誤差も抑えることができる。積分誤差が発生すると、ユーザが入力装置1の移動を停止させたにも関わらず、ポインタ2が画面3上で動く現象が起こる。
また、本実施の形態では、第1の基準加速度値arefx及び第2の基準加速度値arefyの更新が個別に行われることにより、例えばヨー及びピッチ方向のうち一方の角加速度値のみが閾値より小さくなれば、その校正が行われることになる。したがって、実用的に十分短い時間間隔で、第1の基準加速度値arefxまたは第2の基準加速度値arefyを更新することができる。第1の速度値Vx及び第2の速度値Vyの補正が個別に行われることについても同様のことが言える。図14は、このことをわかりやすく説明するための図である。
図14では、X軸及びY軸の平面で見た入力装置1の軌跡を示している。ヨー方向での角速度値ωyがほぼゼロ(閾値Th2より小さい)であれば、Vxがゼロリセットされる。ピッチ方向での角速度値ωxがほぼゼロ(閾値Th2より小さい)であれば、Vyがゼロリセットされる。
図15は、上記した他の実施の形態を示すフローチャートである。このフローチャートでは、入力装置1がセンサユニット17から出力された2軸の加速度信号及び2軸の角速度信号を入力情報として制御装置40に出力する。制御装置40のMPU35は、ステップ204〜218において、図12で示したステップ102a及び102b〜115を実行する。詳細は、図12と同様であるので説明を省略する。
次に、図7(A)〜(C)に示した操作ボタン11が押されるときの入力装置1の動作について説明する。図16は、その動作を示すフローチャートである。
ユーザにより操作ボタン11の移動ボタン7を介して第1の操作信号が入力されていない状態では(ステップ401のNO)、MPU19は、移動コマンドの出力を停止しているか、または、ポインタ2の変位量をゼロとする移動コマンドを出力する(ステップ402)(出力制御手段)。すなわち、ユーザが入力装置1を持って動かしたとしても、画面3上でポインタ2は動かない。これにより、ユーザが意図しないポインタ2の移動を規制することができる。
移動ボタン7が押されると(ステップ401のYES)、つまり第1のスイッチを介して第1の操作信号が入力されると、MPU19は、移動コマンドの出力を開始する(ステップ403)(出力制御手段)。制御装置40は、その移動コマンドを受信することで、移動コマンドに応じたポインタ2の移動を開始するように、ポインタ2の表示を制御する。
移動ボタン7が押された状態で、決定ボタン8が押された場合(ステップ404のYES)、つまり第2のスイッチを介した操作入力がなされると、MPU19は、決定コマンドを出力し、制御装置40はこれを受信して所定の処理を実行する。例えば、画面3上における決定ボタン8が押されたときのポインタ2の位置がアイコン4上であれば、制御装置40のMPU35は、そのアイコン4を選択する処理を実行したり、そのアイコン4に対応するアプリケーションプログラムを起動したりする。決定ボタン8が押されたときのポインタ2の位置がアイコン4上でない場合、制御装置40は、他の所定の処理を実行する(ステップ405)。
なお、ステップ404で決定ボタン8が押されてから、決定ボタン8が離され、所定の時間内に再び決定ボタン8が押されると、MPU19またはMPU35は、ダブルクリックに対応した処理を実行する。あるいは、ステップ404で決定ボタン8が押された状態が維持されると、ドラッグ操作が可能な状態となる。
本実施の形態では、ユーザにより移動ボタン7が押されて第1の操作信号が入力された状態で、決定ボタン8が押されて第2の操作信号が入力されることにより、決定コマンドが出力される。これにより、移動ボタン7が押されることでポインタの移動が可能となり、続いて、決定ボタン8が押されることで決定コマンドの出力が可能となるので、ユーザは直感的に操作することができる。
特に、ユーザは、操作ボタン11の1つの表面ボタン6を押すことで、上記の連続した操作が可能となるので、直感性を向上させることができる。
次に、入力装置の操作ボタン11が操作されるとき、特に決定ボタン8が操作されるときの他の実施の形態に係る動作について説明する。図17は、その動作を示すフローチャートである。
図18は、図17に示す動作を実現するための入力装置1の機能的なブロック図である。分周器44は、水晶発振器20から供給されるパルスに基き所定の周波数のクロックパルスを生成する。カウンタ45は分周器44で生成されたクロックパルスをカウントする。カウント値設定部46では、例えば所定数のカウント値が設定されそのカウント値を記憶する。制御部47は、カウンタから供給されるカウント値とカウント値設定部46から供給されるカウント値とを比較し、比較の結果に基き後述する処理を実行する。
分周器44、カウンタ45、カウント値設定部46、制御部47等のブロックは、例えばMPU19が有している。
カウント値設定部46で設定されるカウント値としては、例えば2つの種類がある。1つは、ユーザにより操作ボタン11の決定ボタン8が押されてから、つまり第2の操作信号の入力が開始されてからの時間であって、MPU19が画面3上でポインタ2を動かすための移動コマンドの生成または送信を停止している時間(第1の時間)に相当するカウント値である。
もう1つは、ユーザにより押された決定ボタン8が離されてから、つまり第2の操作信号入力が解除されてからの時間であって、MPU19が移動コマンドの生成または送信を停止している時間(第2の時間)に相当するカウント値である。以下、第1の時間に相当するカウント値を第1のカウント値とし、上記第2の時間に相当するカウント値を第2のカウント値とする。
第1の時間と第2の時間は同じであってもよいし、異なっていてもよい。典型的には第1及び第2の時間は、0.1〜0.3秒であるが、これに限られない。第1及び第2の時間のうち少なくとも一方は、ユーザによりカスタマイズできるようになっていてもよい。
MPU19は、移動コマンドの生成または送信を停止する代わりに、画面3上でのポインタ2の変位量をゼロとする移動コマンド、すなわち速度値(Vx(t), Vy(t)) = (0,0)にリセットされた移動コマンドの信号を出力してもよい。
なお、一般的にPCでは、マウスのボタンを介してユーザにより入力された操作信号の入力が解除されること、つまり押されたボタンが離されたことをトリガーとして、その操作のコマンドが実行されることが多い。
図17を参照して、ステップ301〜304までは、MPU19は、図15に示したステップ401〜404と同様の処理を実行する。
ユーザにより決定ボタン8が押された場合(ステップ304のYES)、制御部47はタイマーをオンとし(ステップ305)、カウンタ45によるカウントアップを開始する。そうすると、MPU19は移動コマンドの出力を停止させる(ステップ306)。あるいは、MPU19は第1の時間内でポインタ2の変位量をゼロとする移動コマンドを出力し続けるようにする。(移動コマンド制御手段)。
制御部47は、カウント値設定部46で設定された第1のカウント値とカウンタ45から供給されるカウント値とを比較する(ステップ307)。つまり、両カウント値が一致すれば第1の時間が終了するので、制御部47はタイマーを終了する。両カウント値が異なれば制御部47はタイマーを作動し続け、次のステップ308に進む。ステップ308では、MPU19は、押された決定ボタン8が離されたか否か、つまり第2の操作信号の入力が解除されたか否かを監視する。押された決定ボタン8が離されていない場合、MPU19は、カウント値を1インクリメントし(ステップ309)、ステップ306に戻る。
このように、MPU19は、タイマーを作動し続けている間、つまりカウンタ45から供給されるカウント値が第1のカウント値が一致するまでは、移動コマンドの生成または送信を停止する。あるいは、上記したようにMPU19は画面3上でのポインタ2の変位量をゼロとする移動コマンドを第1の時間内で出力し続けるようにしてもよい。このような処理により、ユーザが決定ボタン8を介して操作信号を入力したときに筐体10が動いてセンサユニット17によりその動きが検出されても、画面3上でのポインタ2の動きが規制される。したがって、ユーザの意図しないポインタ2やアイコン4等の動作が発生することを防止できる。典型的には、ユーザはダブルクリック操作を容易に行うことができる。
タイマーが終了した場合(ステップ307のYES)、MPU19は移動コマンドを生成または送信する(ステップ310)。この場合、ポインタ2は、入力装置1の動きに応じて画面3上で移動する。ステップ310では、第2の操作信号の入力が未だ解除されていない状態であり、ユーザが決定ボタン8を押した状態を保ったまま入力装置1を動かしている状態にある。
タイマーが作動している間であっても、第2の操作信号の入力が解除された場合(ステップ308のYES)、ステップ310と同様に、MPU19は移動コマンドを生成または送信する(ステップ311)。
ステップ310の状態から、MPU19は、押された決定ボタン8が離されたか否かを監視、つまり第2の操作信号の入力が解除されたか否かを監視する(ステップ312)。解除された場合、制御部47は再びタイマーをオンとし(ステップ313)、カウンタ45によるカウントアップを開始する。そうすると、MPU19は移動コマンドの出力を停止させる(ステップ314)。あるいは、MPU19は第2の時間内でポインタ2の変位量をゼロとする移動コマンドを出力し続けるようにする。
制御部47は、カウント値設定部46で設定された第2のカウント値とカウンタ45から供給されるカウント値とが一致する場合(ステップ315のYES)、タイマーを終了し、第2の時間が終了する。第2の時間が終了すると、MPU19は、移動コマンドを出力することで(ステップ311)、ポインタ2が移動する。このような処理により、ユーザが決定ボタン8を押し、それを離すときに筐体10が動いてセンサユニット17によりその動きが検出されても、画面3上でのポインタ2の動きが規制される。したがって、ユーザの意図しないポインタ2やアイコン4等の動作が発生することを防止することができる。典型的には、ユーザはドラッグ操作を容易に行うことができる。
タイマーが未だ終了しない場合(ステップ315のNO)、つまり両カウント値が異なる場合、MPU19はタイマーを作動し続け、次のステップ316に進む。ステップ316では、MPU19は、離された決定ボタン8が再び押されたか否か、つまり第2の操作信号の入力が再び開始されたか否かを監視する。決定ボタン8が押されていない場合、MPU19は、カウント値を1インクリメントし(ステップ317)、ステップ314に戻る。
タイマーが作動している間であっても、第2の操作信号の入力が開始された場合(ステップ316のYES)は、MPU19はステップ305へ戻りタイマーを開始する。これにより、ユーザが違和感なくポインタ2やアイコン4を制御することができる。
ここで、図17において、ステップ308で第2の操作信号の入力が解除された後、破線で示すように、制御部47はタイマーをリセットすることで再びタイマーを開始し、ステップ313以降の処理に進んでもよい。これにより、ユーザが違和感なくポインタ2やアイコン4を制御することができる。
図17に示した処理は、図15の趣旨と同様に制御装置40が実行してもよい。この場合、制御装置40は、入力装置1から送信された加速度信号及び角速度信号を受信し(受信手段)、また、操作部23を介して入力された操作信号を受信する。そして、制御装置40は、それらの検出信号に応じた、ポインタ2の変位量に対応する速度値や座標値等の対応信号を生成し、操作部23を介してユーザにより入力された操作信号に応じた制御信号を生成する。
制御装置40が生成する制御信号とは、その入力装置1の操作部23の操作信号に応じた各種所定の処理を実行するための制御信号である。操作ボタン11の決定ボタン8を例に挙げると、制御信号とは、決定ボタン8を介して操作入力された第2の操作信号に応じた決定コマンドである。
図19は、入力装置1のさらに別の実施の形態に係る動作を示すフローチャートである。図19の説明では、図16と異なる点を中心に説明する。
ユーザにより操作ボタン11の移動ボタン7が押されていない状態では(ステップ501のNO)、MPU19は、移動コマンドを出力する(ステップ502)。移動ボタン7が押され第1の操作信号が入力されると(ステップ501のYES)、MPU19は、移動コマンドの出力を停止するか、または、ポインタ2の変位量をゼロとする移動コマンドを出力する(ステップ503)。すなわち、ユーザが入力装置1を持って動かしたとしても、画面3上でポインタ2は動かない。ステップ504、505では、MPU19は、ステップ404と同様な処理を実行する。
あるいは、ステップ504が実行されると、MPU19はステップ502のように移動コマンドの出力を開始するようにした後、ステップ505のように所定の処理を実行するようにしてもよい。これにより、ドラッグ操作が可能となる。あるいは、MPU19は、ステップ504が実行された後、図17で示したステップ305以降の処理を実行してもよい。
なお、移動ボタン7が押された時点からポインタ2は動かないように制御されているため、ステップ504の後は、図17に示した306以降の処理は実行されなくてもよい。しかし、決定ボタン8による第2の操作信号が入力されてから上記第1の時間以内に、移動ボタン7による第1の操作信号の入力が解除された場合であっても、MPU19はその第1の時間以内はポインタの動きを停止させるような制御を行うようにしてもよい。
図19に示した処理は、図15の趣旨と同様に制御装置40が主に実行してもよい。
図20は、入力装置1のさらに別の実施の形態に係る動作を示すフローチャートである。図20の説明では、図17と異なる点を中心に説明する。
ユーザにより移動ボタン7が押されると(ステップ601のYES)、MPU19は、タイマーをオンとし(ステップ602)、カウンタ45によるカウントアップを開始する。そうすると、MPU19は移動コマンドの出力を停止させる(ステップ603)。あるいは、MPU19は第3の時間内でポインタ2の変位量をゼロとする移動コマンドを出力し続けるようにする。第3の時間は、上記第1の時間または第2の時間と同じであってもよいし、異なっていてもよく、適宜設定される。
制御部47は、カウント値設定部46で設定された、上記第3の時間に対応する第3のカウント値とカウンタ45から供給されるカウント値とを比較し(ステップ604)、両カウント値が一致すればタイマーを終了する。両カウント値が異なれば制御部47はタイマーを作動し続け、次のステップ605に進む。ステップ605において、押された移動ボタン7が離された場合、MPU19はステップ601に戻り、そうでない場合、ステップ606に進む。
このように、MPU19は、タイマーを作動し続けている間、つまり第3の時間内は、移動コマンドの生成または送信を停止するか、または、画面3上でのポインタ2の変位量をゼロとする移動コマンドを第3の時間内で出力し続ける。このような処理により、ユーザが移動ボタン7を介して第1の操作信号を入力したときに筐体10が動いてセンサユニット17によりその動きが検出されても、画面3上でのポインタ2の動きが規制される。したがって、ユーザの意図しないポインタ2やアイコン4等の動作が発生することを防止できる。
タイマーが終了した場合(ステップ604のYES)、MPU19は移動コマンドを生成または送信する(ステップ614)。この場合、ポインタ2は、入力装置1の動きに応じて画面3上で移動することが可能になる。
ステップ606において、ユーザにより決定ボタン8を介して第2の操作信号が入力された場合は、MPU19は、ステップ608〜620において、上記ステップ305〜317と同様の処理を実行する。ステップ606において、決定ボタン8を介して第2の操作信号が入力されない場合、ステップ602から作動を開始したタイマーのカウント値を1インクリメントし(ステップ607)、ステップ603に戻る。
本実施の形態では、ユーザにより移動ボタン7及び決定ボタン8を介して連続的に操作入力がなされる場合、ユーザは違和感なくポインタ等を操作することができる。典型的には、ユーザは、違和感なくダブルクリック操作やドラッグ操作を行うことができる。
図21は、他の実施の形態に係る入力装置の構成を示す模式図である。これ以降の説明では、図2、3等に示した実施の形態に係る入力装置1が含む部材や機能等について同様のものは説明を簡略または省略し、異なる点を中心に説明する。
この入力装置91は、一方向に長いペンタイプの装置である。入力装置91は、筐体90、センサユニット17、制御ユニット30、バッテリー14、操作部95等を備えている。センサユニット17は、例えば筐体90内の端部90aに配置されている。
操作部95は、典型的には、プッシュ部96と、ユーザの直線的なプッシュにより2段階のスイッチングが可能なダブルアクションタイプのプッシュボタン97とを有する。プッシュ部96は、ユーザが指を使って押す部分である。プッシュ部96はその一端96aが筐体90に固定され、他端96bは自由端となっており、バネ状でなる。プッシュ部96が筐体90に向けて押されることにより、プッシュ部96に設けられた突起96cがプッシュボタン97を押圧する。例えば、ユーザは筐体90を握り、筐体90の、センサユニット17が配置される側を表示装置5に向けて筐体90を動かすことができ、また、プッシュ部96を親指または人指し指等により押すことができる。
なお、プッシュ部96は、一般にペンに設けられるクリップのような機能を有する構造であってもよいが、もちろんこのような構造に限られない。
図22(A)は、プッシュボタン97の構成を示す模式図である。プッシュボタン97は、回路基板64を有する本体57、本体57に弾性材52を介して接続され、上記プッシュ部96の突起96cが当接可能なストローク部53、ストローク部53に設けられた接続線54、回路基板64に設けられた端子58A及び59A、端子58B及び59Bを備えている。弾性材52は、例えばバネが用いられるが、他の部材であってもよい。
ストローク部53の先端部は、プッシュ部96の突起96cに押されやすくなるように、そのストローク部53の先端部より面積の広い部材が取りつけられていてもよい。
図22(A)の状態から、図22(B)に示すようにストローク部53が弾性材52のバネ力に抗して所定の距離D1分押し下げられることにより、ストローク部53に設けられた接続線54により端子58A及び59Aが接続される。図22(C)に示すように、図22(B)に示す状態からバネ力に抗して、さらにストローク部53が押し下げられることにより、接続線54の端子58A及び59Aの接続状態が維持されたまま、その接続線54により端子58B及び59Bが接続される。図22(C)において、ストローク部53の初期位置から押し下げられる距離はD2とされる。
すなわち、接続線54、端子58A及び59Aにより第1のスイッチが構成され、接続線54、端子58B及び59Bにより第2のスイッチが構成される。
距離D1と、距離D2−D1とは同じでもよく、異なっていてもよい。これらの値は適宜設定可能であり、それらのストロークに要する力も適宜設定可能である。
操作部95として、このようなプッシュボタン97のほかにも、図6に示した様々な操作コマンドを発する操作ボタン等が設けられていてもよい。
このようなプッシュボタン97を有する入力装置91によっても、図12、15、16、17、19、20と同様の処理を実行することができ、同様の作用効果が得られる。
次に、入力装置の他の実施の形態について説明する。
図23、その入力装置51を示す斜視図である。図24は、その入力装置51のホイールボタン13側から見た側面図である。これ以降の説明では、図2等に示した実施の形態に係る入力装置51が含む部材や機能等について同様のものは説明を簡略または省略し、異なる点を中心に説明する。
入力装置51の筐体50は、その筐体50の表面の所定の位置に設けられた球面の一部または二次曲面の一部50aを有する。以下、球面の一部または二次曲面の一部(50a)を便宜的に「下部曲面」(50a)という。
下部曲面50aが配置される位置は、例えば、ボタン11、12とはほぼ反対側の位置であり、ユーザが入力装置51を握ったときに、子指が他の指より最もその下部曲面50aの位置に近くなるような位置である。あるいは、ある一方向(Z’軸方向とする。)の長い筐体50において、筐体50のそのZ’軸方向の長さの中心からZ’軸の正の側にセンサユニット17が配置される場合、下部曲面50aはZ’軸の負の側に配置された位置となる。
球面の一部とは、典型的には、実質的に半球面が挙げられるが必ずしも半分である必要はない。二次曲面とは、2次元で描かれる円錐曲線(二次曲線)を3次元まで拡張されたときの曲面をいう。二次曲面として、例えば楕円面、楕円放物面、または双曲面等がある。
このような入力装置51の筐体50の形状により、ユーザは、入力装置51の下部曲面50aを、テーブル、椅子、床、ユーザの膝や太もも等の当接対象物49に当てた状態で、下部曲面50aを支点として入力装置51を操作しやすくなる。つまり、入力装置51の下部曲面50aを当接対象物49に当てた状態でも、ユーザは入力装置51をあらゆる角度に傾けることを容易に行うことができるので、ポインタをアイコンに合わせる等の細かい操作を行うことができるようになる。図25は、ユーザが入力装置51の下部曲面50aを膝に当てて操作する様子を示す図である。
あるいは、本実施形態では、手ぶれ補正回路では抑制できない手の震え等による誤操作を防止したり、ユーザが入力装置51を空中で持ち上げ続けて操作する場合のユーザの疲労を予防することができる。
図26は、本発明のさらに別の実施の形態に係る入力装置を示す斜視図である。
入力装置61の筐体60は、図23、図24で示した入力装置61と同様に、球面の一部でなる下部曲面60aを有する。入力装置61の筐体60の最大長さの方向(Z’軸方向)に垂直な平面であって、下部曲面60aに接する平面(以下、便宜的に下端平面55という。)は、角速度センサユニット15の検出軸であるX軸及びY軸(図9参照)が作る平面(X−Y平面)と実質的に平行な平面となっている。
このような入力装置61の構成により、ユーザが下部曲面60aを下端平面55に当てて操作する場合に、入力装置61に加えられる角速度がそのまま角速度センサユニット15に入力される。したがって、角速度センサユニット15からの検出信号から検出値を得る過程での計算量を減らすことができる。
図27は、本発明のさらに別の実施の形態に係る入力装置を示す正面図である。図28は、その入力装置を示す側面図である。
入力装置71の筐体70の下部曲面70aは、例えば球面の一部とされている。この下部曲面70aは、図23、図26で示した入力装置51、61の下部曲面50a、60aより曲率半径が大きく設定されている。角速度センサユニット15は、その角速度センサユニット15の検出軸であるX軸及びY軸で構成されるX−Y平面に含まれる直線が、X軸方向及びY軸方向で見て、上記球面を通る仮想的に描かれた円56の接線に相当するような位置に配置されている。このような条件を満たす限り、角速度センサユニット15のX−Y平面が、入力装置71の長手方向に対して傾くように(図27参照)、角速度センサユニット15が筐体70に対して配置されてもよい。
これにより、ユーザが下部曲面70aを当接対象物49に当てて入力装置71を操作する場合に発生する角速度のベクトル方向と、角速度センサユニット15の検出方向が一致するので、リニアな入力が可能となる。
図29は、本発明のさらに別の実施の形態に係る入力装置を示す正面図である。
この入力装置81の筐体80の下部曲面80aである球面の曲率半径は、例えば図26に示したものと同じ、または近く設定されている。角速度センサユニット15は、該角速度センサユニット15の中心点である2つのX軸及びY軸の交点を通りそのX軸及びY軸に直交する仮想的な直線が、下部曲面80aを含む第1の球62の中心点Oを通る。このような構成により、下部曲面80aを含む第1の球62と、角速度センサユニット15のX−Y平面に含まれる直線が接線となる第2の球63が同心となる。したがって、入力装置81は、図27で示した入力装置71の効果と同様の効果を奏する。
なお、以上説明した球面の一部または二次曲面の一部を備える入力装置51、61、71、または81について、ユーザが必ずしも下部曲面50a、60a、70a、または80aを当接対象物49に当てて操作しなければならないわけではなく、空中で操作してももちろんかまわない。
本発明に係る実施の形態は、以上説明した実施の形態に限定されず、他の種々の実施形態が考えられる。
以上の説明では、第1のスイッチ及び第2のスイッチを実現する操作部23、95の構成として、プッシュタイプのボタン11、97を例に挙げた。しかし、これに限られず、スライドタイプ、回転タイプ、一端を支点として操作されるスティックタイプ等も考えられる。後述する各実施形態についても同様である。
上記実施の形態では、加速度センサユニット16の検出信号に基いてポインタ2の変位量が制御され、角速度センサユニット15の検出信号は補助的な役割を果たしていた。しかし、角速度センサユニット15の検出信号に基いてポインタ2の変位量が制御されるようにしてもよい。後述する各実施形態についても同様である。
この場合、例えば入力装置1(または、他の入力装置91、または、後述する入力装置200等)または制御装置40が、単位時間ごと、つまり所定クロックごとのヨー角及びピッチ角の変化量を取得することができる。例えば、制御装置40のMPU35は、取得した単位時間当りのヨー角及びピッチ角の変化量に応じた、ポインタ2の画面3上における座標値を生成する。表示制御部42は、ポインタ2が画面3上で移動するように表示を制御する。ヨー角の変化量はX軸上でのポインタ2の変位量に相当し、ピッチ角の変化量はY軸上でのポインタ2の変位量に相当する。
この場合、MPU35は単位時間当りのヨー角及びピッチ角の変位量に応じたポインタ2の画面3上での単位時間当りの変位量を、演算により、または予めROM37に記憶された対応テーブルにより求めればよい。
上記実施の形態では、2軸の加速度センサユニット、2軸の角速度センサユニットについて説明した。しかし、これに限られず、入力装置1(または他の入力装置91、または後述する入力装置200等)は、例えば直交3軸の加速度センサ及び直交3軸の角速度センサの両方を備えていてもよいし、そのうちいずれか一方のみを備えていてもよい。このような構成によっても、図12、15、16、17、19、20に示した処理を実現可能である。後述する各実施形態についても同様である。あるいは、入力装置1(または他の入力装置91、または後述する入力装置200等)は、1軸の加速度センサ、または、1軸の角速度センサを備えている形態も考えられる。1軸の加速度センサまたは1軸の角速度センサが備えられる場合、典型的には、画面3で表示されるポインタ2のポインティングの対象となるUIが1軸上に複数配列されるような画面が考えられる。
あるいは、入力装置1(または他の入力装置91、または後述する入力装置200等)は、加速度センサ、角速度センサの代わりとして、地磁気センサ、またはイメージセンサ等を備えていてもよい。
上記実施の形態では、移動ボタン7による第1の操作信号が入力された状態で、決定ボタン8による第2の操作信号のON/OFFの切り替えが行われる例を説明した。これに限らず、移動ボタン7による第1の操作信号の入力が解除された状態で、決定ボタン8による第2の操作信号が入力されてもよい。すなわち、決定ボタン8がONされるときには、第1の操作信号の入力が解除されており、ポインタ2の移動が規制される。これにより、ドラッグ操作はできないが、対象となるアイコン4上で確実にユーザの決定コマンドに応じた操作が可能となり、誤操作を防止することができ、フットワークが軽くなる。
このような形態を実現するためには、例えば図30の模式図で説明すると、接続線54(図22参照)より例えば縦幅の小さい接続線154がストローク部53に設けられていればよい。この場合、ストローク部53が押されることにより、その接続線154により端子58A及び59Aが接続され(図30(B)参照)、その後さらにストローク部53が押された場合に、端子58A及び59Aの接続が解除される。端子58A及び59Aの接続が解除されると、接続線154により端子58B及び59Bが接続される(図30(C)参照)。あるいは、図7(A)〜(C)に示した2つのプッシュボタンが設けられた例においては、図7(B)から図7(C)へ状態が移行する際、移動ボタン7が押されるときに、その第1の操作信号の入力が解除されるような、移動ボタン7の内部スイッチが構成されていてもよい。
次に入力装置のさらに別の実施の形態について説明する。
以降の説明では、上述の各実施形態と同様の機能を有する部分は、同一符号を付し、説明を簡略化し、または省略する。本実施形態では、ユーザによる操作に応じて受光信号の出力を切り替える第1のスイッチが、センサとなっている点で上述の各実施形態とは異なる。以降の説明では、この点を中心に説明する。なお、本実施形態に係る入力装置が有するセンサは、ユーザによる操作部の操作に応じて信号の出力を切り替える部材であり、広義のスイッチに含まれる。
図31は、本実施形態に係る入力装置を示す斜視図である。図31に示すように、入力装置200は、上部筐体210a及び下部筐体210bを有する筐体210と、この筐体210の上面210cに配置された各種のボタン211〜214を搭載した操作部223とを備えている。筐体210は、一方向に長いペンタイプの形状を有しており、ユーザの握った手に収まる程度の大きさとされる。操作部223は、筐体210の上面210cの端部に配置された決定ボタン211、上面210cの中央近傍に配置された中央ボタン212、決定ボタン211及び中央ボタン212に挟み込まれるように配置されたボタン213、214を含む。これらの各ボタン211、212、213、214は、プッシュタイプのボタンである。
決定ボタン211は、典型的には、マウスの右ボタンに相当する機能を有し、中央ボタン212は、マウスの左ボタンに相当する機能を有する。例えば、決定ボタン211がクリックされることでアイコン4(図5参照)を選択する操作、決定ボタン211がダブルクリックされることでファイルを開く操作などが画面3上で実行される。決定ボタン211が操作された場合の詳細については、後述する。
ボタン213は、例えば、画面3上に表示された画像を次の画像に進める、送りボタンとしての機能を有し、ボタン214は、画面3上に表示された画像を前の画像に戻す、戻りボタンとしての機能を有する。ボタン213及びボタン214の機能は、逆であっても構わない。
これらの各ボタン211〜214の他に、例えば、テレビのリモートコントローラに設けられるような各種のボタン29や、電源ボタン28などの操作部223が設けられていてもよい(図6参照)。あるいは、ボタン212、213、214がこれらの機能を有していてもよい。
図32は、操作部223を示す図であり、図33は、操作部223を下方側から見た図である。また、図34は、入力装置200の上部筐体210a内に配置される操作部223を下方側から見た図である。
これらの図に示すように、操作部223は、上記各ボタン211〜214と、この各ボタンの押圧方向にそれぞれ配置された複数のスイッチ215a〜215dとを有している。決定ボタン211と、中央ボタン212は、板バネ241を介して接続されている。決定ボタン211、中央ボタン、及び板バネ241により1つの操作部材240が形成される。板バネ241は、例えばフレーム状でなる。
板バネ241は、基部241cと、第1の板バネ部241aと、第2の板バネ部241bとを有する。第1の板バネ部241aは、基部241cから所定の方向に延び、基部241cの反対側の端部に決定ボタン211が接続されている。第2の板バネ部241bは、基部241cから上記所定の方向とは反対方向に延び、基部241cとは反対側の端部に中央ボタン212が接続されている。例えば、第2の板バネ部241bは、基部241cとは反対側の端部から上記所定の方向に延び、その端部と中央ボタン212とを弾性的に接続する接続部241dとを有する。
第1の板バネ部241aは、例えば2本のフレーム244を有し、それら2本のフレーム244の間にボタン213、214が配置されている。第2の板バネ部241bは、端部で接続部241dと接続される、例えば2本のフレーム247を有し、それら2本のフレーム247の間に中央ボタン212が配置されている。
基部241cには、例えば穴242a、242bが設けられている。これらの穴242a、242bに、ネジ、ピン、その他の接続部材がはめ込まれることで、操作部材240は、上部筐体210aに支持される。
図32では、中央ボタン212は、接続部241dを介して第2の板バネ部241bに接続されている例を示した。これに限られず、中央ボタン212が基部241cから延びる上記所定の方向とは反対方向に延びるフレーム247に直接接続されていてもよい。この場合、中央ボタン212が押されるときの弾性力の調整のため、フレームの長さは適宜設定されればよい。第1の板バネ部241aは、第2の板バネ部241bと同様に、その第1の板バネ部241aの端部側から基部241c側へ延びる接続部を有し、その接続部に決定ボタン211が接続されていてもよい。
図33に示すように、決定ボタン及び中央ボタンは、それぞれ下部に突起243a、243bを有している。また、決定ボタン211の下部には、フレキシブル基板245が接続されている。このフレキシブル基板245は、後述する光センサ252と主基板246を電気的に接続する基板である。
図35は、下部筐体210b及び主基板246を示す図であり、上方側から見た図である。
図35に示すように、入力装置200は、筐体210内に主基板246を有している。主基板246上には、操作部223の一部を構成する各スイッチ215a〜215dが配置され、各スイッチは、主基板246と電気的に接続されている。また、主基板246上には、MPU19、水晶発振器20、送信機21、アンテナ22などが搭載される(図3参照)。
図36は、入力装置200の内部構造を示す模式図である。
図36に示すように、入力装置200は、筐体210、操作部223、主基板246の他、乾電池や充電式電池などのバッテリー14、センサユニット17(動きセンサ)を有している。センサユニットの回路基板25は、フレキシブルな導線248により主基板246と接続されている。この導線248は、例えば、FFC(Flexible Flat Cable)で形成される。
角速度センサユニット15は、回路基板25の前面に搭載され、加速度センサユニット16は、回路基板25の背面に搭載される。角速度センサユニット15及び加速度センサユニット16の配置は、逆であってもよい。このように、本実施形態では、回路基板25の両面にそれぞれ角速度センサユニット15、加速度センサユニット16が分離して搭載される。これにより、角速度センサユニット15及び加速度センサユニット16の両方が、回路基板25の片面に設けられる場合に比べ、回路基板25のサイズを小さくすることができる。その結果、回路基板25の剛性を高めることができる。
図37は、決定ボタン211の断面図である。図37に示すように、決定ボタン211は、中空部251を有する筒体250を備えている。筒体250の中空部251には、光センサ(センサ)252が配置され、光センサ252の上方に光センサ252から発光された光を集光するレンズ部材255が配置される。筒体250の下部には、突起243aが設けられている。決定ボタン211の押圧方向には、主基板246上に設けられたスイッチ215aが配置される。
筒体250内部の底面250cには、フレキシブル基板245が設けられる。このフレキシブル基板245は、例えばFPC(Flexible Printed Circuit)により構成される。筒体250の側面250bには、中空部251と連通するように開口254が設けられ、この開口254を介してフレキシブル基板245が引き出され、主基板246と電気的に接続される(図36参照)。このフレキシブル基板245上には、光センサ252が配置され、光センサ252は、フレキシブル基板245と電気的に接続される。なお、レンズ部材255は、図31、図32では図示を省略している。
光センサ252は、反射型の光センサであり、発光素子252aと、受光素子252bを含む。発光素子252aは、典型的には、LED(Light Emitting Diode)が用いられるが、LD(Laser Diode)であってもよく、その他、発光する素子であれば何が用いられても構わない。受光素子252bとしては、典型的には、フォトトランジスタが用いられるが、フォトIC(Integrated Circuit)が用いられてもよく、その他、発光素子252aからの光を検出することができる素子であれば何が用いられてもよい。光の波長は、典型的には、赤外線の範囲の波長が用いられるが、可視光線であってもよく、その他の波長であってもよい。発光素子252aは、常時発光していてもよいし、周期的に発光していてもよい。
レンズ部材255は、凸レンズ形状を有しており、レンズ部材255の下面255bは、半球面状に形成されている(以下、下面255bを下部曲面255bと呼ぶ場合がある)。一方で、レンズ部材255の上面255aは、下部曲面255bよりも曲率半径が大きい曲面とされている。このレンズ部材255の上面255aは、筒体250の上面250aとともに決定ボタン211の表面を形成する。このようにレンズ部材255が形成されることで、発光素子252aが照射した光を集光させることができ、この集光した光をレンズ部材255上で平行にすることができる。その結果、光センサ252がユーザの身体(例えば指)を検出することができる領域(検出領域)を、レンズ部材255上に略垂直に形成することができる。レンズ部材255は、例えば、光透過性の樹脂により形成される。光透過性樹脂として、例えば、ポリカーボネートや、アクリル系樹脂が用いられる。
図37では、下部曲面255bが上面255aの曲率半径よりも小さい場合について説明したが、上面の曲率半径が下面の曲率半径よりも小さく形成されていてもよい。レンズ部材255の上面255aは、曲面に限られず、平面であっても構わない。あるいは、レンズ部材255は、凸レンズ形状に限られず、プリズム形状であってもよい。
本実施形態では、光センサ252及びレンズ部材255により、レンズ部材255上(決定ボタン211上)に光センサ252がユーザの身体を検出することができる検出領域が形成され、ユーザがこの検出領域に指を進入させた場合に、指の存在の有無を検出すことができる。なお、検出領域の長さLは、光センサの発光素子252aの出力を制御することで調整することができる。
発光素子252aと、受光素子252bとの間には、光を遮蔽可能な遮光板256が設けられる。この遮光板256は、一方の端部が光センサ本体(あるいは、フレキシブル基板245)と接合され、他方の端部がレンズ部材255の下面255bと接合される。この遮光板256により、発光素子252aから照射された光を、受光素子252bが直接的に受光してしまうことを防止することができる。さらに、発光素子252aから照射され、レンズ部材255の下面255bで反射された光を、受光素子252bが受光してしまうことを防止することができる。
レンズ部材255の上面255aに反射防止膜が形成されてもよい。これにより、発光素子252aから照射され、レンズ部材255の上面255aで反射された光を、受光素子252bが受光してしまうことを防止することができる。あるいは、レンズ部材255の上面255aだけでなく、レンズ部材255の下面255bに反射防止膜が形成されてもよい。反射防止膜の膜厚は、発光素子252aが照射する光の波長を考慮して適宜設定される。
ここで、光センサ252は、上述のように、筒体250内部に固定されているため、光センサ252と、レンズ部材255との位置関係は、変動しない。したがって、例えば、レンズ部材255の上面255aで反射された光のレベルを安定させることができる。これにより、ユーザの指が検出領域に存在しないにも関わらず、受光素子252bが光を検出してしまうことを防止することができる。さらに、レンズ部材255の上方に安定して検出領域を形成することができる。
次に、図32、図37などを参照して、決定ボタン211及び中央ボタン212がユーザに押圧操作された場合の操作部材240の動作を説明する。
ユーザにより決定ボタン211が押圧されると、決定ボタン211及び第1の板バネ部241aは、A1、A2を支点として回動する。そして、決定ボタン211の下部に設けられた突起243aがスイッチ215aと接触し、スイッチ215aが電気的にオンの状態となる。ユーザが押圧した指を解除すると、決定ボタン211及び第1の板バネ部241aは、弾性力により再びA1、A2を支点として回動して元の位置へ戻り、スイッチ215aが電気的にオフの状態となる。
ユーザにより中央ボタン212が押圧された場合、中央ボタン、接続部241d、及び第2の板バネ部241bは、A1、A2及びB(接続部41dと第2の板バネ部241bが繋がる部分)を支点として回動する。そして、中央ボタン212の下部に設けられた突起243bがスイッチ215bと接触し、スイッチ215bが電気的にオンの状態となる。ユーザが押圧した指を解除すると、中央ボタン212、接続部241d及び第2の板バネ部241bは、弾性力により、再びA1、A2、及びBを支点として回動して元の位置へ戻り、スイッチ215bが電気的にオフの状態となる。
次に、決定ボタン211が操作された場合の、入力装置200の内部的な動作について説明する。図38は、入力装置200の動作を示すフローチャートである。
ユーザが検出領域に指を進入させていない状態では、受光素子252bは、発光素子252aにより照射された光を検出しない。したがって、MPU19には、光センサ252からの受光信号が入力されない(ステップ701のNO)。この場合、MPU19は、移動コマンド(速度値の情報を含む信号)の出力を停止しているか、ポインタ2の変位量をゼロとした移動コマンドを出力する((Vx、Vy)=(0、0))(ステップ702)。
つまり、ユーザが検出領域に指を進入させていない状態では、ユーザが入力装置200を持って動かしてとしてもポインタ2は、動かない。これにより、ユーザは、ポインタ2の移動を停止させておきたい場合には、検出領域に指を進入させないようにすることで、ポインタを停止させておくことができる。
ユーザが決定ボタン211上の検出領域に指を進入させると、あるいは、レンズ部材255の上面255aに指を触れると、発光素子252aから照射された光がユーザの指により反射され、受光素子252bより検出される。この場合、受光素子252bは、受光信号を出力する。MPU19は、受光信号が入力されたと判断すると(判定手段)(ステップ701のYES)、移動コマンドの出力を開始する(ステップ703)。すなわち、MPU19は、検出領域内にユーザの身体が存在することが検出された場合、ポインタ2の移動を開始するように移動コマンドの出力を制御する(出力制御手段)。
移動コマンドの出力が開始されると、ポインタ2の移動が開始され、ユーザによる入力装置200の空間操作に応じてポインタ2が移動する(図8参照)。これにより、ユーザは、ポインタ2の移動を開始させたい場合には、検出領域内に指を進入させることでポインタ2の移動を開始することができる。
ここで、速度値は、典型的には、上述の図15に示す方法により算出される。これにより、ポインタ2の画面3上での動きをユーザの直感に合致した自然な動きとすることができる。しかしながら、必ずしも図15に示す方法で速度値が算出されなくてもよく、例えば加速度値が単純に積分されて速度値が算出されてもよい。あるいは、他の方法で算出された速度値が用いられても構わない。
ユーザが検出領域に進入した指を、検出領域から外すと、受光素子252bが発光素子252aの照射した光を検出することができなくなるため、光センサ252からの受光信号の出力が停止される。MPU19は、受光信号の入力が解除されたと判断すると(ステップ704のYES)、移動コマンドの出力を停止するか、あるいは、移動コマンドをゼロとした出力を開始する(ステップ705)。これにより、ユーザは、再びポインタ2の移動を停止させたい場合には、検出領域から指をはずすことでポインタを停止させておくことができる。
一方で、ユーザが検出領域にある指で、決定ボタン211を押圧すると、スイッチ215aがオンの状態となり、スイッチ215aから操作信号の出力が開始される。この場合、ユーザの指が検出領域に検出されている状態で、スイッチ215aからの操作信号の入力が開始される。MPU19は、受光信号が入力されている状態で(ステップ704のNO)、操作信号の入力が開始されたと判断すると(ステップ706のYES)、決定コマンドを出力する(出力制御手段)(ステップ707)。あるいは、MPU19は、ユーザが決定ボタン211を押圧した指を離し、スイッチ215aからの操作信号の入力が解除された場合に決定コマンドを出力してもよい。
制御装置40のMPU35は、入力装置200から出力された決定コマンドを入力すると、所定の処理を実行する。例えば、決定コマンドが入力されたときのポインタ2の位置がアイコン4上であれば、制御装置40のMPU35は、そのアイコン4を選択する処理を実行したり、そのアイコン4に対応するアプリケーションプログラムを起動したりする。
図38に示す処理により、例えば、ユーザは、検出領域内に指を進入させた状態で画面3上のポインタ2を移動させてアイコン上に位置させ、検出領域内にある指で決定ボタン211を押圧することで画面3上のアイコンを選択するなどの操作をすることができる。すなわち、本実施形態に入力装置200によれば、ユーザは、検出領域内に指を進入させ、検出領域内にある指を押圧する、という一連の簡単な指の動作により、画面3上のGUIを直感的に操作することが可能となる。さらに、ユーザは、検出領域に指を進入させた状態で、あるいは、決定ボタン211の表面に指を触れた状態でポインタ2を移動させることができるため、ユーザは、ストレスなく決定ボタン211を操作することができる。
本実施形態では、ユーザが検出領域に指を進入させている場合に移動コマンドを出力する場合について説明したが、図19に示すフローチャートと同様に、ユーザが検出領域に指を進入させている場合に移動コマンドの出力を停止してもよい。この場合、ユーザは、決定ボタン211上の検出領域に指を進入させることでポインタを停止さておくことができ、検出領域から指をはずすことでポインタの移動を開始することができる。
図38に示した処理は、図15の趣旨と同様に、主に制御装置40が実行してもよい。この場合、制御装置40は、入力装置200から送信された加速度値及び角速度値の情報を受信する(受信手段)。また、制御装置40は、光センサ252からの受光信号の情報(存在情報)を受信する。制御装置40のMPU35は、加速度値及び角速度値を受信すると、この加速度値及び角速度値に基づいて速度値を算出し、制御信号として出力する。表示制御部42は、この速度値に応じた所定の速度でポインタ2が画面3上で動くように表示を制御する(表示制御手段)。MPU35は、受光信号の情報に応じて、制御信号を出力するか否かを制御する。
次に入力装置200の他の実施形態について説明する。なお、これ以降の説明では、特に、光センサ252の発光素子252aが所定の周期Tで発光する場合の実施形態について説明する。
入力装置200は、ワイヤレス通信を用いており、さらに複数のセンサを含むことから消費電力が大きいという問題がある。そこで、本実施形態では、光センサ252の省電力化を実現するために所定の周期で発光素子252aを発光させ、ユーザの身体が検出領域に存在するか否かを検出する。
図39(A)は、本実施形態に係る光センサ252の回路図である。図39(B)は、検出領域にユーザの指が存在する場合に、発光素子252aにより照射された光が受光素子252bに入力される様子を示した図である。
これらの図に示すように、光センサ252は、発光素子252aとして、フォトダイオードを有しており、受光素子252bとしてフォトトランジスタを有している。発光素子252aのアノード側には、例えば330Ωの抵抗が接続され、受光素子252bのエミッタ側には、例えば100kΩの抵抗が接続される。また、発光素子252aのカソード側、及び受光素子252bのエミッタ側は、それぞれアースされている。発光素子252aには、所定の周期Tでパルス状の電圧が供給され、受光素子252bには、電源から継続的に電圧が供給される。この電圧の供給は、典型的には、MPU19により制御されるが、その他の方法により制御されてもよい(電圧制御手段)。このように、発光素子252aに上記周期Tでパルス電圧が供給され、受光素子252bに継続的に電圧が供給される理由についての詳細は、後述する。
図40は、発光素子252aに供給される電圧と、受光素子252bから出力される電圧との関係を示す図である。図40(A)は、発光素子252aに供給される電圧を示す図であり、図40(B)は、光センサ252から出力される電圧を示す図である。
図40(A)に示すように、発光素子252aには、所定の周期Tでパルス電圧が供給され、発光素子252aは、所定の周期Tで断続的に発光する。周期Tは、典型的には、10ms〜20msとされるが、これに限られず、10ms以下であってもよいし、20ms以上であってもよい。パルス幅τは、典型的には、0.5ms〜1.5msとされるが、0.5ms以下であってもよいし、1.5ms以上であってもよい。
図40(B)に示すように、決定ボタン211上の検出領域にユーザの指が存在しない場合(図40(B)左参照)、受光素子252bが光を検出しないため、光センサ252からの出力電圧はゼロとなる。一方で、決定ボタン211上にユーザの指が存在する場合、受光素子252bは、検出領域でユーザの指により反射された光を検出し、パルス状の電圧を出力する(図40(B)右参照)。この光センサ252から出力される電圧の周期Tは、発光素子252aが発光する周期Tと同調するため、発光素子252aに供給される電圧の周期Tと略一致する。同様に、出力電圧のパルス幅τも、発光素子252aに供給されるパルス幅τと略一致する。MPU19は、光センサ252からのパルス状の出力電圧が閾値を超える場合、受光信号が入力されていると判断する。MPU19は、この受光信号の入力がされているか否かの判定により、上述の図38に示す処理を実行すればよい。
次に、発光素子252aには所定の周期でパルス状の電圧が供給され、受光素子252bには継続的に電圧が供給される理由について説明する。
図41は、一般的なフォトリフレクタの回路図である。図42は、このフォトリフレクタにパルス状の電圧を供給した場合の出力電圧を示す図である。
図41に示すように、フォトリフレクタ270の発光素子270aと、受光素子270bとは、並列に接続されている。このように発光素子270aと、受光素子270bとが並列接続されている状態で、発光素子270a及び受光素子270bにそれぞれパルス状の電圧が供給される。すると、受光素子270bが光を検出していないにも関わらず、受光素子270bから受光信号が出力されてしまう(図42(B)左参照)。つまり、発光素子270a及び受光素子270bの両方の素子にパルス電圧が供給されると、受光素子270bが光を検出していないにも関わらず、光を検出したかのように受光素子270bから信号が出力されてしまう。仮に、このフォトリフレクタ270を入力装置200の光センサとして用いて、フォトリフレクタ270にパルス電圧を供給すると、検出領域に指が存在しないにも関わらず、フォトリフレクタ270から受光信号が出力されてしまう。その結果、MPU19が受光信号の入力を誤判断してしまう恐れがある。
このように、受光素子270bが光を検出していないにもかかわらず、受光素子270bが受光信号を出力してしまうのは、受光素子270bにパルス電圧が供給されると、受光素子270bに浮遊容量が発生するためであると考えられる。
そこで、本実施形態では、発光素子252aには、省電力化のために所定の周期でパルス電圧が供給され、一方で、受光素子252bには、光の誤検出防止のため継続的に電圧が供給される。これにより、適切に省電力化が実現され、さらに、光の誤検出を防止することができる。
なお、継続的に受光素子252bに電圧が供給されたとしても、受光素子252bに流れる電流は、発光素子252aに流れる電流の1/1000程度であるため、省電力の観点からは、問題ないといえる。
次に、光センサ252が所定の周期で発光する場合の、入力装置200の動作についての一実施形態について説明する。
図43は、本実施形態に係る入力装置200の動作を示すフローチャートである。
まず、MPU19は、パルス電圧を発光素子252aに供給し(図40(A)参照)、発光素子252aを発光させる(ステップ801)。発光素子252aが発光する周期Tは、上述のように、10ms〜20msとされる。以降の説明では、発光素子252aが発光する周期を発光周期Tとして説明する。
次に、MPU19は、光センサ252からの受光信号が入力されているか否かを判定する(ステップ802)。ここで、MPU19が受光信号の入力がされているか否かを判定する周期は、典型的には、発光素子252aが発光する周期Tと同期する(図40(A)参照)。例えば、発光素子252aが発光する発光周期Tが16msである場合、MPU19の判定の周期も16msとされる。
検出領域内にユーザの指が存在し、光センサ252からの受光信号が入力されていると判定した場合(ステップ802のYES)、MPU19は、角速度センサユニット15からの角速度値(ωy、ωx)及び加速度センサからの加速度値(ax、ay)を取得する(ステップ803)。MPU19は、加速度値及び加速度値を取得すると、速度値(Vx、Vy)を算出し(ステップ804)、この速度値を移動コマンドとして出力する(ステップ805)。そして、ステップ801に戻り、再び光センサ252を発光させる。
すなわち、検出領域内にユーザの指が存在し続ける場合、MPU19は、センサユニット17からの加速度値及び角速度値の取得(ステップ803)→速度値の算出(ステップ804)→速度値の出力(ステップ805)の処理を繰り返す。以降の説明では、この角速度値及び加速度値の取得→速度値の算出→速度値の出力、のサイクル時間をコマンド出力周期T’として説明する。このコマンド出力周期T’は、発光周期Tと一致するように設定される。例えば、光センサ252(発光素子252a)が発光する周期Tが16msである場合、コマンド出力周期T’も16msとされる。
一方で、検出領域内にユーザの指が存在せず、光センサ252からの受光信号の入力がされていないと判定した場合(ステップ801のNO)、MPU19は、前回光センサ252を発光させてから発光周期T経過後に、再び光センサ252を発光させる。また、MPU19は、光センサ252からの受光信号の入力がされていないと判定した場合(ステップ802のNO)、速度値を算出せず、移動コマンドを出力しない。つまり、MPU19は、検出領域にユーザの指が存在しない場合には、移動コマンドを出力する必要がないため、速度値を算出、出力しない。これにより、さらに省電力化が実現される。
次に、光センサ252が所定の周期で発光する場合の、入力装置200の動作についての他の実施形態について説明する。
図44は、本実施形態に係る入力装置の動作を示すフローチャートである。図45は、図44に示す動作を説明するためのタイミングチャートである。
図44の説明では、図43に示す動作と異なる点を中心に説明する。本実施形態では、光センサ252が発光する発光周期Tと、コマンド出力周期T’(MPU19がセンサユニット17からの角速度値(ωy、ωx)及び加速度値(ax、ay)を取得してから速度値を出力するまでのサイクル時間)とが異なっている(図45参照)。したがって、この発光周期Tとコマンド出力周期T’が異なるように設定されている点を中心に説明する。
MPU19は、発光周期Tで光センサ252を発光させている(ステップ901)(図45(A)参照)。また、MPU19は、この発光周期Tで光センサ252からの受光信号が入力されているか否かを判定している(ステップ902)(図45(B)参照)。発光周期Tは、典型的には、コマンド出力周期T’の5倍〜15倍程度とされる(図45(C)参照)。しかし、発光周期Tは、コマンド出力周期T’の整数倍であれば、5倍以下であってもよいし、15倍以上であってもよい。例えば、コマンド出力周期T’が16msである場合、発光周期Tは、80ms〜240msとされる。なお、図45に示す例では、発光周期Tは、コマンド出力周期T’の7倍とされている。
検出領域にユーザの指が存在せず、光センサ252からの受光信号の入力がされていないと判定した場合(ステップ902のNO)、MPU19は、前回の光センサ252の発光から発光周期T後に、再び光センサ252を発光させる(ステップ901)(図45(A)参照)。そして、MPU19は、再び受光信号が入力されたか否かを判定する(ステップ902)(図45(B)参照)。MPU19は、受光信号の入力がされていないと判定した場合、速度値を算出せず、移動コマンドを出力しない。
検出領域にユーザの指が存在し、MPU19が光センサ252からの受光信号の入力がされていると判定した場合(ステップ902のYES)、MPU19は、角速度センサユニット15からの角速度値(ωy、ωx)及び加速度センサユニット16からの加速度値(ax、ay)を取得する(ステップ903)。MPU19は、加速度値及び加速度値を取得すると、速度値(Vx、Vy)を算出し(ステップ904)、この速度値を移動コマンドとして出力する(ステップ905)。
MPU19は、移動コマンドを出力すると(ステップ905)、前回の光センサ252の発光から発光周期Tが経過したか否かを判定する(ステップ906)。前回の光センサの発光から発光周期Tが経過したか否かの判定は、例えば、図18に示すような構成により実現できる。例えば、図18に示すカウント値設定部46に、所定カウント値が記憶される。MPU19(制御部47)は、カウンタ45から供給されるカウント値と、カウント値設定部46に記憶された所定のカウント値を比較することで、発光周期Tが経過したか否かを判定すればよい。
前回の光センサ252の発光から発光周期Tが経過していない場合(ステップ906のNO)、MPU19は、再びステップ903→ステップ904→ステップ905に示す処理を実行し、移動コマンドを出力する。そして、再び、前回の光センサ252の発光から発光周期Tが経過したか否かを判定する(ステップ906)。例えば、発光周期Tがコマンド出力周期T’の7倍である場合、センサユニット17からの加速度値及び角速度値の取得→速度値の算出→速度値の出力、の処理を7サイクル繰り返す。
前回の発光から発光周期Tが経過した場合(ステップ906のYES)、ステップ901に戻り、MPU19は、光センサ252を発光させる。
図44に示す処理により、発光周期Tをコマンド出力周期T’よりも長くすることができるため、光センサ252の消費電力をさらに低減することができる。
次に、光センサ252が所定の周期で発光する場合の、入力装置200の動作についての他の実施形態について説明する。
図46は、本実施形態に係る入力装置200の動作を示すフローチャートである。
図46の説明では、図43に示す処理と異なる点を中心に説明する。本実施形態では、光センサの消費電力の低減だけでなく、センサユニット17の消費電力の低減を図る点で図41に示す処理と異なるため、この点を中心に説明する。
図46の説明では、光センサ252及びセンサユニット17に電力の供給が規制されているモードを省電力モードとし、それ以外のモードを通常モードとして説明する。
まず、MPU19は、光センサ252を発光させる(ステップ1001)。検出領域にユーザの指が存在し、受光信号の入力がされていると判定した場合(1002のYES)、MPU19は、図18に示すカウンタ45のカウント値をゼロする(ステップ1003)。次に、MPU19は、センサユニット17からの角速度値及び加速度値を取得し(ステップ1004)、速度値を算出して(ステップ1005)、この速度値を移動コマンドとして出力する(ステップ1006)。
ユーザが検出領域にある指を検出領域からはずすと、MPU19は、光センサ252からの受光信号の入力がされていないと判定し(ステップ1002のNO)、カウンタ45によるカウントアップを開始し、カウンタ45のカウント値を1増加させる(ステップ1007)。次に、MPU19は、カウンタ45からのカウント値と、所定カウント値とを比較する(ステップ1008)。この所定カウント値は、あらかじめカウント値設定部46に記憶されていればよい(図18参照)。カウント値と、所定カウント値が一致しない場合(ステップ1008のNO)、ステップ1001に戻る。
つまり、検出領域にユーザの指が存在せず、受光信号が入力されていない場合、MPU19は、カウント値と、所定カウント値とが一致するまで、ステップ1001→ステップ1002のNO→ステップ1007→ステップ1008のNO→ステップ1001の処理を繰り返す。この所定カウント値は、受光信号の入力が解除されてから、後述する省電力モードへの移行までの時間に対応するカウント値である。この所定カウント値は、受光信号の入力の解除から省電力モードへ移行する時間を考慮して、適宜設定される。
なお、カウント値と所定カウント値とが一致する前に、ユーザが検出領域に指を進入させ、MPU19が受光信号の入力を判定した場合(ステップ1002のYES)、カウント値はゼロとされ、カウンタ45によるカウントアップはリセットされる(ステップ1003)。
カウント値と、所定カウント値とが一致した場合(ステップ1008のYES)、MPU19は、光センサ252及び角速度センサユニット15への電力の供給を規制する(ステップ1009)(規制手段)。この電力の供給の規制により、光センサ252及び角速度センサユニット15は、電気的にONの状態からOFFの状態となり、入力装置200は、通常モードから省電力モードへ移行する。このように、消費電力の大きいアクティブなセンサである光センサ252と、角速度センサユニット15をOFFの状態とすることで、消費電力をより低減することができる。
省電力モードへ移行すると、MPU19は、MPU19自身及び加速度センサユニット16への電力の供給も規制し、MPU19及び加速度センサユニット16に、待機電流が供給されるように電力を制御する。このように、加速度センサユニット16を電気的にOFFの状態とせず、待機電流が流れている状態とするのは、加速度センサユニット16を省電力モードから通常モードへ戻すためのトリガーを検出する手段ととして使用するためである。なお、加速度センサユニット16は、パッシブなセンサであり、アクティブなセンサである光センサ252、及び角速度センサユニット15よりも消費電力は少ない。
MPU19は、加速度センサユニット16からの加速度値を検出すると(ステップ1010)、加速度値(ax、ay)が所定値以上であるか否かを判定する(ステップ1011)。この判定に用いられる加速度値は、2軸の加速度値(ax、ay)の絶対値|a|が用いられてもよく、2軸の加速度値のうち、いずれか一方が代表値として用いられてもよい。加速度値が所定値以下である場合(ステップ1011のNO)、入力装置200は、動いていない状態であると判断され、省電力モードは維持される。
一方で、加速度値が所定値を超える場合(ステップ1011のYES)、入力装置200は、動いている状態であると判断され、MPU19は、光センサ252及び角速度センサユニット15への電力の供給の規制を解除する(ステップ1012)。電力の規制が解除されると、光センサ252及び加速度センサユニット16が電気的にOFFの状態からONの状態となり、入力装置200は、省電力モードから通常モードへ復帰する。通常モードへ復帰すると、MPU19は、MPU19自身及び加速度センサユニット16への電力の供給の規制も解除し、MPU19自身及び加速度センサユニット16に、通常モード時の電流が供給されるように電力を制御する。
以上のような処理により、入力装置200で消費される電力をより効果的に低減しつつ、例えばユーザにより入力装置200が動かされたときには、即座に通常モードに移行することができる。
本実施形態では、受光信号の入力が解除されてから所定時間経過後に、通常モードから省電力モードへ移行する場合について説明した。しかし、入力装置200の電源が投入されてから、受光信号が入力されずに所定時間が経過した場合に通常モードから省電力モードへ移行されてもよい。
また、図44に示した処理と同様に、光センサ252が発光する発光周期T及びMPU19が受光信号の入力を判定する周期Tが、移動コマンドを出力する周期であるコマンド出力周期T’よりも長くてもよい。これにより、さらに消費電力を低減することができる。
次に、光センサ252が所定の周期で発光する場合の、入力装置200の動作についての他の実施形態について説明する。
本実施形態では、上述の発光周期Tが可変である点において、上述の各実施形態と異なるため、その点を中心に説明する。
図47は、本実施形態に係る入力装置200の動作を示すフローチャートである。図48は、光センサ252からの受光信号の入力が解除されてからの時間tと、光センサ252の発光周期T(光センサ252が検出領域内にユーザの身体が存在するか否かを検出する周期)との関係を示した図である。また、図49は、受光信号の入力が解除されてから所定時間が経過した場合の、光センサ252の発光周期Tを示す図である。
図47の説明では、図43に示す動作と異なる点を中心に説明する。また、光センサ252の発光周期Tが、コマンド出力周期T’と同期している場合の光センサの発光周期Tを基準周期T0として説明する。
ユーザの指が検出領域に存在し、光センサ252(受光素子252b)からの受光信号が入力されている場合、MPU19は、基準周期T0で光センサ252(発光素子252a)を発光させている(ステップ1101)(図49(A)参照)。
ユーザが検出領域にある指を検出領域からはずし、受光信号の入力が解除されたと判定された場合(ステップ1102のNO)、MPU19は、カウントアップを開始し、カウンタ45のカウント値を1増加させる(ステップ1109)。
次に、MPU19は、第1のプリセットカウント値と、カウント値とを比較する(ステップ1110)。この第1のプリセットカウント値、及び後述する第2のプリセットカウント値は、あらかじめカウント値設定部46に記憶させておけばよい。第1のプリセットカウント値は、受光信号の入力が解除されてから、基準周期T0を変動させるまでの時間である第1のプリセット時間t1に対応するカウント値である(図48参照)。第1のプリセット時間は、典型的には、10s〜20sとされる。しかし、これに限られず、10s以下であってもよいし、20s以上であってもよい。
MPU19は、カウント値が第1のプリセットカウント値よりも小さい場合(ステップ1110のNO)、ステップ1101に戻る。検出領域にユーザの指が存在しない場合、MPU19は、光センサ252を発光(ステップ1101)→光センサ252からの受光信号の入力の判定(ステップ1102のNO)→カウント値増加(ステップ1109)→カウント値と、第1のプリセットカウント値との比較(ステップ1110)、の処理を繰り返す。この処理は、カウント値と第1のプリセットカウント値が一致するまで、つまり、受光信号の入力の解除から第1のプリセット時間t1が経過するまで繰り返される。なお、第1のプリセット時間t1経過前に再びユーザが検出領域に指を進入させ、光センサ252からの受光信号の入力が開始された場合には(ステップ1102のYES)、カウント値は、リセットされる(ステップ1103)。
カウント値が第1のプリセットカウント値以上である場合(ステップ1110のYES)、つまり、受光信号の入力が解除されてから第1のプリセット時間が経過した場合、そのときの光センサ252の発光周期Tが基準周期T0であるか否かを判定する(ステップ1111)。発光周期Tが基準周期T0である場合(ステップ1111のYES)、MPU19は、発光周期Tを基準周期T0から、第1の周期T1へと変更する(ステップ1112)(周期制御手段)。
この場合、MPU19は、第1の周期T1のパルス状の電圧を、発光素子252aへ供給することで、発光素子252aを第1の周期T1で発光させる(図49(B)参照)。第1の周期T1は、典型的には、基準周期T0の2倍〜3倍とされる。しかし、これに限られず、1〜2倍でもよく、3倍以上でも構わない。なお、図48、及び図49(B)の例では、第1の周期T1は、基準周期T0の2倍とされている。
MPU19は、発光周期Tを第1の周期とした場合(ステップ1112)、あるいは、発光周期Tが基準周期T0でない場合(ステップ1111のNO)、次のステップ1113へ進む。ステップ1113では、カウント値が第2のプリセットカウント値以上であるか否かが判定される。この第2のプリセットカウント値は、第2のプリセット時間t2に対応するカウント値である(図48参照)。第2のプリセット時間は、典型的には、20s〜40sとされる。しかしこれに限られず、第1のプリセット時間t1以上であれは、20s以下であってもよく、40s以上であってもよい。
MPU19は、カウント値が第2のプリセットカウント値よりも小さい場合(ステップ1113のNO)、ステップ1101に戻る。そして、カウント値が第2のプリセットカウント値と一致するまで、つまり、受光信号の入力が解除されてから第2のプリセット時間t2が経過するまで、ステップ1001〜ステップ1113のNO、の処理を繰り返す。
なお、第1のプリセット時間t1経過後であって、第2のプリセット時間t2経過前に、ユーザが検出領域に指を進入させ、光センサ252からの受光信号が入力された場合(ステップ1102のYES)、MPU19は、カウント値をリセットし(ステップ1103)、発光周期Tを第1の周期T1から基準周期T0へと戻す(ステップ1104のYES,ステップ1105)。すなわち、ステップ1105では、MPU19は、発光周期Tをコマンド出力周期T’と同期させるために、第1の周期T1を基準周期T0へと戻す。
カウント値が第2のプリセットカウント値以上である場合(ステップ1113のYES)、つまり、受光信号の入力の解除から第2のプリセット時間以上経過した場合、MPU19は、発光周期Tが第1の周期T1であるか否かを判定する(ステップ1114)。発光周期Tが第1の周期T1である場合(ステップ1114のYES)、第1の周期T1を第2の周期T2へと変更する(ステップ1115)(図48、及び図49(C)参照)。第2の周期T2は、典型的には、基準周期T0の3倍〜5倍とされる。しかし、これに限られず、第1の周期T1以上であれば基準周期T0の3倍以下でもよく、5倍以上でもよい。なお、図48、及び図49(C)に示す例では、第2の周期T2は、基準周期T0の3倍とされている。
なお、発光周期Tが第2の周期T2のときに、受光信号が入力された場合(ステップ1102のYES)、MPU19は、カウント値をリセットし(ステップ1103)、発光周期Tを、第2の周期T2から基準周期T0へと戻す(ステップ1104のYES、ステップ1105)。
図46に示す処理により、受光信号の入力が解除されてからの時間が長くなるに従って、発光周期T(検出領域内のユーザの身体の存在の有無を検出する周期)が長くなるように発光周期Tが制御されるため、適切に消費電力を低減することができる。
本実施形態では、受光信号の入力の解除を時間の起算点としたが(図48参照)、入力装置200に電源が投入されたときを時間の起算点としてもよい。すなわち、入力装置200の電源がONの状態となったときからの時間が長くなるにしたがって発光周期Tが長くなるように発光周期Tが制御されてもよい。
本実施形態の説明では、発光周期Tが3段階で変化する場合について説明したが、発光周期Tは、2段階で変化させてもよく、4段階以上で変化させてもよい。あるいは、受光信号の入力が解除されてからの時間が長くなるに従って、1次関数的に、または多次関数的に長くなるように発光周期Tが制御されてもよい。あるいは、これらの組み合わせにより発光周期Tが制御されてもよい。
本実施形態の説明では、図43との違いを中心に説明したが、図44に示すステップ901の発光周期T、及び図46に示すステップ1001の発光周期Tが本実施形態のように可変とされてもよい。
次に、光センサ252が発光する周期である発光周期Tが可変である場合の、他の実施の形態を説明する。
本実施形態では、入力装置200の速度値の大きさに応じて、発光周期Tが可変に制御される点で、上述の実施形態と異なる。したがって、この点を中心に説明する。
図50は、本実施形態に係る入力装置200の動作を示すフローチャートである。図51、及び図52は、光センサ252の発光周期Tと、速度値Vとの関係を示す図である。
図51及び図52を参照して、本実施形態では、入力装置200が出力する速度値Vが大きくなるに従って、光センサ252の発光周期T(光センサ252が検出領域内にユーザの身体が存在するか否かを検出する周期)が短くなる。逆に、速度値Vが小さくなるに従って、発光周期Tが長くなる。
まず、このように処理する理由について説明する。
ユーザが入力装置200を用いて画面3上のポインタ2の移動させる場合、例えば、テーブル上にある入力装置200を把持し、決定ボタン211上の検出領域に指を進入させて、入力装置200を空間操作する。入力装置200がこのように操作される場合、入力装置200の速度値Vは大きい。つまり、速度値Vが大きい場合には、光センサ252を発光させて決定ボタン211上の検出領域にユーザの指が存在するか否かを判定する必要性が高く、光センサ252を短い周期で発光させる必要があるといえる。
一方で、入力装置200がテーブル上に置かれている場合など、入力装置200の速度値Vが小さい場合には、光センサ252により検出領域内にユーザの指が存在するか否かを判定する必要性が低い。したがって、入力装置200速度値Vが小さい場合には、光センサ252を長い周期で発光させても問題ないといえる。
本実施形態では、このような関係を利用して、発光周期Tを可変に制御し、適切に消費電力の低減を図る。
次に、発光周期Tと、速度値Vとの関係について説明する。
図51及び図52に示すように、速度値VがV10以上である場合、発光周期Tは、基準周期T0とされる。この基準周期T0は、コマンド出力周期T’(例えば16ms)と一致しており、光センサ252が発光する周期の最短の周期とされる(図52(A)参照)。V10の値は、入力装置200の速度値Vと、発光周期Tとの関係を考慮して、適宜設定される。同様に、V1〜V9も、発光周期Tとの関係を考慮して適宜設定される。
速度値Vは、速度値の絶対値|V|が用いられてもよく、第1の速度値Vx、または第2の速度値Vyのうち、いずれか一方が代表値として用いられてもよい。
速度値Vが、V9〜V10、V8〜V9、V7〜V6、・・・、0〜V1、である場合、発光周期Tは、それぞれ、T1、T2、T3、・・・T10とされる。例えば、T1、T2、T3、・・・T10は、それぞれ基準周期T0の2倍、3倍、4倍・・・10倍とされる。しかし、これに限られず、基準周期T0の整数倍であれば、3倍、6倍、9倍・・・30倍と増えてもよく、その他の倍率により増えてもよい。また、T1、T2、T3、・・・T10は、規則的な倍率により増える場合に限らず、変則的な倍率により増えてもよい。発光周期Tは、11段階に限られず、10段階以下であってもよいし、12段階以上であってもよい。
また、図51及び図52では、速度値Vが0〜V1である場合、周期T10とされているが(図52(D)参照)、速度値Vが0〜V1である場合に、発光周期Tを無限大としてもよい。つまり、速度値が0であるか、または略0である場合には、光センサ252の発光させなくてもよい。これにより、さらに消費電力を低減することができる。
次に、図50を参照して、本実施形態に係る入力装置200の動作について説明する。なお、図44と異なる点を中心に説明する。
MPU19は、光センサ252を発光させて(ステップ1201)、光センサ252から受光信号が入力されているか否かを判定する(ステップ1202)。例えば、MPU19は、図51及び図52に示す、T0〜T10の何れかの周期で、光センサ252を発光させ、受光信号の入力を判定している。
ユーザの指が検出領域に存在せず、受光信号の入力がされていないと判定された場合(ステップ1202のNO)、MPU19は、センサユニット17から角速度値、及び加速度値を取得する(ステップ1208)。MPU19は、この角速度値、及び加速度値に基づいて、速度値を算出する。MPU19は、速度値を算出すると(ステップ1209)、この速度値Vに応じて、新たに、発光周期T(T0〜T10の何れか)を設定する(ステップ1210)(図51参照)。この発光周期Tの設定は、例えば、図51に示す速度値V及び発光周期Tの関係を、テーブルに記憶させておくことで実現できる。
ステップ1210において、新たに設定される発光周期Tは、前回の発光周期Tと同じ場合もあり、異なる場合もある。MPU19は、前回光センサ252を発光させてから、新たに設定された発光周期Tが経過した場合、再び、ステップ1201に戻り、光センサ252を発光させる。光センサ252からの受光信号が入力されない場合、以後、光センサを発光(ステップ1201)→速度値に応じた、新たな発光周期の設定(1208〜1210)→新たに設定された発光周期後に光センサ252を発光(ステップ1201)、の処理を繰り返す。
このような処理により、例えば、入力装置200がテーブル上に置かれ、ほとんど動いておらず、速度値が略ゼロに近い値を取り続ける場合には、最長の周期であるT10で光センサ252は、発光し続けることになる。これにより、消費電力を低減することができる。一方で、例えば、テーブルに置かれた入力装置200をユーザが把持し、画面3上のポインタ2を移動させようとして、検出領域に指を進入させようとするときには、そのときの速度値の大きさに応じて、例えば、発光周期Tは、最短周期である基準周期T0となっている。これにより、ユーザは、即座にポインタ2の移動を開始することができる。
検出領域にユーザが指を進入させ、MPU19が受光信号が入力されていると判定した場合(ステップ1202のYES)、MPU19は、センサユニット17から加速度値及び速度値を取得し(ステップ1203)、速度値を算出する(ステップ1204)。MPU19は、速度値を移動コマンドとして出力すると(ステップ1205)、この速度値に応じた、新たな発光周期T(T0〜T10の何れか)を設定する(ステップ1206)。新たに設定される発光周期Tは、前回の発光周期Tと同じ場合もあり、異なる場合もある。
新たな発光周期Tを設定すると、MPU19は、前回光センサ252を発光させてから、新たに設定された発光周期Tが経過したか否かを判定する(ステップ1207)。前回光センサ252を発光させてから、新たに設定された発光周期Tが経過していない場合(ステップ1207のNO)、ステップ1203に戻る。そして、再び速度値を算出、出力し、新たに発光周期Tを設定する。前回光センサ252を発光させてから、新たに設定された発光周期Tが経過した場合(ステップ1207のYES)、MPU19は、ステップ1201に戻り、再び光センサを発光させる。
ここで、ユーザが検出領域に指を進入させてポインタ2を画面3上で移動させ、アイコン4上に停止させようとしているとき、入力装置1の速度値は小さい。したがって、光センサ252は、例えば、最長の発光周期である発光周期T10(160ms)で発光している。この場合、MPU19は、ステップ1203〜ステップ1207を10サイクル繰り返した後に、光センサ252を発光させ、検出領域にユーザ指が存在するか否かの判定を実行している。したがって、ユーザがアイコン4上でポインタ2を停止させようとして、指を検出領域からはずしたにも関わらず、サイクルの繰り返しにより、移動コマンドが出力されてしまう場合も考えられる。しかしながら、この場合、移動コマンドとして出力される速度値V自体が小さいため、サイクルの繰り返しにより移動コマンドが出力されたとしても、ポインタ2はあまり移動しない。したがって、ユーザは、サイクルの繰り返しによりポインタ2が空走したとしても気付かない。すなわち、本実施形態に係る入力装置では、ユーザにポインティング操作の違和感を与えることなく、適切に消費電力の低減を図ることができる。
本実施形態では、速度値の大きさに応じて、発光周期Tが可変に制御される場合について説明した。しかし、これに限られず、角速度値ω、又は加速度値aの大きさに応じて発光周期Tが可変に制御されてもよい。角速度値ωは、絶対値が用いられてもよく、2軸の加速度値のうち、一方が代表値として用いられてもよい。加速度値についても同様である。このような処理によっても、図51に示す処理と同様の効果を奏する。
本実施形態では、速度値の大きさに応じて、段階的に発光周期Tが変化する場合について説明した。しかし、これに限られず、速度値の大きさに応じて、指数関数的に発光周期Tが変化してもよい。
図66は、速度値の大きさ応じて、指数関数的に発光周期Tが変化する場合の一例を示す図である。図66に示すように、発光周期Tは、速度値が大きくなるに従って、指数関数的に短くなり、所定の速度値V’以上で一定(例えば、16ms)となる。このように、速度値に応じて指数関数的に発光周期Tが短くなることで、ユーザにポインティング操作の違和感を与えることなく、適切に消費電力の低減を図ることができる。
ここで、速度値Vが所定の速度値V"を超える場合、速度値Vが大きくなるに従って、発光周期Tを長くしてもよい。例えば、ユーザが指を検出領域に進入させてポインタ2を画面3上で移動させている場合であって、筐体10を勢いよく振っているとき、速度値はとても大きい。この場合、ユーザが検出領域から指をはずすと、ユーザの指が存在しないにも関わらず、サイクルの繰り返しにより(ステップ1203〜ステップ1207参照)、移動コマンドが出力されてしまう場合も考えられる。しかし、この場合、速度値が大きすぎるために、ポインタ2が空走したことにユーザは気付かない。図66では、この関係を利用して、速度値Vが所定の速度値V"を超えるとき、速度値が大きくなるに従って、発光周期Tを長くする。これにより、ユーザにポインティング操作の違和感を与えることなく、適切に消費電力の低減を図ることができる。
次に、光センサ252からのパルス状の出力電圧(受光信号)が入力されたか否かの判定方法についての一実施形態について説明する。
本実施形態では、図43のステップ802などに示した、受光信号の入力がされたか否かの判定方法について説明する。本実施形態では、外乱光の影響を除去するため、光センサ252からの出力電圧の変化量に応じて、受光信号の入力がされたか否かを判定する。したがって、この点を中心に説明する。
まず、太陽光や、蛍光灯からの光などの外乱光が光センサ252の受光素子252bに与える影響について説明する。
図53は、外乱光の影響を説明するための図であり、発光素子252aへの入力電圧と、光センサ252からの出力電圧との関係を示す図である。
図53(B)左に示すように、外乱光が大きい状態であり、かつ、検出領域にユーザの指が存在しない場合、受光素子252bが外乱光を検出するため、光センサ252が信号を出力し続けることが考えられる。これにより、検出領域にユーザの指が存在しないにも関わらず、MPU19が受光信号の入力がされていると判定し、ポインタ2が画面3上で動く場合も考えられる。
一方で、図53(B)の右側に示すように、検出領域にユーザの指が存在する場合、決定ボタン211の表面が指で覆われることから、外乱光が受光素子252bに検出されなくなる。従って、外乱光の影響が小さい場合と同様に(図40(B)参照)、光センサ252の出力電圧は、周期Tによりパルス状の電圧として出力される。
本実施形態では、外乱光の影響を除去するために、以下の処理を実行する。
図54は、本実施形態に係る入力装置200の動作を示すフローチャートである。
MPU19は、発光素子252aを発光させているときの、光センサ252(受光素子252b)からの出力電圧が閾値以上であるか否かを判定する(ステップ1301)。光センサからの出力電圧が閾値以下である場合(ステップ1301のNO)、MPU19は、光センサ252からの受光信号は、入力されていないと判定する(判定手段)(ステップ1304)。MPU19は、受光信号が入力されていないと判定した場合、例えば、図43のステップ802のNO、以降の処理を実行すればよい。
一方で、MPU19は、発光素子252aを発光させているときの、光センサ252からの出力電圧が閾値以上である場合(ステップ1301のYES)、次のステップ1302に進む。ステップ1302では、MPU19は、前回光センサ252を発光させてから今回光センサ252を発光させるまでの間の、光センサ252からの出力電圧が閾値以下であるか否かを判定する。光センサ252からの出力電圧が閾値以下でない場合(ステップ1302NO)、MPU19は、光センサ252からの受光信号は、入力されていないと判定する(ステップ1304)。
例えば、受光素子252bが外乱光の影響を受けて、光センサ252が信号を出力し続けている場合(図53(B)左参照)、光センサ252を発光させているときの出力電圧は、閾値以上である(ステップ1301のYES)。しかし、前回光センサ252を発光させてから今回光センサ252を発光させるまでの間の、光センサ252からの出力電圧が閾値以下でない(ステップ1302のNO)。したがって、この場合、MPU19は、受光信号が入力されたと判定しない(ステップ1304)。これにより、検出領域にユーザの指が存在しない場合に、受光素子252bが外乱光を検出しても、ポインタ2が画面3上で動くことを防止することができる。
前回光センサ252を発光させてから今回光センサ252を発光させるまでの間の、光センサ252からの出力電圧が閾値以下である場合(ステップ1302YES)、MPU19は、光センサ252からの受光信号が入力されていると判定する(ステップ1303)。MPU19は、受光信号が入力されていると判定した場合(ステップ1303)、例えば、図43に示す、ステップ802のYES、以降の処理を実行すればよい。
例えば、ユーザの指が検出領域に存在する場合(図53(B)右参照)、光センサ252が発光しているときの、光センサ252からの出力電圧は、閾値以上である(ステップ1301のYES)。また、前回光センサ252を発光させてから今回光センサ252を発光させるまでの間の、光センサ252からの出力電圧が閾値以下である(ステップ1302のYES)。したがって、この場合、MPU19は、光センサ252からの受光信号が入力されていると判定する(ステップ1303)。つまり、検出領域にユーザの指が存在する場合には、MPU19は、光センサ252からの受光信号が入力されていると、適切に判定することができる。
図54で示したように、本実施形態では、光センサ252からの出力電圧の変化量に応じて、受光信号の入力がされたか否かを判定するため、外乱光の影響を効果的に除去することができる。
なお、本実施形態に係る、受光信号が入力されたか否かの判定方法は、図43のステップ802、図44のステップ902、図46のステップ1002、図47のステップ1102、及び図50のステップ1202のいずれにおいても適用することができる。次に説明する、受光信号が入力されたか否かの判定方法についての実施形態についても同様である。
次に、光センサ252からのパルス状の出力電圧(受光信号)が入力されたか否かの判定方法についての他の実施形態について説明する。
図54に示す実施形態では、閾値判定により、受光信号が入力されたか否かを判定した。一方、本実施形態では、入力装置200のさらなる消費電力の低減のために、閾値判定によらず、受光信号が入力されたか否かを判定する。したがって、その点を中心に説明する。
なお、本実施形態においても、光センサ252からの出力電圧の変化量に応じて、受光信号が入力されたか否かを判定する点においては、図54に示す実施形態と共通する。
図55は、発光素子252aへの入力電圧と、光センサ252からの出力電圧との関係を示す、拡大図である。
図55の破線に示すように、発光素子252aへの入力電圧のパルス幅が十分に大きい場合、受光素子252bからの出力電圧が閾値を超えるため、MPU19は、閾値判定による判定方法により、受光信号の入力を判定することができる。
ここで、光センサ252の消費電力をさらに低減するためには、発光周期Tで光センサ252を断続的に発光させるほか、光センサ252を発光させる時間を短くすることが有効な手段であると考えられる。この場合、発光素子252aへの入力電圧のパルス幅τを小さくし、デューティー比D(D=τ/T)を小さくすることが考えられる(図55(A)参照)。
しかしながら、発光素子252aの発光時間を短くすると、受光素子252bが光を検出する時間が短くなるため、スルーレートが低い場合、光センサ252の出力電圧の出力値が閾値を超えなくなることも考えられる(図55(B)参照)。これにより、検出領域内にユーザの指が存在するにも関わらず、MPU19が光センサ252からの受光信号の入力されていないと判断することも考えられる。
そこで、本実施形態に係る入力装置200は、光センサ252からの出力電圧(アナログ信号)をサンプリングし、デジタル変換する(図55(B)参照)。そして、MPU19は、サンプリングされた出力電圧(デジタル信号)の変化量に応じて、受光信号が入力されているか否かを判定する。典型的には、MPU19は、例えばサンプリングされた各電圧値を微分することで、その変化量を認識することができる。サンプリングされた各電圧値のうち少なくとも2つのサンプリング値の差分を求め、その差分が、所定の値と同じか、またはその値に近い値になった場合に、受光信号が入力されていると判定されればよい。
このような処理により、発光素子252aの発光時間が短くされることで、光センサ252からの出力電圧の出力値が閾値を超えない場合であっても、MPU19は、受光信号が入力されていると判定することができる。これにより、発光素子252aの発光時間を短くすることができるため、光センサ252の消費電力をさらに低減することができる。
また、上述のような処理によりによれば、検出領域にユーザの指が存在せず、受光素子252bが外乱光の影響を受けて、電圧を出力してしまう場合であっても(図53(B)左参照)、MPU19は、受光信号が入力されたと判定しない。つまり、受光素子252bが外乱光の影響を受けた場合に出力する出力電圧の変化量は、検出領域に指が存在する場合の、出力電圧の変化量と一致しないため、MPU19は、受光信号が入力されたと判定しない。これにより、光センサ252が外乱光の影響を受け、検出領域にユーザの指が存在しないにも関わらず、ポインタ2が画面3上で動いてしまうことを防止することができる。
次に、外乱光の影響を軽減するための実施の形態について説明する。
上述の図53及び図54に示した実施の形態と、図55に示した実施の形態とでは、信号の入力の判定方法により、外乱光の影響を軽減する場合について説明した。一方、本実施形態では、光学薄膜(波長選択膜)により、外乱光の影響を軽減する。
外乱光の影響を軽減するため、例えば、上述の図37で示したレンズ部材255の上面255aに、受光素子252bに照射される光のうち、発光素子252aから発せられる光の波長領域に属する光を選択的に透過させ、それ以外の波長の光をカットすることが可能な光学薄膜(波長選択領域)が形成される。あるいは、受光素子252bの受光面に光学薄膜が形成されてもよい。光学薄膜が形成される位置は、特に限定されない。例えば、光学薄膜は、多重構造とされる。発光素子252aが照射する光として、所定の波長領域の赤外線が用いられた場合、光学薄膜は、所定の波長領域の赤外線を透過させ、所定波長領域の赤外線以外の光をカットするように形成される。
図58は、太陽光の波長分布を示す図である。図59は、太陽光の波長分布、受光素子252bの分光感度特性、及び光学薄膜の特性の関係を示す図である。
図58、及び図59に示すように、太陽光は、近赤外線の波長領域における約850nm〜1050nmの間に放射強度の谷間を有しており、950nm付近に谷間のピークが存在する。図59に示すように、受光素子252bの相対感度は、太陽光の放射強度の谷間のピーク値と合致するように、950nm付近にピーク値を有している。受光素子252bは、950nm付近に相対感度のピーク値を有するように、適宜設計されればよい。この場合、発光素子252aも、950nm付近を中心波長とした近赤外線領域に属する光を照射する。
図59の破線は、光学薄膜の特性を示しており、図59の斜線は、光学薄膜により、カットされる太陽光の領域を示している。つまり、光学薄膜は、約900nm〜1000nmの波長領域の光を選択的に透過させ、約900nm以下、及び約1000nm以上の波長領域の光をカットする。光学薄膜は、このような特性を有するように、膜厚などが適宜設定される。例えば、受光素子252bは、約1100nmの波長の光に対して約50%の相対感度を有するが、この1100nmの波長の光は、光学薄膜によりカットされるため、受光素子252bにより検出されない。このように、本実施形態に係る入力装置は、外乱光が受光素子252bに与える影響を効果的に軽減することができるため、受光素子252bは、発光素子252aが照射する光(950nm)を適切に検出することができる。
本実施形態に係る光学薄膜は、光センサ252が発光周期Tで断続的に発光する形態であっても、光センサ252が常時発光する形態であっても適用することが可能である。本実施形態では、光学薄膜により外乱光の影響を軽減する場合について説明した。しかし、これに限られず、レンズ部材255自体が波長選択性を有する樹脂で形成されても構わない。
次に、外乱光の影響を軽減するための他の実施形態について説明する。
本実施形態では、回路により、外乱光の影響を軽減するため、その点を中心に説明する。
図64は、本実施形態に係る入力装置200が有する回路を示す図である。図65は、外乱光が強い場合の光センサの出力波形と、図64に示す回路により波形整形された信号との関係を示す図である。
図64に示すように、回路110は、コンパレータ111と、コンデンサC1と、6つの抵抗R1〜R6とで形成される。回路110は、接続点112,113、及び114を有している。接続点112には、光センサ252の受光素子252bからの受光信号が入力される。接続点113は、例えば、3.15Vの電源(バッテリー14)に接続され、接続点114から出力信号が得られる。
コンデンサC1は、受光素子252bの出力側に接続されている。抵抗R3は、その一端がグランド接続され、他端は、コンパレータ111の−入力端子に接続されている。抵抗R5により、ポイントAの電圧が決められ、この電圧が受光素子252bの出力電圧と比較される参照電圧115となる。
図65(A)は、外乱光の影響が大きい場合の、受光素子252bからの受光信号の出力波形を示す図である。この図65(A)は、図53(B)で示した例よりもさらに外乱光が強い状態での受光信号の出力波形を示している。
外乱光が強い状態では、ユーザの指が検出領域に存在しない場合に受光信号が出力されてしまう場合がある(図65(A)左参照)。また、外乱光がさらに強い状態では、検出領域に指が存在する場合であっても、例えば、指とレンズ部材255との隙間から外乱光が決定ボタン211内部に侵入してしまうことがある。これにより、外乱光が受光素子252bにより検出されてしまうため、受光素子252bは、図65(A)右に示すような波形の受光信号を出力してしまうことがある。
図65(B)は、コンデンサC1を通過した後の受光信号の出力波形を示す図である。図65(B)左に示すように、コンデンサC1(除去手段)を通過した受光信号は、DC成分がカットされるため、検出領域にユーザの指が存在しない場合には、略ゼロとなる。また、ユーザの指が検出領域に存在する場合の信号の波形は、DC成分がカットされ、図65(B)右に示すような波形となる。図65(B)右に示す波形が、コンパレータ111に入力されることで波形整形される。例えば、コンパレータ111に入力された信号は、上記した抵抗R5により設定された参照電圧115と比較され、参照電圧より大きい信号が増幅される。これにより、コンパレータ111から図65(C)に示すような波形が出力される。
このように波形整形された受光信号は、外乱光の影響が無視できる状態での光センサの受光信号と同様の形状を有している(図40(B)参照)。これにより、効果的に外乱光の影響を除去することができ、MPU19は、適切に受光信号の入力を判定することができる。
なお、参照電圧115は、コンパレータ111に入力されるパルス電圧の電圧値を考慮して、抵抗R5が変更されることで適宜調整される。
次に外乱光の影響を軽減するための他の実施形態について説明する。
本実施形態では、発光素子252aの発光時における受光素子252bからの受光信号と、消灯時における受光素子252bからの受光信号との差を利用して、外乱光の影響を軽減する。したがって、その点を中心に説明する。
まず、光センサ252(レンズ部材255の上面255a)からユーザの指までの距離と、受光素子252bからの出力電圧との関係について説明する。
図67(A)は、外乱光の影響が無視できる状態での受光素子の出力電圧を示している。図67(A)(a)は、光センサ252からユーザの指までの距離が遠い場合の、受光素子252bからの出力電圧を示している。また、図67(A)(b)は、ユーザの指が光センサ252に近づいた場合の出力電圧を示しており、図67(A)(c)は、ユーザの指がさらに光センサ252に近づいた場合の出力電圧を示している。図67(A)に示すように、ユーザの指が光センサ252に近づくに従って、受光素子252bが受光する光の量が増加するため、受光素子252bからの出力電圧がV1〜V3まで増加する。
図67(B)は、外乱光の影響が大きい状態での受光素子252bの出力電圧を示している。図67(B)(d)は、ユーザの指が光センサ252上に存在しない場合の受光素子252bの出力電圧を示している。図67(B)(d)に示すように、ユーザの指が検出領域に存在しない場合、受光素子252bは、外乱光の影響を受けて、受光信号を出力し続けてしまう。図67(B)(a)〜(c)は、光センサ252からユーザの指までの距離が遠い状態から徐々に光センサ252に近づいた場合の、受光素子252からの出力電圧を示している。なお、図67(B)(a)〜(c)での、光センサ252からユーザの指までの距離は、上述の図67(A)(a)〜(c)での、光センサ252からのユーザの指までの距離にそれぞれ対応している。
図67(B)に示すように、ユーザの指が近づくに従って、発光素子252aが発光しているときの出力電圧と、消灯しているときの出力電圧との電位差は、V1〜V3まで増加する。また、ユーザの指が近づくに従って、発光素子252aが消灯しているときの、受光素子252bの出力電圧が低下する。これは、ユーザの指が光センサ252に近づくに従って、レンズ部材255の上面255aがユーザの指に覆われることにより、外乱光が受光素子252bに到達しなくなるためである。
ここで、図67(A)及び図67(B)とを比較すると、光センサ252からユーザの指までの距離が同じであれば、発光素子252a発光時の受光素子252bの出力電圧と、消灯時の出力電圧との電位差は、同じであることが分かる。すなわち、外乱光の影響の大きい、小さいに関わらず、発光素子252a発光時の受光素子252bの出力電圧と、消灯時の出力電圧との電位差は、同じであるといえる。そこで、本実施形態では、この関係を利用して、外乱光の影響を除去する。
入力装置200は、発光素子252aが発光しているときの受光素子252bの出力電圧及び消灯時の出力電圧をサンプリングし、デジタル変換する。MPU19は、発光素子252a発光時のサンプリング値の代表値から、発光素子252aの消灯時のサンプリング値の代表値を減算して、電位差を求める。MPU19は、この電位差が所定の閾値を超えるか否かを判定し、閾値を超える場合、受光信号が入力されたと判定する。一方で、所定の閾値以下である場合、受光信号が入力されていないと判定する。このような処理により効果的に外乱光の影響を軽減することができる。
ここで、上述の処理により算出された電位差を利用して、所定の処理を実行してもよい。すなわち、MPU19は、光センサ252からユーザの指までの距離に応じた電位差を求めることができるため、この電位差を利用する。例えば、光センサ252からユーザの指までの距離(電位差)に応じて、色が変化するLED表示部を有していてもよい。これにより、ユーザは、光センサ252により指が検出されているか否かを視覚により認識することができる。
あるいは、距離(電位差)に応じて、例えば、図12に示した処理により算出された速度値を可変としてもよい。この場合、ユーザは、手首や腕の操作により筐体10を振る速度を調整し、指の操作により光センサ252からの距離を調整することで、画面上でのポインタ2の速度を調整することができる。
次に、入力装置が有する操作部の他の実施形態について説明する。
図68は、本実施形態に係る入力装置が有する決定ボタン511の断面図である。図66では、上述の図37で説明した決定ボタン211と異なる点を中心に説明する。
図68に示すように、決定ボタン511は、凹部を有する筒体550を備えている。筒体550内の凹部底面250cには、光センサ252が配置される。光センサ252は、発光素子252aと受光素子252bとを有する反射型の光センサ252である。筒体250の凹部には、レンズ部材555が設けられる。レンズ部材555は、光センサ252を覆うように、凹部全体に形成されており、光センサ252は、レンズ部材555により樹脂封止されている。
レンズ部材555の上面555aは、所定の曲率半径を有しており、発光素子252aが照射した光を集光可能となっている。レンズ部材の上面555aの曲率半径は、適宜設定される。
図68に示すように、レンズ部材555が光センサ252を覆うように形成されることで、光センサ252と指との間の反射面を少なくすることができる。すなわち、図68から明らかなように、本実施形態では、光センサ252と指との間の反射面は、レンズ部材555の上面555aのみである。従って、反射光の影響により受光素子252bが光を検出してしまうことを防止することができる。また、光センサ252は、筒体550内部に固定されており、レンズ部材555の上面555a(反射面)との位置関係が変動しない。従って、レンズ部材255の上面255aで反射された光のレベルを安定させることができる。これにより、ユーザの指が検出領域に存在しないにも関わらず、受光素子252bが光を検出してしまうことを防止することができる。さらに、レンズ部材255の上方に安定して検出領域を形成することができる。
発光素子252a及び受光素子252bとの間に挟みこまれるように、遮光板256が形成されてもよい。これにより、受光素子252bが、発光素子252aから照射された光を直接的に、あるいは、レンズ部材555の上面555aにより反射された光を間接的に受光してしまう事を防止することができる。
なお、上述の各実施形態、及び後述する各実施形態の説明では、ユーザによる押圧操作の対象は、決定ボタン211としているが、決定ボタン511としてもよい。
次に、入力装置200の決定ボタン211がユーザにより押圧操作される場合の他の実施の形態について説明する。
図56は、本実施形態に係る入力装置の動作を示すフローチャートである。この図56は、上述の図17、ステップ301中の「移動ボタンによる受光信号」が「光センサによる受光信号」と読み替えられた図である。つまり、図56では、図17と同様の処理が実行される。
決定ボタン211が押圧され、スイッチ215aからの操作信号の入力が開始された場合、MPU19は、操作信号の入力の開始から第1の時間内は、画面3上でポインタ2が移動しないように制御する(ステップ1404のYES〜ステップ1409)。これにより、ユーザが決定ボタン211を押圧した際に、筐体210が傾くことで、ポインタ2が画面3上で動いてしまうことを防止することができる。
決定ボタン211の押圧が解除され、スイッチ215aからの操作信号の入力が解除された場合、MPU19は、操作信号の入力の解除から第2の時間内は、画面3上でポインタ2が移動しないように制御する(ステップ1412のYES〜ステップ1417)。これにより、例えばユーザが、ドラッグ操作しているアイコンをドロップするときに筐体210が傾くことにより、アイコンがユーザの意図しない位置にドロップされてしまうことを防止することができる。
MPU19は、操作信号の入力が解除されてから第2の時間が経過する前に、再び操作信号の入力が開始された場合に、再び操作信号の入力が開始されてから第1の時間内は、画面3上でポインタ2が移動しないように制御してもよい(1416のYES〜1409)。これにより、例えばユーザが決定ボタン211をダブルクリックの操作をしたときの押圧開始時に、筐体210が傾くことで、ポインタ2が画面3上で動いてしまうことを防止することができる。
MPU19は、操作信号の入力が開始されてから第1の時間が経過する前に、操作信号の入力が解除された場合に、この操作信号の入力の解除から第2の時間内は、画面3上でポインタ2が移動しないように制御してもよい(1408のYES〜破線〜ステップ1417)。これにより、例えばユーザが決定ボタン211をクリック、またはダブルクリックの操作をしたときの押圧解除時に筐体210が傾くことで、ポインタ2が画面3上で移動してしまうことを防止することができる。
以上、図56の説明は、簡単に説明したが、入力装置200の動作、及び奏する効果等については、図17と同様であるため、詳細については省略する。なお、図56に示す処理を主に制御装置40が実行しても構わない。
入力装置200は、上述の図20と同様の処理を実行してもよい。この場合、図20中、ステップ601に示した「移動ボタンによる受光信号」が「光センサによる受光信号」と読み替えられればよい。つまり、ユーザが検出領域に指を進入させ、光センサ252から受光信号の入力が開始された場合、MPU19は、この受光信号の入力から第3の時間内は、画面3上でポインタ2が移動しないように制御する。これにより、図20に示した効果と同様の効果を奏する。なお、このような処理を主に制御装置40が実行しても構わない。
次にセンサについての他の実施の形態について説明する。
上述の各実施形態では、検出領域にユーザの身体(例えば指)が存在するか否かを検出するセンサが反射型の光センサである場合について説明した。一方、本実施形態では、センサが透過型の光センサである場合について説明する。
図60は、本実施形態に係る入力装置200が有する決定ボタン411の断面図である。
図60に示すように、決定ボタン411は、中空部451を有する筒体450を備えている。この筒体450は、筒体450の上面450aに溝458を有している。溝458は、ユーザの指よりも少し大きい程度の大きさとされる。筒体450の内部には、溝458を挟んで対向するように発光素子452a及び受光素子452bが配置される。この発光素子452a及び受光素子452bにより、透過型の光センサ452が形成される。本実施形態では、この透過型の光センサ452により、決定ボタン411上であって、溝458の間にユーザの身体の存在の有無を検出する検出領域が形成される。
筒体450の溝458を形成する壁面450bの一部には、発光素子452aから出射される光を透過することが可能な透過部457が設けられる。透過部457は、発光素子452a側と、受光素子452b側にそれぞれ設けられ、発光素子452aと受光素子452bとを結ぶ直線上に配置される。透過部457は、例えば、ポリカーボネートや、アクリル系樹脂などの光透過性樹脂により形成される。
受光素子452b側の透過部457には、上述の光学薄膜が形成されていてもよい。これにより、外乱光の影響を効果的に除去することができる。光学薄膜は、受光素子452bの受光面に形成されていても構わない。あるいは、受光素子452b側だけでなく、発光素子452a側の透過部457に光学薄膜が設けられていてもよい。または、透過部457自体が波長選択性の特性を有する樹脂で形成されてもよい。
次に決定ボタン411を有する入力装置200の動作について説明する。
図61は、その動作についての一実施形態を示す図である。図61は、上述の図38に示したステップ701による判定と、ステップ704による判定が逆となったフローチャートである。つまり、本実施形態では、MPU19は、反射型の光センサ452からの受光信号の入力が解除された場合に、ポインタ2が画面3上で移動するように移動コマンドの出力を制御する。また、MPU19は、反射型の光センサ452からの受光信号の入力が開始された場合に画面3上でポインタ2の移動が停止するように移動コマンドの出力を制御する。
ユーザが溝458に指を進入させておらず、検出領域に指が存在しない場合、受光素子452bは、発光素子452aが照射する光を検出している。したがって、受光素子452bは、受光信号として受光信号を出力しており、この受光信号は、MPU19に入力されている。MPU19は、受光信号が入力されている場合(ステップ1501のNO)、移動コマンドの出力を停止しているか、変位量をゼロとした移動コマンドを出力する(ステップ1502)。
ユーザが溝458に指を進入させた場合、光センサ452から照射された光は、指により遮られる。従って、受光素子452bは、発光素子452aから照射された光を検出することができなくなるため、MPU19への受光信号の出力が停止される。MPU19は、受光素子452bからの受光信号の入力が解除されると(ステップ1501のYES)、移動コマンドの出力を開始する(ステップ1503)。すなわち、MPU19は、検出領域内にユーザの身体が存在する場合、ポインタ2の移動を開始するように移動コマンドの出力を制御する(出力制御手段)。
ユーザが溝から指を離し、検出領域から指をはずした場合、受光素子452bは、発光素子252aからの光を検出し、受光信号の出力を開始する。MPU19は、受光素子452bからの受光信号の入力を開始すると(ステップ1504のYES)、移動コマンドの出力を停止する(ステップ1505)。すなわち、MPU19は、検出領域内にユーザの身体が存在しない場合、ポインタ2の移動を停止するように移動コマンドの出力を制御する。
なお、その他の動作や、作用効果については、図38に示した実施形態と同様であるため、説明を省略する。
図19に示したフローチャートと同様に、ユーザが検出領域に指を進入させている場合に移動コマンドの出力を停止してもよい。この場合、ユーザは、溝458に指を進入させることでポインタを停止さておくことができ、溝458から指をはずすことでポインタの移動を開始することができる。これにより、ポインタ2などを確実に操作することが可能となる。
なお、反射型の光センサ252として説明した上述の各実施形態は、透過型の光センサ452を有する入力装置200について、全て適用することができる(例えば、光センサが所定の周期で発光することや、外乱光の影響を除去することなど)。この場合、入力装置200の動作についてのフローチャートは、図38を図60で読み替えたのと同様の趣旨で読み替えればよい。これにより、反射型の光センサ252を有する各実施形態と同様の作用効果を奏する。
次に、入力装置の他の実施の形態を説明する。
図57は、本実施形態に係る入力装置の下部筐体及び主基板を示す図であり、上方側から見た図である。本実施形態の説明では、上述の入力装置200と同一の機能を有する部材については、同一符号を付し、説明を簡略化、または省略する。
図57に示すように、入力装置300の主基板246上には、スイッチ215aを囲むように静電容量センサ352が配置される。つまり、本実施形態では、光センサ252の代わりに静電容量センサ352が備えられている。この静電容量センサ352により、決定ボタン211上に検出領域が形成される。
この静電容量センサ352により形成される検出領域は、決定ボタン211上に空間的に形成されてもよく、平面的に形成されてもよい。つまり、静電容量センサ352は、決定ボタン211上の空間的な領域にユーザが指を進入させた場合にその指を検出してもよく、ユーザが決定ボタン211の表面に触れた場合にその触れた指を検出してもよい。検出領域の空間的な広さや、平面的な広さは、静電容量センサ352を適宜設計することで調整される。
静電容量センサ352が配置される位置は、決定ボタン211上に検出領域を形成することができる位置であれば、主基板246上のどの位置に配置されていてもよい。
光センサ252が静電容量センサ352とされても、上述の図38、図56、及び図20と同様の処理を実行することができ、同様の作用効果を奏する。また、静電容量センサ352により、図46と同様の処理を実行することができる。この場合、MPUは、図46において、ステップ1001を除いた処理を実行すればよい。これにより、通常モードと省電力モードの切り替えが可能となり、入力装置300全体の省電力化が実現される。
次に入力装置の他の実施の形態について説明する。
上述の各実施形態では、検出領域が決定ボタン(操作部)上に形成される場合について説明した。本実施形態では、検出領域が操作部上とは異なる位置に配置される点において上述の各実施形態と相違するため、その点を中心に説明する。
図62は、本実施形態に係る入力装置を示す斜視図である。図62では、図31と異なる点を中心に説明する。
図62に示すように、入力装置400は、筐体210を備えており、筐体210の上面210cには、操作部223が配置される。この操作部223は、決定ボタン311、中央ボタン212、ボタン213及びボタン214を含む。本実施形態では、例えば、筐体210の上面210c上であって、決定ボタン311よりも端部寄りの、所定の領域312上に検出領域が形成される。この検出領域312は、例えば、反射型の光センサ252により形成される。光センサ252は、筐体210内部であって、所定の領域312の下方に配置される。光センサ252の位置は、所定の領域312上に検出領域を形成することができる位置であれば、特に限定されない。
次に入力装置400の動作について説明する。図63は、その動作を示すフローチャートである。図63の説明では、図38で示した動作と異なる点を中心に説明する。
ユーザが所定の領域312上に形成された検出領域に指を進入させると、あるいは、領域312に指を触れると、光センサ252により指が検出される。光センサ252は、ユーザの指を検出すると、受光信号を出力する。MPU19は、受光信号の入力を開始すると(ステップ1601のYES)、移動コマンドの出力を開始する(ステップ1603)。
例えば、ユーザは、検出領域に指を進入させた状態で入力装置400を振ることでポインタ2を移動させ、アイコン4上に位置させる。そして、ユーザは、所定の領域312上の検出領域から指をはずす。ユーザが検出領域から指をはずすと、光センサ252からMPU19への受光信号の入力が解除される(ステップ1604のYES)。すると、MPU19は、移動コマンドの出力を停止するか、変位量をゼロとした移動コマンドの出力を開始する(ステップ1605)。これにより、ユーザは、例えばアイコン4上にポインタを停止させることができる。
MPU19は、移動コマンドの出力を停止させると(ステップ1605)、決定ボタン311の下方に配置されたスイッチ215aからの操作信号が入力されたか否かを判定する(ステップ1606)。ユーザが決定ボタン311を押圧した場合、スイッチ215aからの操作信号が出力され、MPU19に入力される(ステップ1606のYES)。MPU19は、操作信号が入力された場合、決定コマンドを出力する(ステップ1607)。この場合、MPU19は、検出領域にユーザの指が存在しない状態での、スイッチ215aからの操作信号の入力に応じて決定コマンドを出力する(ステップ1607)。なお、MPU19は、決定ボタン311の押圧が解除され、スイッチ215aからの操作信号の入力が解除されたときに決定コマンドを出力してもよい。
これにより、ユーザは、画面3上でアイコン4上にポインタ2を停止させ、ポインタ2がアイコン4上に位置することを確認して決定ボタン311を押圧することができるため、確実なGUIの操作が可能となる。また、ポインティング操作が苦手なユーザであっても確実なGUIの操作が可能となるため、操作感を向上させることができる。
本実施形態では、検出領域を形成するセンサが反射型の光センサ252であるとして説明したが、静電容量センサ352であってもよい。あるいは、センサは、透過型の光センサ452であってもよい。
本実施形態では、所定の領域312が筐体210の上面210cの端部であるとして説明した。しかし、これに限られず、例えば、所定の領域312は、筐体210の側面に配置されていてもよい。この場合、ユーザは、人差し指や、中指などを検出領域に進入させることでポインタ2の移動の開始及び停止を制御する。あるいは、所定の領域312は、筐体210の下面に配置されてもよい。
次に、光センサ252が入力装置以外に用いられる場合について説明する。
上述の図39〜図41で説明したように、光センサ252が周期的に発光することで、光センサ252の消費電力を低減することができる。さらに、発光素子252aに断続的にパルス状の電圧が供給され、受光素子252bに継続的に電圧が供給されることで、受光素子270bに浮遊容量が発生することを防止することができる。これにより、受光素子252bの誤検出を防止することができる。
つまり、光を照射する発光素子と、前記光を検出する受光素子と、所定の周期で断続的に前記発光素子に電圧を供給するように前記電圧を制御し、前記周期によらず継続的に前記受光素子に前記電圧を供給するように前記電圧を制御する電圧制御手段と具備する光センサによれば、適切に省電力化が実現され、さらに、光の誤検出を防止することができる。
この光センサ252は、例えば、デジタルカメラのシャッターボタンの操作直前のフォーカス合わせ用、コピー機やプリンタなどの紙検出用、またはタイミング検出用のセンサとして使用されてもよく、ディスク駆動装置のディスクの回転速度検出用のセンサとして使用されてもよい。あるいは、光センサ252は、トイレや洗面所などの人体検出用の光センサ252として使用されてもよく、その他、様々な用途に使用することができる。
ここで、光センサ252は、「反射型」であってもよく、「透過型」であってもよい。つまり、反射型であるか、透過型であるか否かに関わらず、発光素子252aに所定の周期で断続的に電圧が供給され、受光素子252bに継続的に電圧が供給されれば、適切に省電力化が実現され、さらに、光の誤検出を防止することができる。
また、上記光センサは、前記周期を可変に制御する周期制御手段をさらに具備していてもよい。例えば、光センサが検出対象物の存在の有無を検出する必要性が少ない場合に、前記周期を長くすることで、さらに省電力化することができる。
上記光センサにおいて、検出対象物の存在を検出する検出領域を有し、前記周期制御手段は、前記検出領域に検出対象物が検出されなくなってから前記存在が検出されるまでの時間が長くなるにしたがって前記周期が長くなるように前記周期を制御する。あるいは、上記光センサにおいて、検出対象物の存在を検出する検出領域を有し、前記周期制御手段は、前記光センサに電源からの電力の供給が開始されてから前記検出領域内に検出対象物の存在が検出されるまでの時間が長くなるにしたがって前記周期が長くなるように前記周期を制御してもよい。
例えば、上述の図47〜図49で説明したように、受光素子252bからの受光信号の入力が解除されてから、第1のプリセット時間経過後に基準周期T0を第1の周期とする。また、受光素子252bからの受光信号の入力が解除されてから第2のプリセット時間経過後に第1の周期を第2の周期とする処理を実行すればよい。
なお、図47中、ステップ1106〜ステップ1108は、光センサ252を入力装置200に適用した場合の、特有の処理である。したがって、光センサ252を入力装置以外の電子機器などに適用した場合、ステップ1106〜ステップ1108は、その電子機器特有の処理を実行させればよい。
上記光センサにおいて、前記受光素子は、前記検出された前記光の強さに応じた受光信号を出力し、前記光センサは、前記受光信号の出力値の変化量に応じて受光信号が入力されたか否かを判定する判定手段をさらに具備していてもよい。
例えば、図53及び図54で説明した処理を実行して、受光信号が入力されたか否かを判定すればよい。これにより、外乱光の影響を効果的に除去することができる。
あるいは、図55で説明した処理を実行してもよい。つまり、MPUは、受光素子252bからの出力電圧をサンプリングしてデジタル信号に変換することで出力電圧の変化量を認識し、受光信号が入力されたか否かを判定すればよい。これにより、発光素子252aが発光する時間を短縮することができるため、光センサ252の消費電力をさらに低減することができる。さらに、出力電圧の変化量に応じて受光信号が入力されたか否かを判定するため、外乱光の影響を効果的に除去することができる。
また、外乱光の影響を軽減するため、図58、及び図59で説明したように、レンズ部材255の上面255a、あるいは、受光素子252bの受光面に光学薄膜(波長選択膜)が形成されていてもよい。つまり、上記光センサは、前記受光素子に照射される前記光のうち、前記発光素子から発せられる前記光の波長領域に属する光を選択的に透過させる波長選択領域をさらに具備してもよい。発光素子252aは、950nm付近を中心波長とした近赤外線に属する光を照射し、受光素子252bは、950nm付近に相対感度のピーク値を有していてもよい。この場合、光学薄膜は、例えば、900nm〜1000nmの波長領域の光を選択的に透過させ、900nm以下、及び1000nm以上の波長領域に属する光をカットするように形成される。
あるいは、図64、及び図65で説明したように、回路により外乱光の影響を軽減してもよい。すなわち、上記光センサにおいて、前記受光素子は、前記検出された前記光の強さに応じた受光信号を出力し、前記光センサは、前記受光信号を入力し、前記受光信号のDC成分を除去する除去手段と、前記DC成分が除去された前記受光信号の波形を整形する波形整形手段とを具備してもよい。これにより、外乱光の影響を効果的に除去することができる。
次に、操作部223が他の電子機器等に用いられる場合について説明する。
ところで、各種の電子機器の操作部として、二段階の押圧操作により操作される、いわゆる二段スイッチが広く用いられている。例えば、この二段階スイッチは、カメラなどに使用されている。この場合、例えば、一段目にオートフォーカス機能が割り当てられ、二段目にシャッター機能が割り当てられた形態が知られている。ユーザは、二段スイッチを一段目まで押圧し、いわゆる半押し状態を維持してカメラのピントを合わせる。そして、ユーザは、ピントが合ったことを確認して、二段目まで二段スイッチを押圧してシャッターを切る。
しかしながら、二段スイッチを一段目まで押圧して、半押し状態を維持するのは必ずしも容易ではなく、操作感が悪いという問題がある。例えば、ユーザが半押し状態を維持していると認識していても、実際は、二段スイッチの一段目まで押圧されておらず、オートフォーカス機能が作動していない場合がある。一方で、ユーザが二段スイッチを一段目まで押圧しようとして、二段目まで押圧してしまい、シャッターが切られてしまう場合がある。また、ユーザが二段スイッチを一段目まで押圧し、半押し状態を維持している場合に手振れが発生してしまい、ピントが合っているか否かがわかり難いという問題がある。
このような問題は、図31〜図38、図57、及び図60で説明した操作部223(決定ボタン211(または、決定ボタン411)及びスイッチを含む)により解決することができる。
この操作部223(センサモジュール)は、押圧面を有する押圧部材と、前記押圧面上にユーザの身体の存在を検出する検出領域を有するセンサと、前記押圧部材の押圧操作を検出する検出手段とを具備する。
「検出領域」には、空間的な領域及び平面的な領域が含まれる。センサは、反射型の光センサ252、透過型の光センサ452であってもよく、静電容量センサ352であってもよい。センサは、押圧面上に検出領域を形成することができるセンサであれば何が用いられてもよい。
これにより、ユーザは、検出領域に指を進入させることで、あるいは、検出領域に指を触れることで、例えば、カメラのオートフォーカス機能を作動させることができる。したがって、ユーザは、半押し状態を維持する必要がなくなるため、ストレスなく操作部を操作することができる。
また、上述の構成によれば、ユーザは、検出領域に指を進入させ、検出領域にある指を押圧する、という一連の簡単な指の操作により、操作部223を操作することができる。これにより、ユーザは、異なる2つの機能(例えばオートフォーカス機能とシャッター機能)を直感的に操作することができる。なお、操作部223は、カメラ以外の電子機器に使用されてももちろん構わない。
ここで、上述の図38では、操作部223が入力装置に適用された場合の処理について説明している。図38中、ステップ702、ステップ703、ステップ705、及びステップ707は、操作部223を入力装置に適用した場合の、特有の処理である。したがって、操作部223が入力装置以外の電子機器に適用された場合、上記各ステップは、その電子機器特有の処理が実行されればよい。
上記操作部において、前記センサは、前記検出領域に光を照射する発光素子と、前記検出領域で反射された前記光を検出する受光素子と、所定の周期で断続的に前記発光素子に電圧を供給するように前記電圧を制御し、前記周期によらず継続的に前記受光素子に電圧を供給するように前記電圧を制御する電圧制御手段とを有していてもよい。
上述の図39〜図41で説明したように、光センサ252が周期的に発光することで、光センサ252の消費電力を低減することができる。さらに、発光素子252aに断続的にパルス状の電圧が供給され、受光素子252bに継続的に電圧が供給されることで、受光素子270bに浮遊容量が発生することを防止することができる。これにより、受光素子252bの誤検出を防止することができる。
また、上記操作部は、前記周期を可変に制御する周期制御手段をさらに具備していてもよい。例えば、光センサが検出対象物の存在の有無を検出する必要性が少ない場合に、前記周期を長くすることで、さらに省電力化することができる。
典型的には、前記周期制御手段は、前記検出領域にユーザの身体の存在が検出されなくなってから前記存在が検出されるまでの時間が長くなるにしたがって前記周期が長くなるように前記周期を制御する。あるいは、前記周期制御手段は、前記センサに電源からの電力の供給が開始されてから前記検出領域にユーザの身体の存在が検出されるまでの時間が長くなるにしたがって前記周期が長くなるように前記周期を制御してもよい。
例えば、上述の図47〜図49で説明したように、受光素子252bからの受光信号の入力が解除されてから、第1のプリセット時間経過後に基準周期T0を第1の周期とする。また、受光素子252bからの受光信号の入力が解除されてから第2のプリセット時間経過後に第1の周期を第2の周期とする処理を実行すればよい。
なお、図47中、ステップ1106〜ステップ1108は、光センサ252を入力装置200に適用した場合の、特有の処理である。したがって、光センサ252を入力装置以外の電子機器などに適用した場合、ステップ1106〜ステップ1108は、その電子機器特有の処理を実行させればよい。
上記センサにおいて、前記受光素子は、前記検出された前記光の強さに応じた受光信号を出力し、前記センサは、前記受光信号を入力し、前記受光信号の出力値の変化量に応じて受光信号が入力されたか否かを判定する判定手段をさらに具備していてもよい。
例えば、図53及び図54で説明した処理により、受光信号が入力されたか否かが判定されればよい。これにより、外乱光の影響を効果的に除去することができる。
あるいは、図55で説明した処理を実行してもよい。つまり、MPUは、受光素子252bからの出力電圧をサンプリングしてデジタル信号に変換することで出力電圧の変化量を認識し、受光信号が入力されたか否かを判定してもよい。これにより、発光素子252aが発光する時間を短縮することができるため、光センサ252の消費電力をさらに低減することができる。さらに、出力電圧の変化量に応じて受光信号が入力されたか否かを判定するため、外乱光の影響を効果的に除去することができる。
また、外乱光の影響を軽減するため、図58及び図59で説明したように、レンズ部材255の上面255a、あるいは、受光素子252bの受光面に光学薄膜(波長選択膜)が形成されていてもよい。つまり、上記センサは、前記検出領域に光を照射する発光素子と、前記検出領域で反射された前記光を検出する受光素子と、前記受光素子に照射される前記光のうち、前記発光素子から発せられる前記光の波長領域に属する光を選択的に透過させる波長選択領域とを有していてもよい。発光素子252aは、950nm付近を中心波長とした近赤外線に属する光を照射し、受光素子252bは、950nm付近に相対感度のピーク値を有していてもよい。この場合、光学薄膜は、例えば、900nm〜1000nmの波長領域の光を選択的に透過させ、900nm以下、及び1000nm以上の波長領域の光をカットするように形成される。
あるいは、図64及び図65で説明したように、回路により外乱光の影響を軽減してもよい。すなわち、上記操作部において、前記受光素子は、前記検出された前記光の強さに応じた受光信号を出力し、前記操作部は、前記受光信号を入力し、前記受光信号のDC成分を除去する除去手段と、前記DC成分が除去された前記受光信号の波形を整形する波形整形手段とを具備してもよい。これにより、外乱光の影響を効果的に除去することができる。
以上説明した各実施形態は、ハンドヘルド装置にも適用可能である。ハンドヘルド装置は、例えば入力装置のようなデバイスに表示部が設けられ、その表示部にポインタやその他の画像が表示されるデバイスである。この場合、ハンドヘルド装置に、動きセンサ、各種の2段スイッチが適用され得る。各種の2段スイッチとは、図7、図22に示した2段階プッシュ式スイッチ、あるいは、図37、図57、図60、図62、図68〜80に示した光センサを用いた2段スイッチである。また、上記各実施形態がハンドヘルド装置に適用される場合、ハンドヘルド装置は、図12(ステップ116、117の速度値の送信及び受信は除く。)、図17、図19、図20、図38、図43、図44、図46、図47、図50、図54、図56、図61、または、図63〜65の処理を実行することができる。
ハンドヘルド装置としては、例えば携帯電話機、小型PC、PDA(Personal Digital Assistance)等が挙げられる。
上記各実施の形態に係る入力装置は、無線で入力情報を制御装置に送信する形態を示したが、有線により入力情報が送信されてもよい。
上記各実施の形態では、入力装置などの動きに応じて画面上で動くポインタ2を、矢印の画像として表した。しかし、ポインタ2の画像は矢印に限られず、単純な円形、角形等でもよいし、キャラクタ画像、またはその他の画像であってもよい。
センサユニット17等の、角速度センサユニット15及び加速度センサユニット16の検出軸は、上述のX’軸及びY’軸のように必ずしも互いに直交していなくてもよい。その場合、三角関数を用いた計算によって、互いに直交する軸方向に投影されたそれぞれの加速度が得られる。また同様に、三角関数を用いた計算によって、互いに直交する軸の周りのそれぞれの角速度を得ることができる。
また、以上の各実施の形態で説明したセンサユニット17について、角速度センサユニット15のX’及びY’の検出軸と、加速度センサユニット16のX’及びY’軸の検出軸がそれぞれ一致している形態を説明した。しかし、それら各軸は、必ずしも一致していなくてもよい。例えば、角速度センサユニット15及び加速度センサユニット16が基板上に搭載される場合、角速度センサユニット15及び加速度センサユニット16の検出軸のそれぞれが一致しないように、角速度センサユニット15及び加速度センサユニット16がその基板の主面内で所定の回転角度だけずれて搭載されていてもよい。その場合、三角関数を用いた計算によって、各軸の加速度及び角速度を得ることができる。
次に、光センサが搭載されたスイッチモジュールについて説明する。
図69は、一実施形態に係るスイッチモジュールを示す断面図である。図70は、その分解断面図であり、図71は、このスイッチモジュールの平面図である。
このスイッチモジュール230は、シールドケース131と、弾性材133と、センサモジュール体500と、カバー132とを備える。
シールドケース131は、そのシールドケース131の本体を貫通した収容スペース131aを有し、この収容スペース131aにセンサモジュール体500が嵌め込まれるように収容されている。収容スペース131aはその本体を貫通しておらず、シールドケース131は、底を有していてもよい。シールドケース131は、カバー132とセンサモジュール体500とを支持する支持体として機能する。
シールドケース131は、上記した外乱光を遮断するような材料で構成される。その材料は、樹脂、金属等、公知の材料が用いられればよい。シールドケース131は、例えば円筒形でなるが、角柱等、その他の形状を有していてもよい。
センサモジュール体500は、発光素子501及び受光素子502を含む光センサ510と、発光素子501及び受光素子502を一体的に保持する保持ケース503とを有する。保持ケース503は、凹部504及び505を有し、これら凹部504及び505内で、発光素子501及び受光素子502が封止材507にそれぞれ封止されて、保持ケース503に一体的に保持されている。
封止材507は、発光素子501から発せられた所定の波長領域を有する光(上記した赤外光や可視光等)が透過できるような材料が用いられればよい。その材料は、例えば、アクリル、ポリカーボネート、PET、PMMA、ABS等の公知の樹脂材料が用いられればよい。
光センサ510は、発光素子501及び受光素子502を有する等、上記光センサ252と同様の構成でなっていればよい。発光素子501及び受光素子502の間には、発光素子501から発せられた光を受光素子502が直接受けないようにするための、その光を遮蔽する壁部材506が設けられている。すなわち、壁部材506は、図37等で示した遮光板256の機能を有する。壁部材506は、例えば保持ケース503のほぼ中央に立設されている。保持ケース503は、角柱状を有するが、円筒状、あるいはその他の形状を有していてもよい。
カバー132は、ユーザの接触による力(押圧力も含む。)が加えられることが可能に設けられている。カバー132の上面側に、上記したように光センサ510に検出領域が設けられ、例えばカバー132の上面は、上記したようにユーザの指98が触れる接触面となる。しかし、このカバー132上にさらに別の図示しないカバー材、例えば化粧板等が装着される場合もある。その場合、その化粧版を介してカバー132にユーザにより力が加えられる。上記した操作部223(センサモジュール)の押圧部材も、このカバー132と実質的に同様の構成及び機能を有する。
カバー132は、カバー132とセンサモジュール体500との間に吸収領域が設けられるように、シールドケース131の上端に装着されている。ここでは、その吸収領域は弾性材133である。
カバー132の材料は、発光素子501から発せられた所定の波長領域を有する光(上記した赤外光や可視光等)が透過できるような材料が用いられればよい。その材料は、例えば、アクリル、ポリカーボネート、PET、PMMA、ABS等の公知の材料が用いられればよい。カバー132の材料は、上記封止材507の材料と同じであってもよいし、異なっていてもよい。
弾性材133は、上記したように、カバー132とセンサモジュール体500との間に設けられた、ユーザによってカバー132に加えられる力を吸収する吸収領域を構成する。弾性材133は、ゴム、アルファゲル、その他の樹脂等、公知の材料が用いられればよい。
封止材507、弾性材133及びカバー132がすべて同じ材料であってもよいし、異なる材料であってもよい。特に、例えば、封止材507及び弾性材133(または、各部材507、133及び132のすべて)が実質的に同じかまたは近い光の屈折率を有していれば、図69で、破線で示す光線のような反射光の発生を効果的に防止することができる。反射光が発生する場合、その反射光が受光素子502に入射し、上記したような外乱光を受光素子502が受ける場合と同様に誤検出が生じるおそれがあるが、本実施形態では、そのような誤検出を防止できる。
以上のように、本実施形態では、弾性材133がカバー132とセンサモジュール体500との間に設けられている。これにより、ユーザによりカバー132に力が加えられても、センサモジュール体500が損傷する等の懸念を解消することができる。
図72は、他の実施形態に係るスイッチモジュールを示す断面図である。これ以降の説明では、図69等に示した実施形態に係るスイッチモジュール130が含む部材や機能等について同様のものは説明を簡略または省略し、異なる点を中心に説明する。
スイッチモジュール140は、上記吸収領域が空間143である点が上記スイッチモジュール130と異なる。このように空間143により、ユーザによりカバー132に加えられる力を吸収し、センサモジュール体500の損傷を防ぐことができる。
スイッチモジュール140において、破線の矢印で示すカバー132での反射光を取り除きたい場合、図73に示すスイッチモジュール150のように、カバー132の、吸収領域が設けられる側、すなわち下面側に反射防止膜155が設けられていればよい。反射防止膜155は、カバー132の上面側(検出領域側)に設けられてもよいし、あるいは、カバー132の下面側及び上面側の両方に設けられてもよい。
あるいは、上記反射防止膜155の代わりに、または反射防止膜155に積層されるように、図示しない波長選択膜が設けられていてもよい。波長選択膜は、上述した波長選択膜でよい。波長選択膜は、発光素子501から受光素子502への光路中であれば、どこに配置されてもかまわない。
図74は、さらに別の実施形態に係るスイッチモジュールを示す断面図である。
スイッチモジュール160のカバー142は、その下面側に突起部142aを有する。この突起部142aが、発光素子501によるカバー142の下面での反射光を遮るので、受光素子502がその反射光を検出することを防止できる。突起部142aは、図74に示したように、その断面が三角形に構成されている必要はなく、その断面が四角以上の多角形であってもよい。
例えば、図75に示すスイッチモジュール170のように、レンズ形状である突起部144aがカバー144の下面側に設けられている場合、次のような効果がある。突起部144aは、受光素子502への反射光の到達を防止できるとともに、図37に対応する実施形態で説明したように、ユーザの指からの反射光を効率良く受光素子502に集めることが可能となる。
図76は、さらに別の実施形態に係るスイッチモジュールを示す断面図である。
スイッチモジュール180の吸収領域は、空間143と、その空間143内に設けられた弾性材135によって構成される。弾性材135は、例えば保持ケース503の壁部材506上で、その壁部材506に延長されるように設けられ、弾性材135の上端がカバー132の下面に接触している。弾性材135の幅d1は、壁部材506の幅d2と実質的に同じに構成されるが、多少異なっていてもよい。あるいは、弾性材135の幅d1は、図69で示した弾性材133の幅より狭く、幅d2よりは広く形成されていてもよい。
壁部材135は、発光素子501によるカバー132の下面での反射光を遮るので、受光素子502がその反射光を検出することを防止でき、かつ、カバー132に加えられる力を効果的に吸収することができる。
あるいは、図77に示すスイッチモジュール190のように、弾性材135が反射光を遮ることができれば、弾性材135の下端が壁部材506に接触していなくてもよい。あるいは、図示しないが、弾性材135の下端が壁部材506に接触し、その上端がカバー132に接触していなくてもよい。
図78は、さらに別の実施形態に係るスイッチモジュールを示す断面図である。
スイッチモジュール210のカバー172は、その上面側に設けられた透過開口面137から、センサモジュール体500側に向けて徐々に広がるように形成された、センサモジュール体500の光路136を備えている。すなわち、光路136の上端である透過開口面137は、発光素子501及び受光素子502が配置される面を含む配置面Sより狭く形成されている。光路136の材料は、例えば封止材507の材料と同じものでよいが、異なる材料であってもよい。
このように、透過開口面137が狭く形成されることにより、次のような効果がある。例えば、ユーザの指98がカバー132に接触したときに、外乱光がセンサモジュール体500に入射することが防止される。特に、外乱光のうち赤外線は、ユーザの指98の肉の部分98aを通過しやすいが、骨の部分98bはその赤外線を吸収しやすいということが分かっている。したがって、ユーザに個人差はあるものの、骨98bの大きさに対応するような狭い透過開口面137が設けられることにより、赤外線を含む外乱光の入射を防ぐことができる。
図79は、さらに別の実施形態に係るスイッチモジュールを示す断面図である。
スイッチモジュール220は、カバー163に外乱光を遮蔽する遮蔽壁163aが設けられている点で、図78に示したスイッチモジュール210と異なる。すなわち、カバー163は、ユーザにより力を受ける側である透過開口面137を含む底部と、その底部より高さの高い遮蔽壁163aとで構成される凹形状の表面を有する。このカバー163が、平面で見て実質的に四角形状でなる場合、図80に示すように、遮蔽壁163aは、カバー163のその四角形の3辺に沿って設けられている。このように、ユーザの指98の先を囲うように遮蔽壁163aが設けられるので、センサモジュール体500へ外乱光が入射することを抑制できる。しかも、透過開口面137は狭く形成されているため、図78で示したように、指98の肉の部分98aを通過した外乱光の赤外線が、センサモジュール体500へ入射することを防止することができる。
また、このような凹形状の表面により、ユーザがカバー163に力を加えるときに、その遮蔽壁163aは、ユーザの指を透過開口面137の直上位置へガイドする機能を有する。このためユーザは視覚に限られず触覚によって容易にスイッチモジュール220の位置を認識することができる。
遮蔽壁163aは、カバー163の3辺に沿って設けられる場合に限られず、1、2、または4辺に設けられていてもよい。カバー163の平面で見た形が円形や楕円形である場合、遮蔽壁は、その円や楕円の周縁部に沿った箇所の少なくとも一部に設けられていればよい。
図69〜図80で示したスイッチモジュール130、140、150、160、170、180、190、210及び220が備える各特徴部分のうち、少なくとも2つの組合せを有するスイッチモジュールも実現可能である。例えば、図69で示した弾性材133が、スイッチモジュール160(図74参照)、210(図78参照)及び220(図79参照)に設けられていてもよい。あるいは、スイッチモジュール220の遮蔽壁163aが、他のスイッチモジュール130、140、150、160、170、180及び190に設けられていてもよい。
以上説明したスイッチモジュール130、140、150、160、170、180、190、210及び220は、もちろん、図31及び図32等で示した、プッシュ式のスイッチ上に設けられ、2段スイッチとして構成されてもよい。
1.検出領域と、前記検出領域内で検出対象物を検出するために光を出射する発光素子と、前記発光素子から発せられた光を検出する受光素子とを有する検出ユニットと、
所定の周期で断続的に前記発光素子に電圧を供給するように前記電圧を制御し、前記周期によらず継続的に前記受光素子に前記電圧を供給するように前記電圧を制御する電圧制御手段と
を具備する光センサ。
2.請求項1に記載の光センサであって、
前記周期を可変に制御する周期制御手段をさらに具備する光センサ。
3.請求項2に記載の光センサであって、
前記周期制御手段は、前記検出対象物が検出されなくなってから前記検出対象物が検出されるまでの時間が長くなるにしたがって前記周期が長くなるように前記周期を制御する光センサ。
4.請求項2に記載の光センサであって、
前記周期制御手段は、前記光センサに電源からの電力の供給が開始されてから前記検出対象物が検出されるまでの時間が長くなるにしたがって前記周期が長くなるように前記周期を制御する光センサ。
5.請求項1に記載の光センサであって、
前記受光素子は、前記検出された光の強さに応じた受光信号を出力し、
前記光センサは、前記受光信号の出力値の変化量に応じて受光信号が入力されたか否かを判定する判定手段をさらに具備する光センサ。
6.請求項5に記載の光センサであって、
前記周期で発光する前記発光素子の、発光時における前記受光信号の出力値及び消灯時における前期受光信号出力値の差が所定の閾値を超えるか否かに応じて前記受光信号の入力を判定する入力装置。
7.請求項1に記載の光センサであって、
前記受光素子に照射される前記光のうち、前記発光素子から発せられる前記光の波長領域に属する光を選択的に透過させる波長選択領域をさらに具備する光センサ。
8.請求項1に記載の光センサであって、
前記受光素子は、前記検出された前記光の強さに応じた受光信号を出力し、
前記光センサは、
前記受光信号を入力し、前記受光信号のDC成分を除去する除去手段と、
前記DC成分が除去された前記受光信号の波形を整形する波形整形手段と
をさらに具備する光センサ。
9.請求項1に記載の光センサであって、
ユーザにより押圧される押圧面を有し、前記押圧面上に前記検出領域が配置されるように設けられた押圧部材と、
前記押圧部材の押圧操作を検出する検出手段と
を具備する光センサ。
10.ユーザにより押圧される押圧面を有し、光を透過させる透過材でなる透過部材と、
前記押圧面上に前記ユーザの身体の存在を検出する検出領域を有する光センサと、
前記押圧部材と、前記光センサとを一体的に支持する支持部材と、
前記押圧部材の押圧操作を検出する検出手段と
を具備するセンサモジュール。
11.請求項10に記載のセンサモジュールであって、
前記光センサは、前記透過部材により樹脂封止されている入力装置。
12.請求項10に記載のセンサモジュールであって、
前記光センサは、
前記検出領域に前記光を出射する発光素子と、
前記発光素子から前記検出領域に向かう方向とは異なる方向に前記発光素子と並ぶように配置され、前記光を検出する受光素子と
を有し、
前記支持部材は、
前記発光素子及び前記受光素子を保持する保持ベースと、
前記透過部材に当接するように、前記発光素子及び前記受光素子の間で前記保持ベース上に設けられ、前記発光素子からの前記光を遮蔽する遮光部材と
を有する入力装置。
制御装置40は、入力装置1の単位時間当りのヨー方向の変位を、画面3上のX軸上でのポインタ2の変位量に変換し、入力装置1の単位時間当りのピッチ方向の変位を、画面3上のY軸上でのポインタ2の変位量に変換することにより、ポインタ2を移動させる。典型的には、例えば図12に示す例では、制御装置40のMPU35は、所定のクロック数ごとに供給されてくる速度値について、(n−1)回目に供給された速度値に、n回目に供給された速度値を加算する。これにより、当該n回目に供給された速度値が、ポインタ2の変位量に相当し、ポインタ2の画面3上の座標情報が生成される。