以下に添付図面を参照して、タッチパネル装置の実施形態を詳細に説明する。
(実施形態)
実施形態にかかるタッチパネル装置について説明する。タッチパネル装置は、タッチパネルを有する。タッチパネルは、様々な機器のユーザーインターフェースとして用いられている。タッチパネルを有するタッチパネル装置には、シングルタッチ検出機能に加えて、マルチタッチ検出機能を有したものがある。シングルタッチ検出機能は、一本の指による操作(シングルタッチ操作)を検出する機能である。マルチタッチ検出機能は、複数本の指による操作(マルチタッチ操作)を検出する機能である。マルチタッチ操作には、ピンチ操作、回転操作、2本指ドラッグ操作などがある。ピンチ操作は、画面上に2本の指を載せたまま間隔を広げたり狭めたりする操作である。回転操作は、画面上に2本の指を載せたまま回転させる操作である。2本指ドラッグ操作は、画面上に2本の指を載せたまま同様な方向に移動させる操作である。
抵抗膜方式タッチパネルにおいては、検出される抵抗値により指の接触位置を特定でき、指の接触位置に応じた抵抗値の違いにより、シングルタッチ操作かマルチタッチ操作かを検出できる。マルチタッチ操作の場合、抵抗膜方式タッチパネルにおいてそれぞれの指の接触位置に応じた抵抗値の変動量を検出することにより、複数本の指の位置を特定できる。
例えば、抵抗膜方式タッチパネルを有するタッチパネル装置において、非タッチ状態の端子間抵抗の初期値に対する測定値の変化率を求め、その変化率を用いてシングルタッチ検出用のシングル閾値とマルチタッチ検出用のマルチ閾値とを更新する制御を考える。この場合、温度変化や経年劣化といった長期的に徐々にタッチ感度が変化していく現象に対して、シングル閾値とマルチ閾値とを更新して操作の誤検出を抑制できるようにも考えられる。
しかし、この制御では、外来の妨害電波のような突発的な現象に対応することが困難である。すなわち、この制御では、パネル内電極間抵抗値の微小な変化を利用しているため、タッチパネルの設置場所で周辺の電波塔及び/又は携帯機器等からの妨害電波が突発的に大きくなった場合に、マルチタッチをシングルタッチと誤検出する可能性がある。
そこで、実施形態では、タッチパネル装置において、抵抗膜方式タッチパネルに対する設置場所の電界の影響度を評価して抵抗膜式タッチパネルの機能を制御することで、設置場所の電界に起因した操作の誤検出の防止を図る。
具体的には、タッチ感度補正用のモードを設け、パネル内の特定の位置で所定のタッチ操作(すなわち、シングルタッチ操作またはマルチタッチ操作)を行うようにユーザーに促し、ユーザーのタッチ操作の入力結果が期待動作と一致するか否かを検出する。すなわち、シングルタッチ操作またはマルチタッチ操作を指示した結果、期待入力動作と異なるタッチ操作の入力結果が得られた場合、妨害電波による検出異常が発生していると判断し、タッチ感度を変更する。そして、再度、ユーザーにタッチ操作を指示し、期待値と一致するまで繰り返す。
例えば、シングルタッチ操作を指示したのにマルチタッチ操作を検出した場合、タッチ感度を下げる。マルチタッチ操作を指示したのにシングルタッチ操作を検出した場合、タッチ感度を上げる。タッチ感度を変更可能な範囲で補正しきれなかった場合は、マルチタッチ検出機能を無効化する。
これにより、妨害電波の影響といった突発的なタッチ動作異常も含めた回避を実現できる。すなわち、装置周辺からの妨害電波の影響度を評価し、マルチタッチをシングルタッチと誤検出する可能性がある場合には、タッチ感度を補正、あるいはマルチタッチ機能を制御変更する構成のため、サービスによる処置を要することなく、妨害電波の影響を回避でき、ユーザー利用時の誤検出を防止できる。
より具体的には、タッチパネル装置1は、ハードウェア的に、図1に示すように構成され得る。図1は、タッチパネル装置1のハードウェア構成を示す図である。
タッチパネル装置1は、CPU(Central Processing Unit)2、RAM(Random Access Memory)3、ROM(Read Only Memory)4、抵抗膜式タッチパネル5、及びディスプレイ6を有する。CPU2は、タッチパネル装置1の各部を統括的に制御する。RAM3は、書き換え可能な記憶媒体であり、CPU2が情報を処理する際の作業領域として用いられ得る。ROM4は、読み出し専用の記憶媒体であり、ファームウェア等のプログラム、各種の制御プログラム、アプリケーションプログラムに加えて、タッチ感度補正プログラムとタッチ感度補正値とを格納している。タッチ感度補正値は、抵抗膜式タッチパネル5の検出感度が補正される際に用いられる補正値であり、例えば、検出感度の補正幅であってもよいし、検出感度として補正される候補となる複数の値であってもよい。
抵抗膜式タッチパネル5は、ユーザーがタッチパネル装置1に情報を入力するためのユーザーインタフェースである。抵抗膜式タッチパネル5は、ユーザーからのタッチ操作を検出可能である。抵抗膜式タッチパネル5は、タッチパネル本体5a、切替回路5b、タッチパネルコントローラ5c、及びタッチパネルドライバ5dを有する。タッチパネル本体5a、切替回路5b、タッチパネルコントローラ5c、及びタッチパネルドライバ5dについては、後述する。
ディスプレイ6は、ユーザーに対して情報を出力するためのユーザーインタフェースである。ディスプレイ6は、例えば、液晶ディスプレイ(LCD)であってもよいし、有機ELディスプレイ等のエレクトロルミネッセンスディスプレイ(ELD)であってもよい。ディスプレイ6は、画面6a及びディスプレイ本体6bを有する。ディスプレイ本体6bは、CPU2により駆動され、所定の画像を画面6a上に表示させる。
また、タッチパネル装置1は、機能的に、図2に示すように構成され得る。図2は、タッチパネル装置1の機能構成を示す図である。
タッチパネル装置1は、抵抗膜式タッチパネル5、モード制御部11、表示制御部12、評価部13、及び機能制御部14を有する。抵抗膜式タッチパネル5は、ユーザーからの操作を検出可能である。モード制御部11、表示制御部12、評価部13、及び機能制御部14は、それぞれ、ROM4に格納されたタッチ感度補正プログラムがCPU2により実行された際にRAM3上に一括して又は処理の進行に応じて順次に展開される機能モジュールとして実装され得る。
モード制御部11は、複数のモードのうちタッチパネル装置1を動作させる動作モードを制御する。複数のモードは、通常モードと補正モードとを含む。通常モードは、タッチパネル装置1が定常的な動作を行うモードである。補正モードは、タッチパネル装置1がタッチ感度補正を行う動作モードである。モード制御部11は、電源起動時等のタッチパネル装置1の所定の動作をトリガーとして動作モードを通常モードから補正モードに切り替えてもよいし、抵抗膜式タッチパネル5を介して補正モードへの移行指示が受け付けられたことをトリガーとして動作モードを通常モードから補正モードに切り替えてもよい。モード制御部11は、補正処理が完了した旨の通知をタッチパネル装置1から受けたら、動作モードを補正モードから通常モードに戻してもよい。
表示制御部12は、ディスプレイ6の画面6a上に表示させる表示情報を制御する。表示制御部12は、タッチパネル装置1の動作モードが通常モードから補正モードへ切り替えられたことをモード制御部11から通知されると、所定の操作を指示する情報をディスプレイ6の画面6a上に表示させる。
例えば、表示制御部12は、シングルタッチ操作を指示する案内画像情報(例えば、矢印又は丸等の1つの図形の画像)を画面6a上に表示させたり、シングルタッチ操作を指示するメッセージ情報を画面6a上に表示させたりする。これにより、ユーザーにシングルタッチ操作を促すことができる。
あるいは、例えば、表示制御部12は、マルチタッチ操作を指示する案内画像情報(例えば、矢印又は丸等の複数の図形の画像)を画面6a上に表示させたり、マルチタッチ操作を指示するメッセージ情報を画面6a上に表示させたりする。これにより、ユーザーにマルチタッチ操作を促すことができる。表示制御部12は、互いに近づく複数の矢印又は互いに遠ざかる複数の矢印の画像を画面6a上に表示させることで、ユーザーにピンチ操作を促すことができる。表示制御部12は、互いに同じ回転方向に回転する複数の矢印の画像を画面6a上に表示させることで、ユーザーに回転操作を促すことができる。表示制御部12は、互いに同様な方向に向いた複数の矢印の画像を画面6a上に表示させることで、ユーザーに2本指ドラッグ操作を促すことができる。
評価部13は、抵抗膜式タッチパネル5に対する設置場所の電界の影響度を評価する。すなわち、評価部13は、所定の操作を指示する情報を表示制御部12から受け、所定の操作を指示する情報に応じた操作の検出結果を抵抗膜式タッチパネル5から受ける。評価部13は、所定の操作を指示する情報に応じて期待される操作と抵抗膜式タッチパネル5で検出された操作とを比較し、比較結果に応じて、抵抗膜式タッチパネル5に対する設置場所の電界の影響度を評価する。
例えば、評価部13は、シングルタッチ操作が指示され且つ抵抗膜式タッチパネル5でシングルタッチ操作が検出された場合、設置場所の電界の影響度が許容範囲内に収まっていると評価する。評価部13は、シングルタッチ操作が指示され且つ抵抗膜式タッチパネル5でマルチタッチ操作が検出された場合、設置場所の電界の影響度が許容範囲を外れていると評価する。評価部13は、シングルタッチ操作が指示され且つ抵抗膜式タッチパネル5でマルチタッチ操作が検出された場合、検出感度が適正範囲に対して過剰になる側に外れていると評価してもよい。
あるいは、例えば、評価部13は、マルチタッチ操作が指示され且つ抵抗膜式タッチパネル5でマルチタッチ操作が検出された場合、設置場所の電界の影響度が許容範囲内に収まっていると評価する。評価部13は、マルチタッチ操作が指示され且つ抵抗膜式タッチパネル5でシングルタッチ操作が検出された場合、設置場所の電界の影響度が許容範囲を外れていると評価する。評価部13は、マルチタッチ操作が指示され且つ抵抗膜式タッチパネル5でシングルタッチ操作が検出された場合、検出感度が適正範囲に対して不足する側に外れていると評価してもよい。
あるいは、例えば、評価部13は、抵抗膜式タッチパネル5の検出感度の変更が所定回数行われ(すなわち、検出回数が閾値回数に達し)且つ設置場所の電界の影響度が許容範囲を外れていると評価した場合、設置場所の電界の影響度が許容範囲を顕著に外れていると評価してもよい。
機能制御部14は、抵抗膜式タッチパネル5に対する設置場所の電界の影響度の評価結果を評価部13から受け、タッチ感度補正値をROM4から読み出す。機能制御部14は、評価部13で評価された影響度に応じて、抵抗膜式タッチパネル5の機能を制御する。
例えば、設置場所の電界の影響度が許容範囲内に収まっていると評価部13で評価された場合、機能制御部14は、抵抗膜式タッチパネル5の検出感度を現在の感度に維持する。設置場所の電界の影響度が許容範囲を外れていると評価部13で評価された場合、機能制御部14は、抵抗膜式タッチパネル5の検出感度を変更する。
シングルタッチ操作が指示され且つ抵抗膜式タッチパネル5でマルチタッチ操作が検出されたことに応じて設置場所の電界の影響度が許容範囲を外れていると評価された場合、機能制御部14は、抵抗膜式タッチパネル5の検出感度を下げてもよい。このとき、機能制御部14は、ROM4から読み出されたタッチ感度補正値を用いて、抵抗膜式タッチパネル5の検出感度を下げる補正を行ってもよい。これにより、抵抗膜式タッチパネル5の検出感度を適正範囲に対して過剰になる側から適正範囲内に収めることができる。
マルチタッチ操作が指示され且つ抵抗膜式タッチパネル5でシングルタッチ操作が検出されたことに応じて設置場所の電界の影響度が許容範囲を外れていると評価された場合、機能制御部14は、抵抗膜式タッチパネル5の検出感度を上げてもよい。このとき、機能制御部14は、ROM4から読み出されたタッチ感度補正値を用いて、抵抗膜式タッチパネル5の検出感度を上げる補正を行ってもよい。これにより、抵抗膜式タッチパネル5の検出感度を適正範囲に対して不足する側から適正範囲内に収めることができる。
あるいは、例えば、設置場所の電界の影響度が許容範囲を顕著に外れていると評価された場合、機能制御部14は、抵抗膜式タッチパネル5の検出感度の補正が困難であると判断し、抵抗膜式タッチパネル5のマルチタッチ検出機能を無効化する。機能制御部14は、マルチタッチ操作を検出したときに操作の検出結果を生成しないように抵抗膜式タッチパネル5を制御してもよい。機能制御部14は、マルチタッチ操作の検出結果が生成されたときに破棄して出力しないように抵抗膜式タッチパネル5を制御してもよい。機能制御部14は、マルチタッチ操作の検出結果に無効フラグを付加することなどにより、マルチタッチ操作の検出結果を抵抗膜式タッチパネル5から受けても無視するように評価部13を制御してもよい。
次に、抵抗膜式タッチパネル5の断面構成について図3を用いて説明する。図3は、抵抗膜式タッチパネル5の断面構成を示す図である。
抵抗膜式タッチパネル5のタッチパネル本体5aは、透明フィルム51、ガラス基板52、透明電極53、透明電極54、貼り合わせ材55、及びドットスペーサ56を含む。ディスプレイ6のディスプレイ本体6bは、表示材61を含む。図3では、ガラス基板52の表面62aに垂直な方向をZ方向とし、Z方向に垂直な平面内で互いに直交する2方向をX方向及びY方向とする。
図3の構成では、ガラス基板52、透明電極54、貼り合わせ材55、透明電極53、透明フィルム51がZ方向に順に積層されている。
透明電極53及び透明電極54は、それぞれ、透明な導電体を主成分とする材料で形成され得る。透明電極53及び透明電極54は、それぞれ、例えば、ITO(酸化インジウムスズ(In2O3))膜で形成され得る。ITO膜は一様に形成されて抵抗分を持っていてもよい。透明電極53は、透明フィルム51の裏面61bを覆っており、透明電極54は、ガラス基板52の表面62aを覆っている。透明電極54の表面には、ドットスペーサ56が配されている。透明電極53と透明電極54と間の隙間には、表示材61(例えば、液晶など)が封入されている。
タッチ操作が行われない状態において、透明電極53と透明電極54とは、Z方向に貼り合わせ材55の厚さで離間し、両者の間に隙間が形成されている。
図3に波線で示すように専用ペンまたは指でタッチ操作が行われると、透明フィルム51が-Z方向に撓み、透明電極53も-Z方向に撓むので、透明電極53が透明電極54に部分的に接触・導通する。これにより、抵抗膜式タッチパネル5は、タッチ操作の入力を検出する。抵抗膜式タッチパネル5は、軽荷重タイプタッチパネルである場合、透明フィルム51の薄膜化、ドットスペーサ56形状の工夫により、軽い力でもタッチ検出できるように設計され得る。
次に、抵抗膜式タッチパネル5の回路構成の概略について図4を用いて説明する。図4は、抵抗膜式タッチパネル5の回路構成の概略を示す図である。
タッチパネル本体5aにおいて、透明電極53は、-Y側の端子Y1と+Y側の端子Y2とを有し、各端子Y1,Y2は、切替回路5bに電気的に接続されている。透明電極54は、-X側の端子X1と+X側の端子X2とを有し、各端子X1,X2は、切替回路5bに電気的に接続されている。
切替回路5bは、スイッチSW1~SW4を有する。スイッチSW1は、端子Y2に電気的に接続された端子T13を端子T11及び端子T12へ選択的に接続できる。端子T11は、タッチパネルコントローラ5cに電気的に接続されている。端子T12は、電源電位Vcc(例えば、1.5V)に電気的に接続されている。
スイッチSW2は、端子X2に電気的に接続された端子T23を端子T21及び端子T22へ選択的に接続できる。端子T21は、タッチパネルコントローラ5cに電気的に接続されている。端子T22は、電源電位Vcc(例えば、1.5V)に電気的に接続されている。
スイッチSW3は、端子Y1に電気的に接続された端子T33を端子T31及び端子T32へ選択的に接続できる。端子T31は、タッチパネルコントローラ5cに電気的に接続されている。端子T32は、グランド電位GND(例えば、0V)に電気的に接続されている。
スイッチSW4は、端子X1に電気的に接続された端子T43を端子T41及び端子T42へ選択的に接続できる。端子T41は、タッチパネルコントローラ5cに電気的に接続されている。端子T42は、グランド電位GND(例えば、0V)に電気的に接続されている。
抵抗膜式タッチパネル5において、タッチパネル本体5aは、ユーザーからのタッチ操作を受け付ける。切替回路5bは、タッチパネル本体5a及びタッチパネルコントローラ5cの間に配されている。切替回路5bは、タッチパネルコントローラ5cによる制御のもと、タッチパネル本体5a及びタッチパネルコントローラ5cの接続構成を切り替える。
タッチパネルコントローラ5cは、タッチパネル本体5a及び切替回路5bを制御する。タッチパネルコントローラ5cは、タッチ操作に応じた信号をタッチパネル本体5aから受けてタッチ操作の有無・種類の検出と接触位置のX座標・Y座標の検出とを行う。タッチパネルコントローラ5cは、抵抗5c1、増幅回路5c2、A/D変換回路5c3、及び差分計算回路5c4を有する(図5、図7参照)。
図4に示すタッチパネルドライバ5dは、タッチパネルコントローラ5cの検出結果をCPU102で処理可能なデータに変換し、変換後のデータをCPU102へ出力する。タッチパネルドライバ5dは、SoC(System on Chip)で実装され得る。タッチパネルコントローラ5cとタッチパネルドライバ5dとの間は、I2C等のシリアルバスで接続され得る。
次に、シングルタッチ操作された接触位置の検出動作について図4及び図5を用いて説明する。図5は、シングルタッチ検出時の抵抗膜式タッチパネルの回路構成を示す図である。
シングルタッチ操作された接触位置のY座標を検出する場合、図4に示すタッチパネルコントローラ5cは、スイッチSW1をオンして端子T12側に接続させ、スイッチSW3をオンして端子T32側に接続させ、スイッチSW4をオンして端子T41側に接続させ、スイッチSW2をオープン状態にする。タッチパネルコントローラ5cは、所定の電源電位(例えば、3.3V)から電源電位Vcc(例えば、1.5V)を生成して切替回路5bへ供給する。
このとき、図5に示すように、透明電極53における接触位置P1の電位が電源電位Vcc及びグランド電位Vgndの電位差を抵抗R1,R2で分圧した値(=(Vcc-Vgnd)×R1/(R1+R2))に略等しくなる。そして、透明電極53における接触位置P1の電位を接触抵抗Rc0、抵抗R3、及び抵抗R51で分圧した電圧(=(Vcc-Vgnd)×{R1/(R1+R2)}×{R51/(Rc0+R3+R51)})が増幅回路5c2へ入力される。抵抗R51は、タッチパネル本体5aから流れ込んだ電流をIV変換してこの電圧を生成している。この電圧は、Vcc=1.5V、Vgnd=0Vである場合、0~1.5Vの値を取り得る。なお、Rc0は、透明電極53における接触位置P1と透明電極54における接触位置P2との間の接触抵抗である。
増幅回路5c2は、入力された電圧を所定のゲインで増幅してA/D変換回路5c3へ入力する。A/D変換回路5c3は、増幅回路5c2から受けた信号(アナログ信号)をA/D変換してデジタル信号を生成する。A/D変換回路5c3は、例えば、0~4095のデジタル値に対応する12ビットのデジタル信号を生成する。
タッチパネルドライバ5dは、ドライバソフトに従って、デジタル信号をタッチパネルコントローラ5cから読み出し、デジタル信号をタッチパネル本体5aにおける接触位置のY座標に変換する。タッチパネル本体5aにおける接触位置のY座標は、例えば、0~799の値を取り得る。
なお、シングルタッチ操作された接触位置のX座標を検出する場合、図4に示すタッチパネルコントローラ5cは、スイッチSW2をオンして端子T22側に接続させ、スイッチSW3をオンして端子T31側に接続させ、スイッチSW4をオンして端子T42側に接続させ、スイッチSW1をオープン状態にする。このとき、図5に波線で示すように、透明電極54における接触位置P2の電位が電源電位Vcc及びグランド電位Vgndの電位差を抵抗R4,R3で分圧した値(=(Vcc-Vgnd)×{R3/(R4+R3)})に略等しくなる。そして、透明電極54における接触位置P2の電位を接触抵抗Rc0、抵抗R1、及び抵抗R51で分圧した電圧(=(Vcc-Vgnd)×{R3/(R4+R3)}×{R51/(Rc0+R3+R51)})が増幅回路5c2へ入力される。これ以降は、Y座標をX座標に置き換えれば上記の説明をそのまま適用できる。
次に、マルチタッチ操作された複数の接触位置間の距離の検出動作について図4、図6、及び図7を用いて説明する。図6は、マルチタッチ操作された複数の接触位置を示す図である。図7は、マルチタッチ検出時の抵抗膜式タッチパネルの回路構成を示す図である。
図6に示すようなマルチタッチ操作された2点の中心CのX座標・Y座標の検出は、上記と同様にして行うことができる。
マルチタッチ操作された複数の接触位置間のY方向の距離を検出する場合、図4に示すタッチパネルコントローラ5cは、スイッチSW1をオンして端子T12側に接続させ、スイッチSW3をオンして端子T31側に接続させ、他のスイッチSW2,SW4をオープン状態にする。タッチパネルコントローラ5cは、所定の電源電位(例えば、3.3V)から電源電位Vcc(例えば、1.5V)を生成して切替回路5bへ供給する。
このとき、図6に示す2点間のY方向距離f(PY)は、図7に示すように、端子Y1,Y2間の抵抗値の変動量から求める。すなわち、透明電極53における2つの接触位置P11,P12間の抵抗は、抵抗R12と接触抵抗Rc1、抵抗R22、接触抵抗Rc2との並列接続による合成抵抗(=R12(Rc1+R22+Rc2)/(R12+Rc1+R22+Rc2))となり抵抗R12より抵抗値が減少する。Rc1は、透明電極53における接触位置P11と透明電極54における接触位置P21との間の接触抵抗である。Rc2は、透明電極53における接触位置P12と透明電極54における接触位置P22との間の接触抵抗である。
この並列接続による合成抵抗をRcとすると、電源電位Vcc及びグランド電位Vgndの電位差を抵抗R11,Rc,R13,R51で分圧した電圧(=(Vcc-Vgnd)×R51/(R11+Rc+R13+R51))が増幅回路5c2へ入力される。端子Y1,Y2間の抵抗(R11+Rc+R13)は、Y方向で155~140Ωの値を取り得る。
なお、2つの接触位置P11,P12間の距離が大きいほど抵抗R22の値が大きくなるので電極間抵抗(R11+Rc+R13)の値の減少は大きくなる。シングルタッチ時は抵抗R22の影響はほとんどない。
抵抗R51は、タッチパネル本体5aから流れ込んだ電流をIV変換してこの電圧を生成している。この電圧は、Vcc=1.5V、Vgnd=0Vである場合、47~52mVの値を取り得る。
増幅回路5c2は、入力された電圧を所定のゲイン(例えば、300倍)で増幅してA/D変換回路5c3へ入力する。A/D変換回路5c3は、増幅回路5c2から受けた信号(アナログ信号)をA/D変換してデジタル信号を生成する。A/D変換回路5c3は、例えば、0~4095のデジタル値に対応する12ビットのデジタル信号を生成する。増幅回路5c2は、デジタル信号を差分計算回路5c4へ供給する。
差分計算回路5c4は、増幅回路5c2からデジタル信号を受ける。差分計算回路5c4は、デジタル信号に応じたデジタル値を測定値として、(測定値-基準値)の差分PYを計算する。温度が変動するとパネルの抵抗値が変わる。タッチパネルコントローラ5c内で信号を増幅しているため、この影響により検出結果(PY)のずれが大きくなり得る。そのため、絶対的な測定値ではなく基準値との差分を取っている。ここで、基準値は、タッチパネル本体5aがタッチ操作されていないときに、測定の直前等のほぼ同じ温度環境において予め読み取られ増幅回路5c2から供給されたデジタル信号に応じたデジタル値であり、予め差分計算回路5c4に設定され得る。差分PYのデジタル信号は、例えば10ビットの信号である。
タッチパネルドライバ5dは、ドライバソフトに従って、差分PYのデジタル信号をタッチパネルコントローラ5cから読み出し、テーブル等の変換情報を参照して2点間のY方向距離に変換する。テーブルは、差分の値と2点間距離とが複数の差分の値について予め実験的に取得された情報である。
同様に、マルチタッチ操作された複数の接触位置間のX方向の距離を検出する場合、図4に示すタッチパネルコントローラ5cは、スイッチSW2をオンして端子T22側に接続させ、スイッチSW4をオンして端子T41側に接続させ、他のスイッチSW1,SW3をオープン状態にする。タッチパネルコントローラ5cは、所定の電源電位(例えば、3.3V)から電源電位Vcc(例えば、1.5V)を生成して切替回路5bへ供給する。
このとき、図6に示す2点間のX方向距離f(PX)は、図7に示すように、端子X1,X2間の抵抗値の変動量から求める。これ以降は、Y方向をX方向に置き換えPYをPXに置き換えれば上記の説明をそのまま適用できる。
タッチパネルドライバ5dは、差分PYと差分PXとの差の絶対値|PX-PY|を所定の閾値と比較し、比較結果に応じて、タッチ操作の種類を判定する。例えば、タッチパネルドライバ5dは、|PX-PY|>24のときマルチタッチと判定し、|PX-PY|≦24のときシングルタッチと判定してもよい。これは、端子間抵抗の検出レベルと検出端子間距離との関係が図8に実線で示す関係がある場合に、端子間抵抗の検出レベルが閾値Rth未満であればマルチタッチと判定し、端子間抵抗の検出レベルが閾値Rth以上であればシングルタッチと判定することに相当する。図8は、端子間抵抗の検出レベルと検出端子間距離との関係を示す図である。
次に、タッチパネル装置1の動作について図9を用いて説明する。図9は、タッチパネル装置1のタッチ感度補正の動作を示すフローチャートである。
タッチパネル装置1は、動作モードを通常モードから補正モードに切り替えると、タッチ感度補正処理をスタートし、ユーザーへ向けてシングルタッチを指示する情報を画面6a上に表示させる(S1)。タッチパネル装置1は、シングルタッチ操作を検出したか否かを判断する(S2)。
タッチパネル装置1は、シングルタッチ操作を検出しなかった場合、すなわちマルチタッチ操作を検出した場合(S2でNo)、設置場所の電界の影響度が許容範囲を外れており、検出感度が適正範囲に対して過剰になる側に外れていると評価する。タッチパネル装置1は、この評価に応じて、抵抗膜式タッチパネル5の検出感度を下げる補正を行う(S3)。例えば、タッチパネルコントローラ5cにおける増幅回路5c2のゲインを下げることで、抵抗膜式タッチパネル5の検出感度を下げることができる。これにより、抵抗膜式タッチパネル5の検出感度を適正範囲に対して過剰になる側から適正範囲内に収めることができる。
なお、S3の補正は、端子間抵抗の検出レベルと検出端子間距離との関係が図8に一点鎖線で示す関係がある場合に、端子間抵抗の検出レベルと検出端子間距離との関係を一点鎖線で示す関係から実線で示す関係にシフトさせる補正に相当する。
図9に戻って、タッチパネル装置1は、シングルタッチ操作を検出した場合(S2でYes)、設置場所の電界の影響度が許容範囲内に収まっていると評価し、抵抗膜式タッチパネル5の検出感度を現在の感度に維持したまま、処理をS4へ進める。
タッチパネル装置1は、ユーザーへ向けてマルチタッチを指示する情報を画面6a上に表示させる(S4)。タッチパネル装置1は、マルチタッチ操作を検出したか否かを判断する(S5)。
タッチパネル装置1は、マルチタッチ操作を検出しなかった場合、すなわちシングルタッチ操作を検出した場合(S5でNo)、設置場所の電界の影響度が許容範囲を外れており、検出感度が適正範囲に対して不足する側に外れていると評価する。タッチパネル装置1は、この評価に応じて、抵抗膜式タッチパネル5の検出感度を上げる補正を行う(S6)。例えば、タッチパネルコントローラ5cにおける増幅回路5c2のゲインを上げることで、抵抗膜式タッチパネル5の検出感度を上げることができる。これにより、抵抗膜式タッチパネル5の検出感度を適正範囲に対して不足する側から適正範囲内に収めることができる。
なお、S6の補正は、端子間抵抗の検出レベルと検出端子間距離との関係が図8に二点鎖線で示す関係がある場合に、端子間抵抗の検出レベルと検出端子間距離との関係を二点鎖線で示す関係から実線で示す関係にシフトさせる補正に相当する。
タッチパネル装置1は、シングルタッチ操作を検出した場合(S5でYes)、設置場所の電界の影響度が許容範囲内に収まっていると評価し、抵抗膜式タッチパネル5の検出感度を現在の感度に維持したまま、処理をS7へ進める。
タッチパネル装置1は、タッチ感度(すなわち、抵抗膜式タッチパネル5の検出感度)を変更したか否か、すなわち、S3又はS6の処理を行ったか否かを判断する(S7)。
タッチパネル装置1は、抵抗膜式タッチパネル5の検出感度を変更しなかった場合(S7でNo)、処理を終了する。
タッチパネル装置1は、抵抗膜式タッチパネル5の検出感度を変更した場合(S7でYes)、タッチ操作の検出回数がN回か否かを判断する(S8)。Nは、2以上の整数であり、補正が困難と判断する前にタッチ操作の検出を何回繰り返すべきかを示す閾値である。
タッチパネル装置1は、タッチ操作の検出回数がN回に達していない場合(S8でNo)、補正処理が入ったために再チェックが必要であるとして、処理をS1に戻す。
タッチパネル装置1は、タッチ操作の検出回数がN回に達した場合(S8でYes)、タッチ感度を調整しても補正しきれないとして、抵抗膜式タッチパネル5のマルチタッチ検出機能を無効化し(S9)、動作モードを補正モードから通常モードに戻して、処理を終了する。
なお、タッチ感度を調整しても補正しきれないことは、例えば、端子間抵抗の検出レベルと検出端子間距離との関係が図8に波線で示す関係がある場合に、端子間抵抗の検出レベルと検出端子間距離との関係を破線で示す関係から一点鎖線で示す関係までにしかシフトさせられないことに相当する。
以上のように、実施形態では、タッチパネル装置において、抵抗膜方式タッチパネルに対する設置場所の電界の影響度を評価し、その評価された影響度に応じて抵抗膜式タッチパネルの機能を制御する。これにより、設置場所の電界に起因したタッチ操作の誤検出を防止できる。
なお、設置場所の電界の影響度の評価は、設置場所の電界強度を計測することで行ってもよい。例えば、タッチパネル装置1iは、ハードウェア的に、図10に示すように構成され得る。図10は、実施形態の変形例にかかるタッチパネル装置1iのハードウェア構成を示す図である。
タッチパネル装置1iは、アンテナ7iをさらに有する。アンテナ7iは、外部環境や装置内部からの妨害電波の強度あるいは周波数を検出可能に構成されている。予め妨害電波の波長又は周波数が予想可能である場合、その波長又は周波数に応じた形状、寸法、レイアウト等でアンテナ7iが構成されていてもよい。このとき、ROM4には、影響度に応じた妨害電波強度許容値あるいは装置への影響を回避したい周波数に関連した情報(電界関連閾値)を保持しておいてもよい。
また、タッチパネル装置1iは、機能的に、図11に示すように構成され得る。図11は、実施形態の変形例にかかるタッチパネル装置1iの機能構成を示す図である。
タッチパネル装置1iは、評価部13(図2参照)に代えて評価部13iを有し、計測部15i及び記憶部16iをさらに有する。計測部15iは、ROM4に格納されたタッチ感度補正プログラムがCPU2により実行された際にRAM3上に一括して又は処理の進行に応じて順次に展開される機能モジュールとして実装され得る。記憶部16iは、ROM4の少なくとも一部の記憶領域として実装され得る。
計測部15iは、アンテナ7iを用いて、設置場所の電界関連値を計測する。電界関連値は、設置場所の電界に関連したパラメータであり、例えば、装置内モジュール(タッチパネルコントローラ5cを制御しているCPU2等)が誤動作し得る電圧レベルのノイズに相当する妨害電波強度値であってもよいし、あるいは、装置内モジュールで使用している動作周波数及び/又はその高調波の周波数などであってもよい。計測部15iは、計測された電界関連値を評価部13iへ供給する。評価部13iは、電界関連値を計測部15iから受けると、記憶部16iを参照する。計測部15iは、電界関連閾値を記憶する。評価部13iは、電界関連閾値を記憶部16iから読み出し、電界関連閾値と電界関連値とを比較し、比較結果に応じて、抵抗膜式タッチパネル5に対する設置場所の電界の影響度を評価する。
評価部13iは、計測部15iで計測された電界関連値が電界関連閾値を超えていれば、マルチタッチ誤検出が発生する可能性が高いため、抵抗膜式タッチパネル5のマルチタッチ検出機能を無効化してもよい。例えば、タッチパネル装置1iは、図9に示すS1~S6の処理に代えて電界関連値を計測する処理を行い、S7の処理を電界関連値が電界関連閾値を超えているか否か判断する処理に置き換え、S8の処理を電界関連値の計測回数がN回に達したか否か判断する処理に置き換えた動作を行ってもよい。これにより、タッチ操作の誤検出を防止できる。