スイッチ装置
【課題】 清掃スイッチのような特別なハードウエアを設けることなく、スイッチを機能させるためではない動作を判別して、誤動作を防止することのできるスイッチ装置を提供する。
【手段】 スイッチモジュールM1、M2、M3・・・Mnが連続して配置されている。各スイッチモジュールM1、M2、M3・・・Mnは、当該モジュールが有するスイッチ面に指が近接すると静電容量が変化するように構成されている。検出部2は、各スイッチモジュールM1、M2、M3・・・Mnの静電容量の時間的変化を検出し、いずれのスイッチモジュールM1、M2、M3・・・Mnが指によって操作されたかを判断し、スイッチ出力をするものである。
検出部2の操作意図判断手段4は、隣接するスイッチモジュールの静電容量の時間的変化が、オーバーラップする度合いに基づいて、いずれかのスイッチモジュールM1、M2、M3・・・Mnを機能させようとするものであるか、そうでないかを判断する。
【手段】 スイッチモジュールM1、M2、M3・・・Mnが連続して配置されている。各スイッチモジュールM1、M2、M3・・・Mnは、当該モジュールが有するスイッチ面に指が近接すると静電容量が変化するように構成されている。検出部2は、各スイッチモジュールM1、M2、M3・・・Mnの静電容量の時間的変化を検出し、いずれのスイッチモジュールM1、M2、M3・・・Mnが指によって操作されたかを判断し、スイッチ出力をするものである。
検出部2の操作意図判断手段4は、隣接するスイッチモジュールの静電容量の時間的変化が、オーバーラップする度合いに基づいて、いずれかのスイッチモジュールM1、M2、M3・・・Mnを機能させようとするものであるか、そうでないかを判断する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明はスイッチ装置に関し、特にスイッチを機能させるための動作ではない場合を判断して、誤動作を防止するスイッチ装置に関するものである。
【背景技術】
【0002】
タッチパネルなどのスイッチ装置においては、その汚れを取るために清掃を行うと、操作がなされたものと誤認識されて誤動作を生じることがある。このような問題を解決するため、特許文献1においては、清掃モードのためのスイッチを設けるようにしている。
【0003】
清掃モードスイッチがオンであれば、これをシステムが検知して清掃モードであると判断する。清掃モードにおいては、タッチパネルからの出力を出さないようにして誤動作を防止している。このように、特許文献1の技術によれば、タッチパネルを清掃する際の誤動作を防止することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−362518
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の技術では、システムが清掃モードスイッチのオン・オフを検知する必要があるので、システムがスタンバイ状態の場合には清掃モードに入ることができないという問題がある。たとえば、タッチパネルのスイッチにシステムをスタンバイ状態から動作状態に変更するスイッチが含まれている場合、清掃のためにタッチパネルを拭くと、システムがスタンバイ状態から動作状態になるという意図しない動作がなされる可能性がある。
【0006】
以上では、清掃を行う場合について説明したが、清掃以外にも不用意にタッチパネルなどのスイッチに触れてしまう場合にも同様の問題が生じる。
【0007】
そこで、この発明では、清掃スイッチのような特別なハードウエアを設けることなく、スイッチを機能させるためではない動作を判別して、誤動作を防止することのできるスイッチ装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
(1)この発明に係るスイッチ装置は、スイッチ面に対する指の近接度合いにより静電容量が変化するスイッチモジュールを複数並べたスイッチモジュール群と、前記スイッチモジュールの静電容量の変化に基づいて、いずれのスイッチ面が操作されたかを検出する検出部とを備えたスイッチ装置において、前記検出部は、隣接するスイッチモジュールの静電容量の時間的変化が、互いにオーバラップする度合いに基づいて、スイッチ装置を機能させようとする操作であるか、そうでないかを判断する操作意図判断手段を備えたことを特徴としている。
【0009】
したがって、特別なハードウエアを設けることなく、スイッチを機能させるためではない動作を判別して、誤動作を防止することができる。
【0010】
(2)この発明に係るスイッチ装置は、操作意図判断手段が、さらに、対象とする全てのスイッチモジュールの静電容量のうちの最大値の時間的変化において、当該最大値が、時間経過とともに隣接するスイッチモジュールに移動することを、意図的でない操作と判断するための一条件とすることを特徴としている。
【0011】
したがって、より正確に、スイッチを機能させるためではない動作を判別することができる。
【0012】
(3)この発明に係るスイッチ装置は、操作意図判断手段が、さらに、静電容量の時間的変化の傾きも、スイッチ装置を機能させようとする操作であるか、そうでないかを判断するための一要素とすることを特徴としている。
【0013】
したがって、より正確に、スイッチを機能させるためではない動作を判別することができる。
【0014】
(4)この発明に係るスイッチ装置は、スイッチ面に対する検出対象物の位置関係により電気的特性が変化するスイッチモジュールを複数並べたスイッチモジュール群と、前記スイッチモジュールの電気的特性の変化に基づいて、いずれのスイッチ面が操作されたかを検出する検出部とを備えたスイッチ装置において、前記検出部は、隣接するスイッチモジュールの電気的特性の時間的変化が、互いにオーバラップする度合いに基づいて、スイッチ装置を機能させようとする操作であるか、そうでないかを判断する操作意図判断手段を備えたことを特徴としている。
【0015】
したがって、特別なハードウエアを設けることなく、スイッチを機能させるためではない動作を判別して、誤動作を防止することができる。
【0016】
「スイッチモジュール群」は、実施形態においては、図1、図4のスイッチモジュールM1、M2・・・Mnがこれに対応する。
【0017】
「検出部」は、実施形態においては、検出回路D、A/D変換器Aがこれに対応する。
【0018】
「操作意図判断手段」は、実施形態においては、ステップS4、S5、S6、S7、S8、S9、S10がこれに対応する。
【0019】
「プログラム」とは、CPUにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【図面の簡単な説明】
【0020】
【図1】図1は、この発明の一実施形態によるスイッチ装置の全体構成を示す図である。
【図2】図2は、静電容量のオーバーラップの有無を示す図である。
【図3】図3は、スイッチ装置の外観を示す図である。
【図4】図4は、スイッチ装置のハードウエア構成を示す図である。
【図5】図5は、検出部の詳細を示す図である。
【図6】図6は、検出プログラムのフローチャートである。
【図7】図7は、検出プログラムのフローチャートである。
【図8】図8は、2つのスイッチユニットを連続して意図的に操作した場合の静電容量の変化を記録したテーブルである。
【図9】図9は、スイッチユニットを掃除した場合の静電容量の変化を記録したテーブルである。
【図10】図10は、2つのスイッチユニットを素早く連続して意図的に操作した場合の静電容量の変化を記録したテーブルである。
【図11】図11は、スイッチユニットを掃除した場合の静電容量の変化を記録したテーブルである。
【図12】図12は、意図的に2つのスイッチユニットを操作した場合の静電容量の変化を記録したテーブルである。
【図13】図13Aは、意図的な操作をリアルタイムに判断する場合を示すための図である。図13Bは、掃除による静電容量の変化をリアルタイムに判断する場合を示すための図である。
【発明を実施するための形態】
【0021】
1.全体構成
図1に、この発明の一実施形態によるスイッチ装置の構成を示す。スイッチモジュールM1、M2、M3・・・Mnが連続して配置されている。各スイッチモジュールM1、M2、M3・・・Mnは、当該モジュールが有するスイッチ面に指が近接すると静電容量が変化するように構成されている。検出部2は、各スイッチモジュールM1、M2、M3・・・Mnの静電容量の時間的変化を検出し、いずれのスイッチモジュールM1、M2、M3・・・Mnが指によって操作されたかを判断し、スイッチ出力をするものである。
【0022】
検出部2の操作意図判断手段4は、隣接するスイッチモジュールの静電容量の時間的変化が、オーバーラップする度合いに基づいて、いずれかのスイッチモジュールM1、M2、M3・・・Mnを機能させようとするものであるか、そうでないかを判断する。この実施形態では、オーバーラップする時間と静電容量の積が、所定のしきい値を超えている場合には、スイッチモジュールM1、M2、M3・・・Mnを機能させようとするものではない(たとえば、清掃を行っている)と判断する。スイッチモジュールM1、M2、M3・・・Mnを機能させようとするものでないと判断した場合には、検出部はスイッチ出力を行わない。
【0023】
たとえば、スイッチモジュールM1を指で操作し、その指を離して、次にスイッチモジュールM2を操作した場合の静電容量の変化は、図2Aのようになる。つまり、意図的な操作の場合には、2つのスイッチモジュールの静電容量の時間的変化はオーバーラップしない。これに対し、スイッチモジュールを清掃するため汚れを拭き取る動作を行った場合には、図2Bに示すように、隣接する2つのスイッチモジュールの静電容量の時間的変化はオーバーラップする(図2BのOL参照)。
【0024】
この実施形態では、上記のオーバラップを検出することにより、意図的でない操作を判断するようにしている。
【0025】
2.ハードウエア構成
図3に、この発明の一実施形態によるスイッチ装置の外観を示す。スイッチモジュールM1、M2、M3・・・Mnは、図に示すように、所定間隔を空けて横に並べて配置されている。各スイッチモジュールM1、M2、M3・・・Mnの表面には、操作内容を示す記号が記載されいる。各記号の下には、それぞれ、図4に示すような検出電極DEが設けられている。さらに、検出電極DEの周囲にはシールド電極SEが設けられている。
【0026】
図4に、スイッチ装置のハードウエア構成を示す。スイッチモジュールM1、M2・・・Mnは、それぞれ、検出電極DE1、DE2・・・DEn、シールド電極SE1、SE2・・・SEnを備えている。検出回路D1は、スイッチモジュールM1の検出電極DE1とシールド電極SE1間の静電容量を検出する。A/D変換器A1は、検出された静電容量をディジタルデータに変換する。スイッチモジュールM2・・・Mnにも、同様に、検出回路D2・・・Dn、A/D変換器A2・・・Anが接続されている。
【0027】
図5に、スイッチモジュールM、検出回路D、A/D変換器A、キャッシュメモリCMの詳細を示す。検出電極DEの周囲には、シールド電極SEが設けられている。高周波発振回路GENによって、シールド電極SEに高周波信号が供給されている。検出回路Dは、検出電極DEとシールド電極SEとの間のインピーダンスを計測し、当該インピーダンスに対応するアナログ電圧を出力する。
【0028】
検出電極DEに指が近接すると、検出電極DEとシールド電極SEとの間の静電容量が増加する。検出回路Dは、この時のインピーダンスの変化を検知して、静電容量に対応するアナログ電圧を出力する。A/D変換器Aは、これをディジタルデータに変換する。キャッシュメモリCMは、このディジタルデータを保持する。このように、キャッシュメモリCMには、A/D変換器Aのサンプリング間隔に応じて、計測した静電容量値が更新されて記録される。
【0029】
図4に戻って、CPU10には、これらA/D変換器A1、A2・・・An、メモリ8、フラッシュメモリ12、I/Oインターフェイス14が接続されている。フラッシュメモリ12には、検出プログラム16が記録されている。CPU10は、各スイッチモジュールM1、M2・・・Mnの静電容量を取得し、この検出プログラム16にしたがって、いずれのスイッチモジュールが操作されたかを判断するものである。CPU10は、操作されたと判断したスイッチモジュールM1、M2・・・Mnを特定する符号(スイッチモジュールの番号など)を、I/Oインターフェイス14から機器(アンプなど)に出力する。
【0030】
3.検出プログラム16の処理
図6、図7に、検出プログラム16のフローチャートを示す。なお、以下の実施形態では、M1、M2・・・M5の5つのスイッチモジュールがある場合を例として説明する。
【0031】
CPU10は、まず、キャッシュメモリCM1、CM2・・・CM5の記録内容(計された静電容量値)を固定し、新たな書き込みを禁止する(ステップS1)。これは、キャッシュメモリCM1、CM2・・・CM5の記録内容を順次読み取ってメモリ8に記録する際に、キャッシュメモリCM1、CM2・・・CM5の内容が更新されないようにするためである。これにより、各スイッチモジュールM1、M2・・・M5について、同一時刻の静電容量を取得することができる。
【0032】
次に、CPU10は、キャッシュメモリCM1、CM2・・・CM5に記録された静電容量の値を、順次読み出してメモリ8のテーブルに記録する(ステップS2)。これにより、たとえば図8の1行目(サンプリング時間「1」)に示すように、各スイッチモジュールM1、M2・・・M5に対応して、静電容量が記録される。ここでは、各スイッチモジュールM1、M2・・・M5の静電容量は「0」であるとしてテーブルに記録されている。
【0033】
次に、CPU10は、20サンプリング分の静電容量をテーブルに記録したかどうかを判断する(ステップS3)。ここでは、まだ1サンプル分しか記録していないのでステップS4に進む。この実施形態では、テーブルへの記録間隔(サンプリングタイム)は、0.1m秒としている。一方、A/D変換器A1、A2・・・Anのサンプリング間隔は、0.05m秒である。したがって、テーブルへの書き込みは、間引いて行われていることになる。
【0034】
次に、CPU10は、禁止していたキャッシュメモリへの書き込みを許可状態にする(ステップS14)。続いて、CPU10は、前回のテーブルへの書き込みから0.1m秒が経過したかどうかを判断する(ステップS15)。経過していなければ待機する。経過していれば、ステップS1以下を繰り返し実行する。つまり、各スイッチモジュールM1、M2・・・M5の静電容量をテーブルに記録する。
【0035】
この処理を繰り返すと、図8に示すように、20サンプリング分の静電容量がテーブルに記録されることになる(単位はμFである)。20サンプリング分の静電容量の記録が完了すると、CPU10は、解析処理を行う。
【0036】
解析処理において、CPU10は、各サンプリング時刻における静電容量の最大値を決定する。図8のデータであれば、サンプリング時刻「1」における最大値は「0」、サンプリング時刻「2」における最大値は「1」、サンプリング時刻「3」における最大値は「3」である。CPU10は、このようにして算出した静電容量の最大値をテーブルに記録する(ステップS4)。このようにして記録された最大値を、図8の最大値(A)に示す。
【0037】
次に、CPU10は、各サンプリング時刻における静電容量の合計値を算出する。図8のデータであれば、サンプリング時刻「1」における合計値は「0」、サンプリング時刻「2」における合計値は「1」、サンプリング時刻「3」における合計値は「3」である。CPU10は、このようにして算出した静電容量の合計値をテーブルに記録する(ステップS5)。このようにして記録された合計値を、図8の合計値(B)に示す。
【0038】
なお、図8に示すのは、スイッチモジュールM1が操作され、指が離された後、スイッチモジュールM2が操作された場合の静電容量変化である。この場合には、同図下の時間変化のグラフに示すように、スイッチモジュールM1の静電容量と、スイッチモジュールM2の静電容量がオーバーラップしない。
【0039】
このように、オーバラップがない場合には、各時刻における最大値と合計値がほぼ等しくなる。この実施形態では、最大値と合計値がほぼ等しくなることを見いだすことで、オーバーラップがないことを判断している。
【0040】
そこで、CPU10は、各時刻における合計値(B)から最大値(A)を減じ、差(C)を算出し、テーブルに記録する(ステップS6)。このようにして記録された差を、図8の(C)の欄に示す。
【0041】
続いて、CPU10は、図8のテーブルのすべての時刻における差(C)の最大値を算出し、これを判定値Xとする(ステップS7)。
【0042】
さらに、CPU10は、各時刻における最大の静電容量となったスイッチモジュールM1、M2・・・M5の識別符号を記録する(ステップS8)。このようにして記録された最大静電容量のスイッチモジュールの識別符号を、図8の(D)の欄に示す。この実施形態では、スイッチモジュールM1の識別符号を「1」、スイッチモジュールM2の識別符号を「2」・・・スイッチモジュールM5の識別符号を「5」としている。
【0043】
続いて、CPU10は、判定値Xが予め定めたしきい値以上であるかどうかを判断する(ステップS9)。前述のように、オーバーラップがある場合には、判定値Xは、所定の値を超えるはずである。判定値が所定のしきい値より小さい場合には、オーバーラップはないものと判断できる。
【0044】
図8の場合であれば、判定値Xは「0」であるから、オーバラップはないものとして処理を行う。CPU10は、ステップS13に進み、20サンプリングのうち、最後に極大値を示したスイッチモジュールが押されたものとして、その識別符号を、I/Oインターフェイス14から出力する(ステップS13)。
【0045】
続いて、CPU10は、図8のテーブルをクリアし、ステップS1以下を繰り返し実行する。
【0046】
掃除を行った場合には、記録された20サンプリング分の静電容量は、図9に示すようになる。ここでは、スイッチモジュールM1、スイッチモジュールM2、スイッチモジュールM3、スイッチモジュールM2、スイッチモジュールM1の順に、指を使って布などで汚れを拭き取ったものとしている。
【0047】
掃除の場合には、隣接するスイッチモジュール間において連続して指を移動させることになるので、図9の下のグラフに示すように、隣接するスイッチモジュールにおいて静電容量の時間的変化がオーバーラップすることになる。この実施形態では、これによりスイッチ操作を意図しない動きであると判断するようにしている。
【0048】
図9に示すように2サンプリング分の静電容量を記録すると、CPU10は、各時刻におけるスイッチモジュールM1、M2・・・M5の静電容量の最大値(A)および合計値(B)を取得して記録する(ステップS4、S5)。さらに、各時刻における合計値−最大値を算出し差(C)として記録する(ステップS6)。この差(C)の最大値を選択し、判定値Xを算出し記録する(ステップS7)。
【0049】
さらに、CPU10は、各時刻における最大の静電容量となったスイッチモジュールの識別符号を記録する(ステップS8)。図9の場合であれば、図11の(D)の欄に示すように記録されることになる。なお、この実施形態では、同一時刻において最大値を示すスイッチモジュールが2以上ある場合には、識別符号を記録しないようにしている((E)の欄参照のこと)。
【0050】
次に、CPU10は、判定値Xが所定のしきい値以上であるかどうかを判断する(ステップS9)。この実施形態では、しきい値を「3μF」としている。したがって、図9の場合には、判定値Xがこれを超えているので、オーバーラップ有りと判断し、ステップS10に進む。
【0051】
ステップS10においては、各時刻における最大の静電容量を示すスイッチモジュールの識別符号が、順に変化しているかどうかを判断する。掃除などの動作においては、当該識別符号が順次変化していくからである。CPU10は、図11の値(E)の変化が、順を追っているかを判断するために、時刻変化に伴う当該識別符号の増分を算出している(図11の値(F)参照)。たとえば、サンプリング時刻「4」における値(F)は、サンプリング時刻「4」における識別符号から、サンプリング時刻「3」における識別符号の値を減じたものである。
【0052】
CPU10は、このようにして算出した値(F)の最大値を判定値Yとし、判定値Yが1を超えていれば、順に変化していないと判断する。図11の例では、判定値Yは「1」であるから、最大の静電容量を有するスイッチモジュールは、順に変化していると判断できる。つまり、掃除による静電容量の変化であると判断することができる。したがって、CPU10は、ステップS11に進み、I/Oインターフェイス14からのスイッチ出力を行わない(無効とする)(ステップS11)。
【0053】
一方、図12に示すように、たとえオーバラップが生じていても、判定値Yが「1」を超えているような場合には、掃除などによる静電容量の変化であるとは判断しない。この場合には、CPU10は、意図的な操作であるとして、最後の極大値を出したスイッチモジュールM2が操作されたものとして出力を行う(ステップS13)。
【0054】
また、図10に示すように、2つのスイッチを続けて素早く押した場合にも、オーバラップが生じる。しかし、この場合には、オーバラップの値が小さく、掃除の場合と区別することができる。つまり、CPU10は、判定値Xがしきい値「3」以上でないことから、掃除による容量変化でないと判断することができる。
【0055】
4.その他の実施形態
(1)上記実施形態では、値Cに基づいてオーバーラップの有無を判断するようにしているが、静電容量値をグラフなどにプロットしてオーバラップの有無を判断するようにしてもよい。
【0056】
(2)上記実施形態では、オーバラップ部分の静電容量の最大値に基づいて、当該最大値がしきい値を超えているかどうかにより、オーバラップの有無を判断するようにしている。しかし、オーバラップ部分の継続時間に基づいて、当該継続時間がしきい値を超えているかどうかにより、オーバラップの有無を判断するようにしてもよい。
【0057】
さらに、最大値と継続時間の双方に基づいて、オーバラップの有無を判断するようにしてもよい。たとえば、図2Bに示すオーバラップの面積によって判断するようにしてもよい。
【0058】
(3)上記実施形態では、掃除による静電容量の変化を判定し、スイッチ出力を行わないようにしている。しかし、掃除以外であっても、意図せずにスイッチに連続的に触れた場合(スイッチモジュールに連続的に触れた場合)も同様に検出することができる。
【0059】
(4)上記実施形態では、ステップS13において、最後に極大値となったスイッチモジュールが押下されたものとして判断を行っている。しかし、極大値となった全てのスイッチが、その時刻順に押下されたものと判断するようにしてもよい。たとえば、図8の場合であれば、スイッチモジュールM1とスイッチモジュールM2が順に押下されたものと判断するようにしてもよい。
【0060】
(5)上記実施形態では、所定サンプリング数(上記では20サンプリング)の静電容量をテーブルに記録した後に、いずれのスイッチが押下されたのかを判断するようにしている。しかし、静電容量をテーブルに記録するとともに、そのサンプリング時刻毎に、いずれのスイッチが押下されたのかを判断するようにしてもよい。
【0061】
たとえば、図13Aに示すように、静電容量が極大値を示した後、しきい値THを下回るまでオーバラップがなければ、直ちに、スイッチモジュールM1が押下されたものと判断するようにしてもよい。この場合、図13Aのt1の時点で、スイッチモジュールM1の押下を判断することができる。
【0062】
また、図13Bに示すように、オーバラップしている静電容量がしきい値THを上回った時点で、掃除などによる静電容量の変化であると判断するようにしてもよい。この場合、図13Bのt2の時点で、掃除などによる静電容量の変化であると判断することができる。
【0063】
(6)上記実施形態では、オーバーラップの度合いと、最大値となったスイッチユニットが連続的に変化しているかどうかの双方によって、意図しない操作であるかどうかを判断するようにしている。しかし、そのいずれか一方のみで、判断するようにしてもよい。
【0064】
また、これらに加えて、あるいは単独で、静電容量の変化の傾きを判断要素としてもよい。スイッチを押下しようとする操作の場合には、静電容量の時間的変化が急峻であり、掃除などの場合には静電容量の変化がゆるやかである。
【0065】
(7)上記実施形態では、静電容量によって動作するスイッチについて本発明を適用した。しかし、圧力、光、インダクタンスなどによって動作するスイッチについても同様に本発明を適用することができる。
【0066】
また、カメラによって指を撮像し、指がスイッチ領域に入る面積の大きさによって、いずれのスイッチが押されたかを判断して動作するスイッチにも適用することができる。
【技術分野】
【0001】
この発明はスイッチ装置に関し、特にスイッチを機能させるための動作ではない場合を判断して、誤動作を防止するスイッチ装置に関するものである。
【背景技術】
【0002】
タッチパネルなどのスイッチ装置においては、その汚れを取るために清掃を行うと、操作がなされたものと誤認識されて誤動作を生じることがある。このような問題を解決するため、特許文献1においては、清掃モードのためのスイッチを設けるようにしている。
【0003】
清掃モードスイッチがオンであれば、これをシステムが検知して清掃モードであると判断する。清掃モードにおいては、タッチパネルからの出力を出さないようにして誤動作を防止している。このように、特許文献1の技術によれば、タッチパネルを清掃する際の誤動作を防止することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−362518
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の技術では、システムが清掃モードスイッチのオン・オフを検知する必要があるので、システムがスタンバイ状態の場合には清掃モードに入ることができないという問題がある。たとえば、タッチパネルのスイッチにシステムをスタンバイ状態から動作状態に変更するスイッチが含まれている場合、清掃のためにタッチパネルを拭くと、システムがスタンバイ状態から動作状態になるという意図しない動作がなされる可能性がある。
【0006】
以上では、清掃を行う場合について説明したが、清掃以外にも不用意にタッチパネルなどのスイッチに触れてしまう場合にも同様の問題が生じる。
【0007】
そこで、この発明では、清掃スイッチのような特別なハードウエアを設けることなく、スイッチを機能させるためではない動作を判別して、誤動作を防止することのできるスイッチ装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
(1)この発明に係るスイッチ装置は、スイッチ面に対する指の近接度合いにより静電容量が変化するスイッチモジュールを複数並べたスイッチモジュール群と、前記スイッチモジュールの静電容量の変化に基づいて、いずれのスイッチ面が操作されたかを検出する検出部とを備えたスイッチ装置において、前記検出部は、隣接するスイッチモジュールの静電容量の時間的変化が、互いにオーバラップする度合いに基づいて、スイッチ装置を機能させようとする操作であるか、そうでないかを判断する操作意図判断手段を備えたことを特徴としている。
【0009】
したがって、特別なハードウエアを設けることなく、スイッチを機能させるためではない動作を判別して、誤動作を防止することができる。
【0010】
(2)この発明に係るスイッチ装置は、操作意図判断手段が、さらに、対象とする全てのスイッチモジュールの静電容量のうちの最大値の時間的変化において、当該最大値が、時間経過とともに隣接するスイッチモジュールに移動することを、意図的でない操作と判断するための一条件とすることを特徴としている。
【0011】
したがって、より正確に、スイッチを機能させるためではない動作を判別することができる。
【0012】
(3)この発明に係るスイッチ装置は、操作意図判断手段が、さらに、静電容量の時間的変化の傾きも、スイッチ装置を機能させようとする操作であるか、そうでないかを判断するための一要素とすることを特徴としている。
【0013】
したがって、より正確に、スイッチを機能させるためではない動作を判別することができる。
【0014】
(4)この発明に係るスイッチ装置は、スイッチ面に対する検出対象物の位置関係により電気的特性が変化するスイッチモジュールを複数並べたスイッチモジュール群と、前記スイッチモジュールの電気的特性の変化に基づいて、いずれのスイッチ面が操作されたかを検出する検出部とを備えたスイッチ装置において、前記検出部は、隣接するスイッチモジュールの電気的特性の時間的変化が、互いにオーバラップする度合いに基づいて、スイッチ装置を機能させようとする操作であるか、そうでないかを判断する操作意図判断手段を備えたことを特徴としている。
【0015】
したがって、特別なハードウエアを設けることなく、スイッチを機能させるためではない動作を判別して、誤動作を防止することができる。
【0016】
「スイッチモジュール群」は、実施形態においては、図1、図4のスイッチモジュールM1、M2・・・Mnがこれに対応する。
【0017】
「検出部」は、実施形態においては、検出回路D、A/D変換器Aがこれに対応する。
【0018】
「操作意図判断手段」は、実施形態においては、ステップS4、S5、S6、S7、S8、S9、S10がこれに対応する。
【0019】
「プログラム」とは、CPUにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【図面の簡単な説明】
【0020】
【図1】図1は、この発明の一実施形態によるスイッチ装置の全体構成を示す図である。
【図2】図2は、静電容量のオーバーラップの有無を示す図である。
【図3】図3は、スイッチ装置の外観を示す図である。
【図4】図4は、スイッチ装置のハードウエア構成を示す図である。
【図5】図5は、検出部の詳細を示す図である。
【図6】図6は、検出プログラムのフローチャートである。
【図7】図7は、検出プログラムのフローチャートである。
【図8】図8は、2つのスイッチユニットを連続して意図的に操作した場合の静電容量の変化を記録したテーブルである。
【図9】図9は、スイッチユニットを掃除した場合の静電容量の変化を記録したテーブルである。
【図10】図10は、2つのスイッチユニットを素早く連続して意図的に操作した場合の静電容量の変化を記録したテーブルである。
【図11】図11は、スイッチユニットを掃除した場合の静電容量の変化を記録したテーブルである。
【図12】図12は、意図的に2つのスイッチユニットを操作した場合の静電容量の変化を記録したテーブルである。
【図13】図13Aは、意図的な操作をリアルタイムに判断する場合を示すための図である。図13Bは、掃除による静電容量の変化をリアルタイムに判断する場合を示すための図である。
【発明を実施するための形態】
【0021】
1.全体構成
図1に、この発明の一実施形態によるスイッチ装置の構成を示す。スイッチモジュールM1、M2、M3・・・Mnが連続して配置されている。各スイッチモジュールM1、M2、M3・・・Mnは、当該モジュールが有するスイッチ面に指が近接すると静電容量が変化するように構成されている。検出部2は、各スイッチモジュールM1、M2、M3・・・Mnの静電容量の時間的変化を検出し、いずれのスイッチモジュールM1、M2、M3・・・Mnが指によって操作されたかを判断し、スイッチ出力をするものである。
【0022】
検出部2の操作意図判断手段4は、隣接するスイッチモジュールの静電容量の時間的変化が、オーバーラップする度合いに基づいて、いずれかのスイッチモジュールM1、M2、M3・・・Mnを機能させようとするものであるか、そうでないかを判断する。この実施形態では、オーバーラップする時間と静電容量の積が、所定のしきい値を超えている場合には、スイッチモジュールM1、M2、M3・・・Mnを機能させようとするものではない(たとえば、清掃を行っている)と判断する。スイッチモジュールM1、M2、M3・・・Mnを機能させようとするものでないと判断した場合には、検出部はスイッチ出力を行わない。
【0023】
たとえば、スイッチモジュールM1を指で操作し、その指を離して、次にスイッチモジュールM2を操作した場合の静電容量の変化は、図2Aのようになる。つまり、意図的な操作の場合には、2つのスイッチモジュールの静電容量の時間的変化はオーバーラップしない。これに対し、スイッチモジュールを清掃するため汚れを拭き取る動作を行った場合には、図2Bに示すように、隣接する2つのスイッチモジュールの静電容量の時間的変化はオーバーラップする(図2BのOL参照)。
【0024】
この実施形態では、上記のオーバラップを検出することにより、意図的でない操作を判断するようにしている。
【0025】
2.ハードウエア構成
図3に、この発明の一実施形態によるスイッチ装置の外観を示す。スイッチモジュールM1、M2、M3・・・Mnは、図に示すように、所定間隔を空けて横に並べて配置されている。各スイッチモジュールM1、M2、M3・・・Mnの表面には、操作内容を示す記号が記載されいる。各記号の下には、それぞれ、図4に示すような検出電極DEが設けられている。さらに、検出電極DEの周囲にはシールド電極SEが設けられている。
【0026】
図4に、スイッチ装置のハードウエア構成を示す。スイッチモジュールM1、M2・・・Mnは、それぞれ、検出電極DE1、DE2・・・DEn、シールド電極SE1、SE2・・・SEnを備えている。検出回路D1は、スイッチモジュールM1の検出電極DE1とシールド電極SE1間の静電容量を検出する。A/D変換器A1は、検出された静電容量をディジタルデータに変換する。スイッチモジュールM2・・・Mnにも、同様に、検出回路D2・・・Dn、A/D変換器A2・・・Anが接続されている。
【0027】
図5に、スイッチモジュールM、検出回路D、A/D変換器A、キャッシュメモリCMの詳細を示す。検出電極DEの周囲には、シールド電極SEが設けられている。高周波発振回路GENによって、シールド電極SEに高周波信号が供給されている。検出回路Dは、検出電極DEとシールド電極SEとの間のインピーダンスを計測し、当該インピーダンスに対応するアナログ電圧を出力する。
【0028】
検出電極DEに指が近接すると、検出電極DEとシールド電極SEとの間の静電容量が増加する。検出回路Dは、この時のインピーダンスの変化を検知して、静電容量に対応するアナログ電圧を出力する。A/D変換器Aは、これをディジタルデータに変換する。キャッシュメモリCMは、このディジタルデータを保持する。このように、キャッシュメモリCMには、A/D変換器Aのサンプリング間隔に応じて、計測した静電容量値が更新されて記録される。
【0029】
図4に戻って、CPU10には、これらA/D変換器A1、A2・・・An、メモリ8、フラッシュメモリ12、I/Oインターフェイス14が接続されている。フラッシュメモリ12には、検出プログラム16が記録されている。CPU10は、各スイッチモジュールM1、M2・・・Mnの静電容量を取得し、この検出プログラム16にしたがって、いずれのスイッチモジュールが操作されたかを判断するものである。CPU10は、操作されたと判断したスイッチモジュールM1、M2・・・Mnを特定する符号(スイッチモジュールの番号など)を、I/Oインターフェイス14から機器(アンプなど)に出力する。
【0030】
3.検出プログラム16の処理
図6、図7に、検出プログラム16のフローチャートを示す。なお、以下の実施形態では、M1、M2・・・M5の5つのスイッチモジュールがある場合を例として説明する。
【0031】
CPU10は、まず、キャッシュメモリCM1、CM2・・・CM5の記録内容(計された静電容量値)を固定し、新たな書き込みを禁止する(ステップS1)。これは、キャッシュメモリCM1、CM2・・・CM5の記録内容を順次読み取ってメモリ8に記録する際に、キャッシュメモリCM1、CM2・・・CM5の内容が更新されないようにするためである。これにより、各スイッチモジュールM1、M2・・・M5について、同一時刻の静電容量を取得することができる。
【0032】
次に、CPU10は、キャッシュメモリCM1、CM2・・・CM5に記録された静電容量の値を、順次読み出してメモリ8のテーブルに記録する(ステップS2)。これにより、たとえば図8の1行目(サンプリング時間「1」)に示すように、各スイッチモジュールM1、M2・・・M5に対応して、静電容量が記録される。ここでは、各スイッチモジュールM1、M2・・・M5の静電容量は「0」であるとしてテーブルに記録されている。
【0033】
次に、CPU10は、20サンプリング分の静電容量をテーブルに記録したかどうかを判断する(ステップS3)。ここでは、まだ1サンプル分しか記録していないのでステップS4に進む。この実施形態では、テーブルへの記録間隔(サンプリングタイム)は、0.1m秒としている。一方、A/D変換器A1、A2・・・Anのサンプリング間隔は、0.05m秒である。したがって、テーブルへの書き込みは、間引いて行われていることになる。
【0034】
次に、CPU10は、禁止していたキャッシュメモリへの書き込みを許可状態にする(ステップS14)。続いて、CPU10は、前回のテーブルへの書き込みから0.1m秒が経過したかどうかを判断する(ステップS15)。経過していなければ待機する。経過していれば、ステップS1以下を繰り返し実行する。つまり、各スイッチモジュールM1、M2・・・M5の静電容量をテーブルに記録する。
【0035】
この処理を繰り返すと、図8に示すように、20サンプリング分の静電容量がテーブルに記録されることになる(単位はμFである)。20サンプリング分の静電容量の記録が完了すると、CPU10は、解析処理を行う。
【0036】
解析処理において、CPU10は、各サンプリング時刻における静電容量の最大値を決定する。図8のデータであれば、サンプリング時刻「1」における最大値は「0」、サンプリング時刻「2」における最大値は「1」、サンプリング時刻「3」における最大値は「3」である。CPU10は、このようにして算出した静電容量の最大値をテーブルに記録する(ステップS4)。このようにして記録された最大値を、図8の最大値(A)に示す。
【0037】
次に、CPU10は、各サンプリング時刻における静電容量の合計値を算出する。図8のデータであれば、サンプリング時刻「1」における合計値は「0」、サンプリング時刻「2」における合計値は「1」、サンプリング時刻「3」における合計値は「3」である。CPU10は、このようにして算出した静電容量の合計値をテーブルに記録する(ステップS5)。このようにして記録された合計値を、図8の合計値(B)に示す。
【0038】
なお、図8に示すのは、スイッチモジュールM1が操作され、指が離された後、スイッチモジュールM2が操作された場合の静電容量変化である。この場合には、同図下の時間変化のグラフに示すように、スイッチモジュールM1の静電容量と、スイッチモジュールM2の静電容量がオーバーラップしない。
【0039】
このように、オーバラップがない場合には、各時刻における最大値と合計値がほぼ等しくなる。この実施形態では、最大値と合計値がほぼ等しくなることを見いだすことで、オーバーラップがないことを判断している。
【0040】
そこで、CPU10は、各時刻における合計値(B)から最大値(A)を減じ、差(C)を算出し、テーブルに記録する(ステップS6)。このようにして記録された差を、図8の(C)の欄に示す。
【0041】
続いて、CPU10は、図8のテーブルのすべての時刻における差(C)の最大値を算出し、これを判定値Xとする(ステップS7)。
【0042】
さらに、CPU10は、各時刻における最大の静電容量となったスイッチモジュールM1、M2・・・M5の識別符号を記録する(ステップS8)。このようにして記録された最大静電容量のスイッチモジュールの識別符号を、図8の(D)の欄に示す。この実施形態では、スイッチモジュールM1の識別符号を「1」、スイッチモジュールM2の識別符号を「2」・・・スイッチモジュールM5の識別符号を「5」としている。
【0043】
続いて、CPU10は、判定値Xが予め定めたしきい値以上であるかどうかを判断する(ステップS9)。前述のように、オーバーラップがある場合には、判定値Xは、所定の値を超えるはずである。判定値が所定のしきい値より小さい場合には、オーバーラップはないものと判断できる。
【0044】
図8の場合であれば、判定値Xは「0」であるから、オーバラップはないものとして処理を行う。CPU10は、ステップS13に進み、20サンプリングのうち、最後に極大値を示したスイッチモジュールが押されたものとして、その識別符号を、I/Oインターフェイス14から出力する(ステップS13)。
【0045】
続いて、CPU10は、図8のテーブルをクリアし、ステップS1以下を繰り返し実行する。
【0046】
掃除を行った場合には、記録された20サンプリング分の静電容量は、図9に示すようになる。ここでは、スイッチモジュールM1、スイッチモジュールM2、スイッチモジュールM3、スイッチモジュールM2、スイッチモジュールM1の順に、指を使って布などで汚れを拭き取ったものとしている。
【0047】
掃除の場合には、隣接するスイッチモジュール間において連続して指を移動させることになるので、図9の下のグラフに示すように、隣接するスイッチモジュールにおいて静電容量の時間的変化がオーバーラップすることになる。この実施形態では、これによりスイッチ操作を意図しない動きであると判断するようにしている。
【0048】
図9に示すように2サンプリング分の静電容量を記録すると、CPU10は、各時刻におけるスイッチモジュールM1、M2・・・M5の静電容量の最大値(A)および合計値(B)を取得して記録する(ステップS4、S5)。さらに、各時刻における合計値−最大値を算出し差(C)として記録する(ステップS6)。この差(C)の最大値を選択し、判定値Xを算出し記録する(ステップS7)。
【0049】
さらに、CPU10は、各時刻における最大の静電容量となったスイッチモジュールの識別符号を記録する(ステップS8)。図9の場合であれば、図11の(D)の欄に示すように記録されることになる。なお、この実施形態では、同一時刻において最大値を示すスイッチモジュールが2以上ある場合には、識別符号を記録しないようにしている((E)の欄参照のこと)。
【0050】
次に、CPU10は、判定値Xが所定のしきい値以上であるかどうかを判断する(ステップS9)。この実施形態では、しきい値を「3μF」としている。したがって、図9の場合には、判定値Xがこれを超えているので、オーバーラップ有りと判断し、ステップS10に進む。
【0051】
ステップS10においては、各時刻における最大の静電容量を示すスイッチモジュールの識別符号が、順に変化しているかどうかを判断する。掃除などの動作においては、当該識別符号が順次変化していくからである。CPU10は、図11の値(E)の変化が、順を追っているかを判断するために、時刻変化に伴う当該識別符号の増分を算出している(図11の値(F)参照)。たとえば、サンプリング時刻「4」における値(F)は、サンプリング時刻「4」における識別符号から、サンプリング時刻「3」における識別符号の値を減じたものである。
【0052】
CPU10は、このようにして算出した値(F)の最大値を判定値Yとし、判定値Yが1を超えていれば、順に変化していないと判断する。図11の例では、判定値Yは「1」であるから、最大の静電容量を有するスイッチモジュールは、順に変化していると判断できる。つまり、掃除による静電容量の変化であると判断することができる。したがって、CPU10は、ステップS11に進み、I/Oインターフェイス14からのスイッチ出力を行わない(無効とする)(ステップS11)。
【0053】
一方、図12に示すように、たとえオーバラップが生じていても、判定値Yが「1」を超えているような場合には、掃除などによる静電容量の変化であるとは判断しない。この場合には、CPU10は、意図的な操作であるとして、最後の極大値を出したスイッチモジュールM2が操作されたものとして出力を行う(ステップS13)。
【0054】
また、図10に示すように、2つのスイッチを続けて素早く押した場合にも、オーバラップが生じる。しかし、この場合には、オーバラップの値が小さく、掃除の場合と区別することができる。つまり、CPU10は、判定値Xがしきい値「3」以上でないことから、掃除による容量変化でないと判断することができる。
【0055】
4.その他の実施形態
(1)上記実施形態では、値Cに基づいてオーバーラップの有無を判断するようにしているが、静電容量値をグラフなどにプロットしてオーバラップの有無を判断するようにしてもよい。
【0056】
(2)上記実施形態では、オーバラップ部分の静電容量の最大値に基づいて、当該最大値がしきい値を超えているかどうかにより、オーバラップの有無を判断するようにしている。しかし、オーバラップ部分の継続時間に基づいて、当該継続時間がしきい値を超えているかどうかにより、オーバラップの有無を判断するようにしてもよい。
【0057】
さらに、最大値と継続時間の双方に基づいて、オーバラップの有無を判断するようにしてもよい。たとえば、図2Bに示すオーバラップの面積によって判断するようにしてもよい。
【0058】
(3)上記実施形態では、掃除による静電容量の変化を判定し、スイッチ出力を行わないようにしている。しかし、掃除以外であっても、意図せずにスイッチに連続的に触れた場合(スイッチモジュールに連続的に触れた場合)も同様に検出することができる。
【0059】
(4)上記実施形態では、ステップS13において、最後に極大値となったスイッチモジュールが押下されたものとして判断を行っている。しかし、極大値となった全てのスイッチが、その時刻順に押下されたものと判断するようにしてもよい。たとえば、図8の場合であれば、スイッチモジュールM1とスイッチモジュールM2が順に押下されたものと判断するようにしてもよい。
【0060】
(5)上記実施形態では、所定サンプリング数(上記では20サンプリング)の静電容量をテーブルに記録した後に、いずれのスイッチが押下されたのかを判断するようにしている。しかし、静電容量をテーブルに記録するとともに、そのサンプリング時刻毎に、いずれのスイッチが押下されたのかを判断するようにしてもよい。
【0061】
たとえば、図13Aに示すように、静電容量が極大値を示した後、しきい値THを下回るまでオーバラップがなければ、直ちに、スイッチモジュールM1が押下されたものと判断するようにしてもよい。この場合、図13Aのt1の時点で、スイッチモジュールM1の押下を判断することができる。
【0062】
また、図13Bに示すように、オーバラップしている静電容量がしきい値THを上回った時点で、掃除などによる静電容量の変化であると判断するようにしてもよい。この場合、図13Bのt2の時点で、掃除などによる静電容量の変化であると判断することができる。
【0063】
(6)上記実施形態では、オーバーラップの度合いと、最大値となったスイッチユニットが連続的に変化しているかどうかの双方によって、意図しない操作であるかどうかを判断するようにしている。しかし、そのいずれか一方のみで、判断するようにしてもよい。
【0064】
また、これらに加えて、あるいは単独で、静電容量の変化の傾きを判断要素としてもよい。スイッチを押下しようとする操作の場合には、静電容量の時間的変化が急峻であり、掃除などの場合には静電容量の変化がゆるやかである。
【0065】
(7)上記実施形態では、静電容量によって動作するスイッチについて本発明を適用した。しかし、圧力、光、インダクタンスなどによって動作するスイッチについても同様に本発明を適用することができる。
【0066】
また、カメラによって指を撮像し、指がスイッチ領域に入る面積の大きさによって、いずれのスイッチが押されたかを判断して動作するスイッチにも適用することができる。
【特許請求の範囲】
【請求項1】
スイッチ面に対する指の近接度合いにより静電容量が変化するスイッチモジュールを複数並べたスイッチモジュール群と、
前記スイッチモジュールの静電容量の変化に基づいて、いずれのスイッチ面が操作されたかを検出する検出部と、
を備えたスイッチ装置において、
前記検出部は、
隣接するスイッチモジュールの静電容量の時間的変化が、互いにオーバラップする度合いに基づいて、スイッチ装置を機能させようとする操作であるか、そうでないかを判断する操作意図判断手段を備えたことを特徴とするスイッチ装置。
【請求項2】
請求項1のスイッチ装置において、
前記操作意図判断手段は、さらに、対象とする全てのスイッチモジュールの静電容量のうちの最大値の時間的変化において、当該最大値が、時間経過とともに隣接するスイッチモジュールに移動することを、意図的でない操作と判断するための一条件とすることを特徴とするスイッチ装置。
【請求項3】
請求項1または2のスイッチ装置において、
前記操作意図判断手段は、さらに、静電容量の時間的変化の傾きも、スイッチ装置を機能させようとする操作であるか、そうでないかを判断するための一要素とすることを特徴とするスイッチ装置。
【請求項4】
スイッチ面に対する検出対象物の位置関係により電気的特性が変化するスイッチモジュールを複数並べたスイッチモジュール群と、
前記スイッチモジュールの電気的特性の変化に基づいて、いずれのスイッチ面が操作されたかを検出する検出部と、
を備えたスイッチ装置において、
前記検出部は、
隣接するスイッチモジュールの電気的特性の時間的変化が、互いにオーバラップする度合いに基づいて、スイッチ装置を機能させようとする操作であるか、そうでないかを判断する操作意図判断手段を備えたことを特徴とするスイッチ装置。
【請求項1】
スイッチ面に対する指の近接度合いにより静電容量が変化するスイッチモジュールを複数並べたスイッチモジュール群と、
前記スイッチモジュールの静電容量の変化に基づいて、いずれのスイッチ面が操作されたかを検出する検出部と、
を備えたスイッチ装置において、
前記検出部は、
隣接するスイッチモジュールの静電容量の時間的変化が、互いにオーバラップする度合いに基づいて、スイッチ装置を機能させようとする操作であるか、そうでないかを判断する操作意図判断手段を備えたことを特徴とするスイッチ装置。
【請求項2】
請求項1のスイッチ装置において、
前記操作意図判断手段は、さらに、対象とする全てのスイッチモジュールの静電容量のうちの最大値の時間的変化において、当該最大値が、時間経過とともに隣接するスイッチモジュールに移動することを、意図的でない操作と判断するための一条件とすることを特徴とするスイッチ装置。
【請求項3】
請求項1または2のスイッチ装置において、
前記操作意図判断手段は、さらに、静電容量の時間的変化の傾きも、スイッチ装置を機能させようとする操作であるか、そうでないかを判断するための一要素とすることを特徴とするスイッチ装置。
【請求項4】
スイッチ面に対する検出対象物の位置関係により電気的特性が変化するスイッチモジュールを複数並べたスイッチモジュール群と、
前記スイッチモジュールの電気的特性の変化に基づいて、いずれのスイッチ面が操作されたかを検出する検出部と、
を備えたスイッチ装置において、
前記検出部は、
隣接するスイッチモジュールの電気的特性の時間的変化が、互いにオーバラップする度合いに基づいて、スイッチ装置を機能させようとする操作であるか、そうでないかを判断する操作意図判断手段を備えたことを特徴とするスイッチ装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−65136(P2013−65136A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2011−202612(P2011−202612)
【出願日】平成23年9月16日(2011.9.16)
【出願人】(710014351)オンキヨー株式会社 (226)
【Fターム(参考)】
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願日】平成23年9月16日(2011.9.16)
【出願人】(710014351)オンキヨー株式会社 (226)
【Fターム(参考)】
[ Back to top ]