タッチ方式を用いた低価格の拡張ユーザ・インターフェースは、さまざまな民生用、医療用、自動車用、産業用デバイスにおいて重宝されている機能です。多くの民生用アプリケーションにおいて、抵抗性フィルム・センサー方式よりも高価な容量性タッチ・スクリーンの方が設計者に好まれる理由は、複数の指の動きを検出することができ、ユーザに親しみやすい操作性が得られると考えられているからです。現在、低価格の抵抗性フィルム・センサー方式が使われるのは、シングルタッチだけが要求される場合、きわめて正確な空間的分解能が最優先される場合、スタイラスが特定の機能(アジア系言語の文字認識など)を容易にする場合、またはユーザが手袋を着用しなければならない環境の場合などの、特定市場に限られています。
従来、抵抗性フィルム・センサー方式はスクリーン上でのシングルタッチの位置検出に用いられてきましたが、本稿は、抵抗性フィルム・センサー方式タッチスクリーン・コントローラ「AD7879」と安価な抵抗性フィルム・センサー方式タッチ・スクリーンを用いて最も一般的な2本指ジェスチャ(ズーム、ピンチ、回転)を検出する、新しいデュアルタッチの概念を紹介します。
抵抗性フィルム・センサー方式タッチ・スクリーンに対する古典的なアプローチ
代表的な抵抗性フィルム・センサー方式スクリーンには、ギャップによって区切られた2つの平行な酸化インジウム・スズ(ITO)の導電層があります(図1)。上層(Y)のエッジ電極は、下層(X) のエッジ電極に対して90°回転した位置にあります。「タッチ」が発生するのは、スクリーンの小さな領域に加えられた圧力によって2つの層が電気的に接触したときです。下層がフローティング状態のときに、このタッチによって上層の2つの電極間にDC電圧が加えられた場合、下層はタッチ・ポイントと同じ電圧になります。上層の電流方向におけるタッチ座標を特定するには、下層の電圧を測定して、タッチ・ポイントでの抵抗と全抵抗との比を求めます。次に、上下層の電気的接続を切り替えることにより、もう一方の軸でのタッチ・ポイントの座標が取得されます。
DC電圧が供給され、そのインピーダンスに反比例した電流を伝達する層は、『アクティブ』層と呼ばれます。電圧が測定される層は、関連する電流が流れないため、『パッシブ』層と呼ばれます。シングルタッチが発生するとアクティブ層に分圧器が形成され、A/Dコンバータは、パッシブ層の電圧測定によって、フィルム上の陰極からのタッチ・ポイントの距離に比例した電圧を読み出すことができます[1]。
従来型の4線抵抗性フィルム・センサー方式タッチ・スクリーンは、低価格であるため、シングルタッチ・アプリケーション(一度に一箇所のタッチ)に広く使われています。抵抗性フィルム・センサー方式によるマルチタッチ(複数箇所の同時タッチ)の実現には、マトリクス・レイアウト・スクリーンを内蔵するさまざまな技術を用いてきましたが、スクリーンの製造コストが大幅に増加しました。さらに、コントローラはさまざまなスクリーン上のセンサー部分を測定および駆動するために多くの入出力を必要とするので、コントローラのコストと測定時間も増加します。
シングルタッチを超える方法
それでも、このプロセスのもつ物理特性を理解してモデル化することによって、抵抗性フィルム・センサー方式タッチ・スクリーンからより多くの情報を得ることができます。2つのタッチが発生すると、パッシブ・スクリーンの抵抗の一部が2箇所のタッチ・コンタクトの抵抗を通してアクティブ・スクリーン側の伝導セグメントに並列接続されるため、電源から見たインピーダンスが減少し、電流が増加します。抵抗性フィルム・センサー方式コントローラに対する古典的なアプローチでは、アクティブ層を流れる電流は一定であり、パッシブ層は等電位であると想定します。2つのタッチの場合、これらの想定は成立しないため、所望の情報を取り出すには新たな測定が必要になります。
図2は、抵抗性フィルム・センサー方式スクリーンにおけるデュアルタッチ・センシングのモデルを示します。Rtouch は層間の接触抵抗です。現在入手できるスクリーンの大部分では、一般にこの値は2つの層の抵抗と同じオーダーになります。アクティブ層の端子間を定電流(I)が流れる場合、アクティブ層の両端の電圧は次のようになります。
ジェスチャ認識
ジェスチャ認識の背後にある考え方は、一例としてピンチ(下記注参照)を使用すればうまく説明できます。ピンチ・ジェスチャは、十分に離れた2本の指によるタッチで始まります。これは二重接触(2箇所の同時接触)になってスクリーンのインピーダンスが減少するため、アクティブ層のプレート間の電圧差も減少します。指が近づくにつれて並列領域が減少するため、スクリーンのインピーダンスが増加し、アクティブ層のプレート間の電圧差も増加します。
きつくピンチすると、並列抵抗はゼロに近づき、Ru + Rd は全抵抗まで増加するため、電圧は次の値まで増加します。(注:ピンチとは挟み込むという意味です。2箇所の接触からその位置を近づけてゆくという動作です。)
図3は、縦(Y) 軸に沿ってピンチが実行された例を示します。ジェスチャが開始されると、いずれか一方の層の電極間の電圧は一定ですが、もう一方の層では急激な減少を示し、その後、指が近づくにつれて増加します。
図4は、ピンチを斜めに実行したときの測定電圧を示します。この場合、両方の電圧は急激に減少しその後緩やかな回復を示します。両回復レートの比を、各層の抵抗により正規化すると、ジェスチャの角度を検出できます。
ジェスチャがズーム(指が離れる動作、ピンチの逆)である場合、数値の変化はこれまでの説明から推測できます。図5は、ズーム・ジェスチャが各軸に沿って実行された場合と斜め方向に実行された場合について、2つのアクティブ層で測定される電圧の傾向を示します。
AD7879によるジェスチャの検出
AD7879タッチスクリーン・コントローラは、4線抵抗性フィルム・センサー方式タッチ・スクリーンとインターフェースするように設計されています。タッチの検出に加えて、補助入力での温度と電圧も測定します。4つすべてのタッチ測定を、温度、バッテリ、補助電圧の測定とともに、内蔵シーケンサにプログラムすることができます。
図6に示すように、1対の低価格オペアンプと一緒にAD7879を使用すると、上記のピンチとズームのジェスチャ測定を行うことができます。
以下に、ジェスチャを認識するための手順を説明します。
- 最初の半サイクルでは、上(アクティブ)層にDC電圧が加えられ、X+ピンでの電圧(VY+ - VY- に相当)が測定されます。これは、Y方向の(くっついたり離れたりの)モーションに関連した情報を提供します。
- 次の半サイクルでは、下(アクティブ)層にDC電圧が加えられ、Y+ピンでの電圧(VX+ - VX- に相当)が測定されます。これは、X方向の(くっついたり離れたりの)モーションに関連した情報を提供します。
図6 の回路では、差動アンプをVDDへの短絡に対して保護する必要があります。最初の半サイクルでは、下側アンプの出力がVDDに短絡します。次の半サイクルでは、上側アンプの出力がVDDに短絡します。これを避けるため、図7 に示すように、AD7879 のGPIO(汎用デジタルIO ピン)によって2 個の外付けアナログ・スイッチを制御します。
この場合、AD7879はスレーブ変換モードにプログラムされ、1つの半サイクルだけが測定されます。AD7879が変換を完了すると、割込みが生成されます。ホスト・プロセッサは、AD7879を再プログラムして次の半サイクルを測定し、AD7879のGPIOの値を変更します。2番目の変換の最後に、2つの層に対する結果がデバイスに保存されます。
回転は、一方向の同時ズームと直交ピンチとしてモデル化できるため、その検出は難しくありません。課題は、時計回り(CW)と反時計回り(CCW)のジェスチャを見分けることです。これは、上述のプロセスでは達成できません。回転とその方向を検出するには、図8に示すように、2つの層(アクティブとパッシブ)での測定が必要です。図7の回路ではこの条件を満たせないため、図9にこれを実現する新しい回路トポロジーを提案します。
図9に提案する回路トポロジーでは、以下のことが可能です。
- 半サイクル1:Y層に電圧が加えられている間、(VY+ - VY-)、VX-、VX+が測定されます。AD7879は毎回の測定後に割込みを生成するので、プロセッサはGPIO設定を変更できます。
- 半サイクル2:X層に電圧が加えられている間、(VX+ - VX-)、VY-、VY+が測定されます。
図9の回路では、フル性能を達成するために必要なすべての電圧を測定できます。つまり、a) シングルタッチの位置、b) ズーム、ピンチ、および回転ジェスチャの検出と数量化、c)CW回転とCCW回転の識別が可能です。デュアルタッチ・ジェスチャの実行時のシングルタッチ動作を手がかりに、ジェスチャの重心が推定されます。
実用的なヒント
ソフト・ジェスチャに起因する電圧変動は、ごくわずかです。システムの堅牢性を向上させるには、スクリーンの電極とAD7879のピンの間に小さな抵抗を追加するなどの手段によって、これらの変動を増やすことができます。ただしこれによって、アクティブ層での電圧降下は増加しますが、シングルタッチの位置決め精度は若干低下します。
もう1つの方法としては、ローサイド接続にのみ抵抗を追加し、X電極とY電極のみをアクティブ層であるときに検出します。DC値はかなり低いため、こうすることによって若干のゲインを提供できます。
アナログ・デバイセズは、図6、図7、図9に示すアプリケーションのニーズを満たすさまざまなアンプとマルチプレクサを提供しています。回路のテストには、AD8506デュアル・オペアンプと、3.3V単電源で低いオン抵抗を提供するADG16xxアナログ・マルチプレクサ・ファミリーを用いました。
結論
ズーム、ピンチ、回転は、AD7879コントローラを最小限の周辺回路とともに使用して検出することができます。これらのジェスチャは、アクティブ層のみの測定によって特定できます。回転方向を見分けるには、ホスト・プロセッサの2個のGPIOを用いてパッシブ層の電圧を測定します。このプロセッサで実行されるかなり簡単なアルゴリズムによって、ズーム、ピンチ、回転を特定し、その範囲、角度、方向を推定することができます。
参考資料
(アナログ・デバイセズの全製品に関する情報は、www.analog.com.をご覧ください。)
[1] Gareth Finn。「携帯用ディスプレイで安定的な検出を可能にする新世代のタッチスクリーン・コントローラ」Analog Dialogue、Vol. 44、No. 2。2010 年2 月。
http://www.analog.com/jp/analog-to-digital-converters/touchscreen-controllers/products/cu_adbb4402jp/fca.html
謝辞
この研究の一部は、Instituto de la Mediana y Pequeña Industria Valenciana(IMPIVA)のプロジェクトIMIDTF/2009/15、およびスペイン文部科学省のプロジェクトConsolider/CSD2007-00018の支援を受けて行われました。
著者は、Colin Lyden、John Cleary、Susan Pratt の各氏との実り多い議論に感謝します。