以下、本発明の電子機器、及び、押圧検出プログラムを適用した実施の形態について説明する。
<実施の形態1>
図1は、実施の形態1の電子機器100を示す斜視図である。
電子機器100は、一例として、タッチパネルを入力操作部とする、スマートフォン端末機、又は、タブレット型コンピュータである。電子機器100は、タッチパネルを入力操作部とする機器であればよいため、例えば、携帯情報端末機、又は、ATM(Automatic Teller Machine)のように特定の場所に設置されて利用される機器であってもよい。
電子機器100の入力操作部101は、タッチパネルの下にディスプレイパネルが配設されており、ディスプレイパネルにGUI(Graphic User Interface)による様々なボタン102A、又は、スライダー102B等(以下、GUI操作部102と称す)が表示される。
電子機器100の利用者は、通常、GUI操作部102を操作するために、指先で入力操作部101に触れる。
次に、図2を用いて、電子機器100の具体的な構成について説明する。
図2は、実施の形態1の電子機器100を示す平面図であり、図3は、図2に示す電子機器100のA−A矢視断面を示す図である。なお、図2及び図3では、図示するように直交座標系であるXYZ座標系を定義する。
電子機器100は、筐体110、トップパネル120、両面テープ130、振動素子140、タッチパネル150、ディスプレイパネル160、及び基板170を含む。
筐体110は、例えば、樹脂製であり、図3に示すように凹部110Aに基板170、ディスプレイパネル160、及びタッチパネル150が配設されるとともに、両面テープ130によってトップパネル120が接着されている。
トップパネル120は、平面視で長方形の薄い平板状の部材であり、透明なガラス、又は、ポリカーボネートのような強化プラスティックで作製される。トップパネル120の表面(Z軸正方向側の面)は、電子機器100の利用者が操作入力を行う操作面の一例である。
トップパネル120は、Z軸負方向側の面に振動素子140が接着され、平面視における四辺が両面テープ130によって筐体110に接着されている。なお、両面テープ130は、トップパネル120の四辺を筐体110に接着できればよく、図3に示すように矩形環状である必要はない。
トップパネル120のZ軸負方向側にはタッチパネル150が配設される。トップパネル120は、タッチパネル150の表面を保護するために設けられている。なお、トップパネル120の表面に、さらに別なパネル又は保護膜等が設けられていてもよい。
トップパネル120は、Z軸負方向側の面に振動素子140が接着された状態で、振動素子140が駆動されることによって振動する。実施の形態1では、トップパネル120の固有振動周波数でトップパネル120を振動させて、トップパネル120に定在波を生じさせる。ただし、トップパネル120には振動素子140が接着されているため、実際には、振動素子140の重さ等を考慮した上で、固有振動周波数を決めることが好ましい。
振動素子140は、トップパネル120のZ軸負方向側の面において、Y軸正方向側において、X軸方向に伸延する短辺に沿って接着されている。振動素子140は、超音波帯の振動を発生できる素子であればよく、例えば、ピエゾ素子のような圧電素子を含むものを用いることができる。
振動素子140は、後述する駆動制御部から出力される駆動信号によって駆動される。振動素子140が発生する振動の振幅(強度)及び周波数は駆動信号によって設定される。また、振動素子140のオン/オフは駆動信号によって制御される。
なお、超音波帯とは、例えば、約20kHz以上の周波数帯をいう。実施の形態1の電子機器100では、振動素子140が振動する周波数は、トップパネル120の振動数と等しくなるため、振動素子140は、トップパネル120の固有振動数で振動するように駆動信号によって駆動される。
タッチパネル150は、ディスプレイパネル160の上(Z軸正方向側)で、トップパネル120の下(Z軸負方向側)に配設されている。タッチパネル150は、電子機器100の利用者がトップパネル120に触れる位置(以下、操作入力の位置と称す)を検出する位置検出部の一例である。
タッチパネル150の下にあるディスプレイパネル160には、GUIによる様々なボタン等(以下、GUI操作部と称す)が表示される。このため、電子機器100の利用者は、通常、GUI操作部を操作するために、指先でトップパネル120に触れる。
タッチパネル150は、利用者のトップパネル120への操作入力の位置を検出できる位置検出部であればよく、例えば、静電容量型又は抵抗膜型の位置検出部であればよい。ここでは、タッチパネル150が静電容量型の位置検出部である形態について説明する。タッチパネル150とトップパネル120との間に隙間があっても、静電容量型のタッチパネル150は、トップパネル120への操作入力を検出できる。
また、ここでは、タッチパネル150の入力面側にトップパネル120が配設される形態について説明するが、トップパネル120はタッチパネル150と一体的であってもよい。この場合、タッチパネル150の表面が図2及び図3に示すトップパネル120の表面になり、操作面を構築する。また、図2及び図3に示すトップパネル120を省いた構成であってもよい。この場合も、タッチパネル150の表面が操作面を構築する。また、この場合には、操作面を有する部材を、当該部材の固有振動で振動させればよい。
また、タッチパネル150が静電容量型の場合は、トップパネル120の上にタッチパネル150が配設されていてもよい。この場合も、タッチパネル150の表面が操作面を構築する。また、タッチパネル150が静電容量型の場合は、図2及び図3に示すトップパネル120を省いた構成であってもよい。この場合も、タッチパネル150の表面が操作面を構築する。また、この場合には、操作面を有する部材を、当該部材の固有振動で振動させればよい。
ディスプレイパネル160は、例えば、液晶ディスプレイパネル又は有機EL(Electroluminescence)パネル等の画像を表示できる表示部であればよい。ディスプレイパネル160は、筐体110の凹部110Aの内部で、図示を省略するホルダ等によって基板170の上(Z軸正方向側)に設置される。
ディスプレイパネル160は、後述するドライバIC(Integrated Circuit)によって駆動制御が行われ、電子機器100の動作状況に応じて、GUI操作部、画像、文字、記号、図形等を表示する。
基板170は、筐体110の凹部110Aの内部に配設される。基板170の上には、ディスプレイパネル160及びタッチパネル150が配設される。ディスプレイパネル160及びタッチパネル150は、図示を省略するホルダ等によって基板170及び筐体110に固定されている。
基板170には、後述する駆動制御装置の他に、電子機器100の駆動に必要な種々の回路等が実装される。
以上のような構成の電子機器100は、トップパネル120に利用者の指が接触すると、基板170に実装される駆動制御部が振動素子140を駆動し、トップパネル120を超音波帯の周波数で振動させる。この超音波帯の周波数は、トップパネル120と振動素子140とを含む共振系の共振周波数であり、トップパネル120に定在波を発生させる。
電子機器100は、超音波帯の定在波を発生させることにより、トップパネル120を通じて利用者に触感を提供する。
また、電子機器100は、GUI操作部が押圧され、押圧の度合(以下、押圧度合)が第1閾値以上になると、そのGUI操作部への入力を受け付ける。そして、電子機器100は、押圧度合が第1閾値よりも低い第2閾値以下になると、押圧する操作が終了したと判定する。このような処理については後述する。
なお、押圧とは、利用者の指先がトップパネル120に触れて操作入力を行っている状態から、指先でトップパネル120を厚さ方向(Z軸方向)に押すことをいう。電子機器100は、利用者の指先がトップパネルを厚さ方向に押す力が所定の大きさ以上になった場合に押圧されていると判定する。
次に、図4を用いて、トップパネル120に発生させる定在波について説明する。
図4は、超音波帯の固有振動によってトップパネル120に生じる定在波のうち、トップパネル120の短辺に平行に形成される波頭を示す図であり、図4の(A)は側面図、(B)は斜視図である。図4の(A)、(B)では、図2及び図3と同様のXYZ座標を定義する。なお、図4の(A)、(B)では、理解しやすさのために、定在波の振幅を誇張して示す。また、図4の(A)、(B)では振動素子140を省略する。
トップパネル120のヤング率E、密度ρ、ポアソン比δ、長辺寸法l、厚さtと、長辺方向に存在する定在波の周期数kとを用いると、トップパネル120の固有振動数(共振周波数)fは次式(1)、(2)で表される。定在波は1/2周期単位で同じ波形を有するため、周期数kは、0.5刻みの値を取り、0.5、1、1.5、2・・・となる。
なお、式(2)の係数αは、式(1)におけるk2以外の係数をまとめて表したものである。
図4の(A)、(B)に示す定在波は、一例として、周期数kが10の場合の波形である。例えば、トップパネル120として、長辺の長さlが140mm、短辺の長さが80mm、厚さtが0.7mmのGorilla(登録商標)ガラスを用いる場合には、周期数kが10の場合に、固有振動数fは33.5[kHz]となる。この場合は、周波数が33.5[kHz]の駆動信号を用いればよい。
また、周期数kが11の場合には、共振振動数は38.6[kHz]となる。この場合は、周波数が38.6[kHz]の駆動信号を用いればよい。
トップパネル120の振幅は、例えば、数μm程度であり、トップパネル120と振動素子140の変形量が小さいため、駆動信号の振幅(電圧)と、トップパネル120の振幅と、振動素子140に流れる電流量とは比例関係になる。
トップパネル120が共振周波数で振動素子140によって駆動されるときには、トップパネル120の振幅は、振動素子140を駆動する駆動信号の振幅(電圧)に応じて変化し、振動素子140に流れる電流量は、トップパネル120の振幅に応じて変化する。
トップパネル120は、平板状の部材であるが、振動素子140(図2及び図3参照)を駆動して超音波帯の固有振動を発生させると、図4の(A)、(B)に示すように撓むことにより、表面に定在波が生じる。
なお、ここでは、1つの振動素子140がトップパネル120のZ軸負方向側の面において、Y軸正方向側において、X軸方向に伸延する短辺に沿って接着される形態について説明するが、振動素子140を2つ用いてもよい。2つの振動素子140を用いる場合は、もう1つの振動素子140をトップパネル120のZ軸負方向側の面において、Y軸負方向側において、X軸方向に伸延する短辺に沿って接着すればよい。この場合に、2つの振動素子140は、トップパネル120の2つの短辺に平行な中心線を対称軸として、軸対称になるように配設すればよい。
また、2つの振動素子140を駆動する場合は、周期数kが整数の場合は同一位相で駆動すればよく、周期数kが小数(整数部と小数部とを含む数)の場合は逆位相で駆動すればよい。
次に、図5を用いて、電子機器100のトップパネル120に生じさせる超音波帯の固有振動について説明する。
図5は、電子機器100のトップパネル120に生じさせる超音波帯の固有振動により、操作入力を行う指先に掛かる動摩擦力が変化する様子を説明する図である。図5の(A)、(B)では、利用者が指先でトップパネル120に触れながら、指をトップパネル120の奥側から手前側に矢印に沿って移動する操作入力を行っている。なお、振動のオン/オフは、振動素子140(図2及び図3参照)をオン/オフすることによって行われる。
また、図5の(A)、(B)では、トップパネル120の奥行き方向において、振動がオフの間に指が触れる範囲をグレーで示し、振動がオンの間に指が触れる範囲を白く示す。
超音波帯の固有振動は、図4に示すようにトップパネル120の全体に生じるが、図5の(A)、(B)には、利用者の指がトップパネル120の奥側から手前側に移動する間に振動のオン/オフを切り替える動作パターンを示す。
このため、図5の(A)、(B)では、トップパネル120の奥行き方向において、振動がオフの間に指が触れる範囲をグレーで示し、振動がオンの間に指が触れる範囲を白く示す。
図5の(A)に示す動作パターンでは、利用者の指がトップパネル120の奥側にあるときに振動がオフであり、指を手前側に移動させる途中で振動がオンになっている。
一方、図5の(B)に示す動作パターンでは、利用者の指がトップパネル120の奥側にあるときに振動がオンであり、指を手前側に移動させる途中で振動がオフになっている。
ここで、トップパネル120に超音波帯の固有振動を生じさせると、トップパネル120の表面と指との間にスクイーズ効果による空気層が介在し、指でトップパネル120の表面をなぞったときの動摩擦係数が低下する。
従って、図5の(A)では、トップパネル120の奥側にグレーで示す範囲では、指先に掛かる動摩擦力は大きく、トップパネル120の手前側に白く示す範囲では、指先に掛かる動摩擦力は小さくなる。
このため、図5の(A)に示すようにトップパネル120に操作入力を行う利用者は、振動がオンになると、指先に掛かる動摩擦力の低下を感知し、指先の滑り易さを知覚することになる。このとき、利用者はトップパネル120の表面がより滑らかになることにより、動摩擦力が低下するときに、トップパネル120の表面に凹部が存在するように感じる。
一方、図5の(B)では、トップパネル120の奥前側に白く示す範囲では、指先に掛かる動摩擦力は小さく、トップパネル120の手前側にグレーで示す範囲では、指先に掛かる動摩擦力は大きくなる。
このため、図5の(B)に示すようにトップパネル120に操作入力を行う利用者は、振動がオフになると、指先に掛かる動摩擦力の増大を感知し、指先の滑り難さ、あるいは、引っ掛かる感じを知覚することになる。そして、指先が滑りにくくなることにより、動摩擦力が高くなるときに、トップパネル120の表面に凸部が存在するように感じる。
以上より、図5の(A)と(B)の場合は、利用者は指先で凹凸を感じ取ることができる。このように人間が凹凸の知覚することは、例えば、"触感デザインのための印刷物転写法とSticky-band Illusion"(第11回計測自動制御学会システムインテグレーション部門講演会論文集 (SI2010, 仙台)____174-177, 2010-12)に記載されている。また、"Fishbone Tactile Illusion"(日本バーチャルリアリティ学会第10 回大会論文集(2005 年9 月))にも記載されている。
なお、ここでは、振動のオン/オフを切り替える場合の動摩擦力の変化について説明したが、これは、振動素子140の振幅(強度)を変化させた場合も同様である。
次に、図6を用いて、実施の形態1の電子機器100の構成について説明する。
図6は、実施の形態1の電子機器100の構成を示す図である。
電子機器100は、振動素子140、アンプ141、タッチパネル150、ドライバIC(Integrated Circuit)151、ディスプレイパネル160、ドライバIC161、電流検出部180、制御部200、正弦波発生器310、及び振幅変調器320を含む。
制御部200は、アプリケーションプロセッサ220、通信プロセッサ230、駆動制御部240、及びメモリ250を有する。制御部200は、例えば、ICチップで実現される。
なお、ここでは、アプリケーションプロセッサ220、通信プロセッサ230、駆動制御部240、及びメモリ250が1つの制御部200によって実現される形態について説明するが、駆動制御部240は、制御部200の外部に別のICチップ又はプロセッサとして設けられていてもよい。この場合には、メモリ250に格納されているデータのうち、駆動制御部240の駆動制御に必要なデータは、メモリ250とは別のメモリに格納しておけばよい。
図6では、筐体110、トップパネル120、両面テープ130、及び基板170(図2参照)は省略する。また、ここでは、アンプ141、ドライバIC151、ドライバIC161、電流検出部180、アプリケーションプロセッサ220、駆動制御部240、メモリ250、正弦波発生器310、及び振幅変調器320について説明する。
アンプ141は、電流検出部180と振動素子140との間に配設されており、振幅変調器320から出力される駆動信号を増幅して振動素子140を駆動する。
ドライバIC151は、タッチパネル150に接続されており、タッチパネル150への操作入力があった位置を表す位置データを検出し、位置データを制御部200に出力する。この結果、位置データは、アプリケーションプロセッサ220と駆動制御部240に入力される。
ドライバIC161は、ディスプレイパネル160に接続されており、アプリケーションプロセッサ220から出力される描画データをディスプレイパネル160に入力し、描画データに基づく画像をディスプレイパネル160に表示させる。これにより、ディスプレイパネル160には、描画データに基づくGUI操作部又は画像等が表示される。
電流検出部180は、振幅変調器320とアンプ141との間に設けられており、振幅変調器320からアンプ141に出力される駆動信号の電流値を検出する。電流検出部180は、検出した電流値を表す電流データをアプリケーションプロセッサ220に出力する。
電流検出部180は、例えば、振幅変調器320とアンプ141を接続する配線に直列に挿入される抵抗器を用いて、抵抗器の両端間電圧を検出し、両端間電圧を抵抗器の抵抗値で除算して電流値を求めるセンサであればよい。
アプリケーションプロセッサ220は、主制御部220Aを含む。主制御部220Aは、電子機器100の種々のアプリケーションを実行する処理を行う。
また、アプリケーションプロセッサ220は、トップパネル120の押圧を検出し、押圧による操作入力を受け付ける処理に関する構成要素として、位相補正部221、振幅比算出部222、押圧力算出部223、押圧判定部224、及び入力処理部225を含む。アプリケーションプロセッサ220は、これらの構成要素以外にも、種々のアプリケーションを実行する処理部を含むが、ここでは省略する。
位相補正部221は、振幅変調器320から出力される駆動信号の電圧波形を検出する。電子機器100では、トップパネル120の押圧を検出する際に、駆動信号の電圧と電流の比を用いる。駆動信号の電圧と電流の比を求める際に、電圧と電流の位相を合わせるために位相補正部221を設けている。
このため、位相補正部221は、駆動信号の電圧を検出して電圧の位相を補正し、駆動信号の電流の位相に合わせる。振幅変調器320から位相補正部221に入力される駆動信号は、振幅変調器320から出力される駆動信号のうちのごく微小な電流量であり、振幅変調器320からアンプ141に入力される駆動信号に影響を与えることはない。
位相補正部221は、例えば、駆動信号の電圧をデジタル変換するA/D(Analog to Digital)コンバータと、デジタル変換した駆動信号の電圧の位相をシフトするバッファとを含み、駆動信号の電圧の位相を補正する。位相補正部221は、駆動信号の電圧波形の位相を補正し、位相が補正された駆動信号の電圧波形を出力する。
位相補正部221が駆動信号の電圧の位相を補正するのは、振動素子140が容量型の素子であることから、駆動信号の電圧と電流に位相差が生じる場合があるからである。
位相補正部221が補正する駆動信号の電圧の位相は、実験及び/又はシミュレーション等で予め求めておけばよい。なお、駆動信号の電圧と電流と位相差が生じない場合には、アプリケーションプロセッサ220は、位相補正部221を含まなくてもよい。また、ここでは、位相補正部221が駆動信号の電圧の位相を補正する形態について説明するが、位相補正部221を電流検出部180と振幅比算出部222との間に設けて、位相補正部221が駆動信号の電流の位相を補正して、駆動信号の電圧の位相に合わせるようにしてもよい。
振幅比算出部222は、電流検出部180から入力される電流データをデジタル変換するA/Dコンバータを含む。電流検出部180から入力される電流データは、アナログ値である。
振幅比算出部222は、デジタル変換された電流データが表す電流と、位相補正部221によって位相が補正された駆動信号の電圧との比を算出し、押圧力算出部223に出力する。
振幅比算出部222は、デジタル変換された電流データが表す電流の電流波形と、位相が補正された駆動信号の電圧の電圧波形との比を算出する。より具体的には、振幅比算出部222は、デジタル変換された電流データが表す電流の電流波形を、位相が補正された駆動信号の電圧の電圧波形で除算することにより、電流と電圧との比を算出する。なお、振幅比算出部222が算出する比は、第1の比の一例である。
押圧力算出部223は、振幅比算出部222によって算出される比を用いて、トップパネル120に掛かる押圧力を算出する。押圧力算出部223は、トップパネル120が押圧されていない状態における駆動信号の電流と電圧との比から、振幅比算出部222によって算出される比を減算し、減算して得る値に所定の係数を乗算することによって押圧力を算出する。
押圧力算出部223によって算出される押圧力は、押圧度合の一例である。トップパネル120が押圧されていない状態における駆動信号の電流と電圧との比は、第2の比の一例である。なお、押圧力の具体的な算出方法と、所定の係数とについては、後述する。
押圧判定部224は、押圧力算出部223によって算出される押圧力が第1閾値以上になると、トップパネル120が押圧された(押圧が開始した)と判定し、押圧判定フラグをオンに設定する。
トップパネル120が押圧されたと押圧判定部224が判定することは、押圧による入力内容が確定したことを意味する。押圧判定フラグとは、押圧が行われているかどうかを表すフラグである。押圧判定フラグをオンに設定することは、押圧判定フラグの値が'1'に設定されることである。
また、押圧判定部224は、押圧力算出部223によって算出される押圧力が第1閾値よりも低い第2閾値以下になると、押圧が終了したと判定する。この場合には、押圧判定部224は、押圧判定フラグをオフに設定する。押圧判定フラグをオフに設定することは、押圧判定フラグの値が'0'に設定されることである。押圧判定部224は、押圧判定フラグを入力処理部225に出力する。
すなわち、押圧判定部224は、押圧力算出部223によって算出される押圧力に基づいて、トップパネル120が押圧されたかどうかを判定する。
なお、第1閾値と第2閾値を表すデータは、メモリ250に格納しておけばよい。
入力処理部225は、トップパネル120が押圧されたと押圧判定部224が判定すると、トップパネル120の押圧によって行われた入力内容を判定し、判定結果を表すデータを主制御部220Aに出力する。この結果、主制御部220Aは、押圧によって行われる入力内容に応じた処理を行う。
例えば、GUI操作部が電話をかけるGUIボタンであり、電話をかけるGUIボタンが押圧された場合には、入力処理部225は、押圧による入力内容は、電話をかける操作であると判定し、電話をかける操作が行われたことを表す信号を主制御部220Aに伝送する。この結果、主制御部220Aは、電話をかける処理を行う。
通信プロセッサ230は、電子機器100が3G(Generation)、4G(Generation)、LTE(Long Term Evolution)、WiFi等の通信を行うために必要な処理を実行する。
駆動制御部240は、振幅データを振幅変調器320に出力する。振幅データは、振動素子140の駆動に用いる駆動信号の強度を調整するための振幅値を表すデータであり、駆動信号の振幅(電圧)を表す。
振幅値は、位置データと振動が開始してからの経過時間に応じて設定される。なお、ここでは一例として、振幅値が位置データと振動が開始してからの経過時間とに応じて設定される形態について説明するが、利用者の指先の移動に応じて振幅値を変化させてもよい。
また、実施の形態1の電子機器100は、利用者の指先がトップパネル120に触れているときと、利用者の指先がトップパネル120の表面に沿って移動しているときにトップパネル120を振動させる。
利用者の指先がトップパネル120の表面に沿って移動したときにトップパネル120を振動させると、指先に掛かる動摩擦力が変化する。
また、電子機器100は、操作入力を行う指先の位置が、振動を発生させるべき所定の領域内にある場合に、振幅データを振幅変調器320に出力する。
操作入力を行う指先の位置が振動を発生させるべき所定の領域内にあるかどうかは、操作入力を行う指先の位置が、振動を発生させるべき所定の領域の内部にあるか否かに基づいて判定される。
ここで、ディスプレイパネル160に表示するGUI操作部、画像を表示する領域、又は、ページ全体を表す領域等のディスプレイパネル160上における位置は、当該領域を表す領域データによって特定される。領域データは、すべてのアプリケーションにおいて、ディスプレイパネル160に表示されるすべてのGUI操作部、画像を表示する領域、又は、ページ全体を表す領域について存在する。
このため、操作入力を行う指先の位置が、振動を発生させるべき所定の領域内にあるかどうかを判定する際には、電子機器100が起動しているアプリケーションの種類が関係することになる。アプリケーションの種類により、ディスプレイパネル160の表示が異なるからである。
また、アプリケーションの種類により、トップパネル120の表面に触れた指先を移動させる操作入力の種類が異なるからである。トップパネル120の表面に触れた指先を移動させる操作入力の種類としては、例えば、GUI操作部を操作する際には、所謂フリック操作がある。フリック操作は、指先をトップパネル120の表面に沿って、はじく(スナップする)ように比較的短い距離移動させる操作である。
また、ページを捲る場合には、例えば、スワイプ操作を行う。スワイプ操作は、指先をトップパネル120の表面に沿って掃くように比較的長い距離移動させる操作である。スワイプ操作は、ページを捲る場合の他に、例えば、写真を捲る場合に行われる。また、GUI操作部によるスライダー(図1のスライダー102B参照)をスライドさせる場合には、スライダーをドラッグするドラッグ操作が行われる。
ここで一例として挙げるフリック操作、スワイプ操作、及びドラッグ操作のように、トップパネル120の表面に触れた指先を移動させる操作入力は、アプリケーションによる表示の種類によって使い分けられる。このため、操作入力を行う指先の位置が、振動を発生させるべき所定の領域内にあるかどうかを判定する際には、電子機器100が起動しているアプリケーションの種類が関係することになる。
駆動制御部240は、領域データを用いて、ドライバIC151から入力される位置データが表す位置が、振動を発生させるべき所定の領域の内部にあるか否かを判定する。
アプリケーションの種類を表すデータと、操作入力が行われるGUI操作部等を表す領域データと、振動パターンを表すパターンデータとを関連付けたデータは、メモリ250に格納されている。
駆動制御部240は、操作入力を行う指先の位置が、振動を発生させるべき所定の領域内にある場合に、位置データに対応する振幅値を表す振幅データをメモリ250から読み出して、振幅変調器320に出力する。
メモリ250は、振幅値を表す振幅データと、振動を生じさせる領域を表す領域データとの関係を表すデータを格納する。また、メモリ250は、アプリケーションの種類を表すデータと、操作入力が行われるGUI操作部等を表す領域データと、振動パターンを表すパターンデータとを関連付けたデータを格納する。
また、メモリ250は、アプリケーションプロセッサ220がアプリケーションの実行に必要とするデータ及びプログラム、及び、通信プロセッサ230が通信処理に必要とするデータ及びプログラム等を格納する。
正弦波発生器310は、トップパネル120を固有振動数で振動させるための駆動信号を生成するのに必要な正弦波を発生させる。例えば、トップパネル120を38.6[kHz]の固有振動数fで振動させる場合は、正弦波の周波数は、38.6[kHz]となる。
正弦波発生器310が発生する正弦波信号は、超音波帯の固有振動を発生させる駆動信号の元になる交流の基準信号であり、一定の周波数と一定の位相を有する。正弦波発生器310は、超音波帯の正弦波信号を振幅変調器320に入力する。
なお、ここでは、正弦波信号を発生する正弦波発生器310を用いる形態について説明するが、正弦波信号ではなくてもよい。例えば、クロックの立ち上がりと立ち下がりの波形を鈍らせたような波形の信号を用いてもよい。このため、超音波帯の交流信号を発生する信号発生器を正弦波発生器310の代わりに用いてもよい。
振幅変調器320は、駆動制御部240から入力される振幅データを用いて、正弦波発生器310から入力される正弦波信号の振幅を変調して駆動信号を生成する。振幅変調器320は、正弦波発生器310から入力される超音波帯の正弦波信号の振幅のみを変調し、周波数及び位相は変調せずに、駆動信号を生成する。
このため、振幅変調器320が出力する駆動信号は、正弦波発生器310から入力される超音波帯の正弦波信号の振幅のみを変調した超音波帯の正弦波信号である。なお、振幅データがゼロの場合は、駆動信号の振幅はゼロになる。これは、振幅変調器320が駆動信号を出力しないことと等しい。
図7は、電流検出部180を示す図である。
電流検出部180は、抵抗器181と、電流検出IC(Integrated Circuit)182とを有する。抵抗器181は、振幅変調器320とアンプ141を接続する配線に直列に挿入されている。電流検出IC182は、差動アンプと(Analog to Digital Converter)とを有し、抵抗器181の両端間電圧を検出し、両端間電圧を抵抗器181の抵抗値で除算して電流値を求める。求めた電流値を表すデータは、アプリケーションプロセッサ220に伝送される。
図8は、押圧の有無と駆動信号の電圧及び電流との関係を示す図である。
図8の(A1)と(B1)に断面で示す電子機器100には、駆動信号の電流を検出する電流検出部180と、駆動制御部240、正弦波発生器310、及び振幅変調器320を纏めた交流源とを示す。図8の(A1)は押圧無しの場合であり、利用者の指先はトップパネル120から離れている。図8の(B1)は押圧有りの場合であり、利用者の指先はトップパネル120をZ軸負方向に押圧している。なお、断面で示す電子機器100のトップパネル120に示す波形は、超音波帯の固有振動を模式的に示している。
押圧無しの場合には、図8の(A1)に示すように、電子機器100のトップパネル120には、設計値通りの振幅の超音波帯の固有振動が発生する。このときの駆動信号の電圧Vp1と電流Ip1は、図8の(A2)と(A3)に示す通りである。
これに対して、押圧有りの場合には、図8の(B1)に示すように、電子機器100のトップパネル120に生じる超音波帯の固有振動の振幅は、押圧無しの場合よりも小さくなる。利用者の指によって押圧されているからである。
このときの駆動信号の電圧Vp2は、図8の(B2)に示すように、押圧無しの場合の電圧Vp1と等しいが、駆動信号の電流Ip2は、図8の(B3)に示すように、押圧無しの場合の電流Ip1よりも減少し、振幅が小さくなる。
振動素子140に流れる電流は、振動素子140の振動の振幅に略比例しており、トップパネル120が押圧されて超音波帯の固有振動の振幅が小さくなることは、振動素子140の振動の振幅が小さくなることを意味するからである。
図9は、押圧力と、駆動信号の電流及び電圧の比との関係を示す図である。図9において、横軸は駆動信号の周波数(Hz)であり、縦軸は、駆動信号の電流Ip及び電圧Vpの比Ip/Vpである。図9に示す特性は、実験で得られたものである。
押圧力が0g(ゼログラム)である場合には、比Ip/Vpは、共振周波数である38.6kHz(f1)で最大値(約0.15)になる。押圧力が100gである場合には、比Ip/Vpは、38.6kHzで約0.09に低下し、押圧力が200gである場合には、比Ip/Vpは、38.6kHzで約0.085に低下する。押圧によって電流値が減るためである。
なお、押圧によってトップパネル120の振動モードに多少の変化が生じるため、押圧力が100gと200gの場合には、比Ip/Vpの最大値が得られる共振周波数が少し高周波数側にシフトする。
図10は、図9に示す実験結果を押圧力と比Ip/Vpとの関係で纏めた図である。図10に示す比Ip/Vpは、トップパネル120の設計上の共振周波数である38.6kHz(f1)における値である。
図10に示すように、押圧力の増大に伴い、比Ip/Vpが低下していることが分かる。
図11は、電子機器100の操作の様子を示す図である。図12は、図11のように操作された場合における、押圧力、駆動信号の振幅、及び比Ip/Vpを示す図である。なお、図11には、電子機器100のトップパネル120、タッチパネル150、及びディスプレイパネル160をトップパネル120側から見た状態を示す。ここでは、一例として、振幅がA1で一定の駆動信号を用いて振動素子140を振動する場合について説明する。
図11に示すように、ディスプレイパネル160にGUI操作部としてのアイコン191Aが表示されている状態において、利用者がトップパネル120の位置P1からスワイプ操作を開始し、位置P2でアイコン191Aの左端に到達し、アイコン191Aの中央(位置P3)でアイコン191Aを押圧し、押圧した後に位置P3で指先をトップパネル120から離したとする。また、振動素子140(図6参照)は、アイコン191Aの表示領域内で操作入力が行われた場合に駆動されることとする。
このような場合には、図12に示すように押圧が検出される。時刻t11において、利用者がトップパネル120の位置P1に触れると、位置P1はアイコン191Aの表示領域の外であるため、振動素子140は駆動されず、駆動信号の振幅はゼロである。
時刻t12において、スワイプ操作を行っている利用者の指先がトップパネル120の位置P2に到達すると、位置P2はアイコン191Aの表示領域内であるため、振動素子140が駆動され、駆動信号の振幅はA1になる。
スワイプ操作を行っているときは、指先はトップパネル120の表面に軽く触れているため、押圧力はP1である。P1はごく小さい押圧力である。また、振動素子140が駆動されることによって振動素子140には電圧と電流が供給されるため、時刻t12で比Ip/VpはR1となる。
時刻t13において、スワイプ操作を行っている利用者の指先がトップパネル120の位置P3に到達し、利用者が指先を移動させずに押圧を開始する。
操作入力の位置(指先の位置)が停止していても、アイコン191Aの表示領域内にあるため、駆動信号の振幅はA1に保持される。
また、押圧力が増大するため、振動素子140に供給される電流が減少するため、時刻t13で比Ip/VpはR1から低下し始める。
時刻t14において、押圧力が第1閾値に到達する。第1閾値は、押圧判定部224が押圧の開始を判定する場合に用いる閾値である。時刻t14では、操作入力の位置(指先の位置)が停止していても、アイコン191Aの表示領域内にあるため、駆動信号の振幅はA1に保持される。
また、時刻t14では、比Ip/Vpは第3閾値に到達する。第3閾値は、第1閾値に対応する比Ip/Vpを表す。
時刻t14の直後に押圧力は最大値を取り、利用者は押圧力を徐々に減らし始める。
そして、時刻t15において、押圧力が第2閾値まで低下する。第2閾値は、押圧判定部224が押圧の終了を判定する場合に用いる閾値である。時刻t15では、操作入力の位置(指先の位置)が停止していても、アイコン191Aの表示領域内にあるため、駆動信号の振幅はA1に保持される。
また、時刻t15では、比Ip/Vpは第4閾値に到達する。第4閾値は、第2閾値に対応する比Ip/Vpを表す。押圧力と比Ip/Vpは反比例の関係にあるため、第4閾値は、第3閾値よりも高い値を有する。
時刻t16において、利用者の指先が位置P3においてトップパネル120から離れると、押圧力はゼロになる。また、指先がトップパネル120から離れることによって振動素子140が停止され、駆動信号の振幅はゼロになる。
以上の動作は一例に過ぎないが、このようにして電子機器100は、押圧を検出する。なお、ここでは、アイコン191Aを操作する場合の電子機器100の動作について説明したが、アイコン191B〜191Gを操作する場合も電子機器100は同様に動作を行う。
次に、図13乃至図15を用いて、メモリ250にデータについて説明する。
図13乃至図15は、メモリ250に格納されるデータを示す図である。
図13に示すデータは、アプリケーションの種類を表すデータと、操作入力が行われるGUI操作部等が表示される領域の座標値を表す領域データ(X座標の範囲、Y座標の範囲)と、振動パターンを表すパターンデータとを関連付けたデータである。
換言すれば、図13に示すデータは、振動素子140を振動させる領域(以下、対象領域と称す)の種類と、領域データ(X座標の範囲、Y座標の範囲)と、振動パターンを表すパターンデータとを関連付けたデータである。
図13では、アプリケーションの種類を表すデータとして、アプリケーションID(Identification)を示す。また、対象領域の種類として、対象領域1〜対象領域7を示す。また、対象領域の領域データとして、操作入力が行われるGUI操作部等が表示される領域のX座標の範囲とY座標の範囲を示す。また、振動パターンを表すパターンデータとして、P1〜P4を示す。
図14に示すデータは、振動を開始してからの経過時間(ms(ミリ秒))と、振幅データとを含む。図12には、振幅がA1で一定の駆動信号を用いて振動素子140を振動する場合について説明したが、図14には、振動を開始してからの経過時間に応じて振幅が変化する振幅データを示す。
ここでは、一例として、経過時間は10ms毎に0msから120msまでを示す。振幅データは、駆動信号の振幅(電圧)を表し、振動パターンP1〜P4のそれぞれについてデータが用意されている。
図14に示す振幅データを駆動制御部240がメモリ250から読み出して振幅変調器320に出力することにより、時間の経過とともに、正弦波発生器310から出力される超音波帯の正弦波信号の振幅が振幅変調器320によって変調される。
図15は、押圧力算出部223が比Ip/Vpを用いて押圧力を算出する場合に用いるテーブル形式のデータの一例を示す。押圧力が0g(ゼログラム)である場合の比Ip0/Vp0から、押圧力が掛かったときの比Ip/Vpを減算した比の差分(Ip0/Vp0−Ip/Vp)と、押圧変換係数PFとを関連付けたデータである。
押圧力が0g(ゼログラム)である場合の比Ip0/Vp0から、押圧力が掛かったときの比Ip/Vpを減算した比の差分(Ip0/Vp0−Ip/Vp)を用いるのは、次のような理由による。すなわち、押圧力が0gのときの比Ip0/Vp0を基準にして、押圧力が掛かることによって比Ip/Vpが変化した差分を求めれば、トップパネル120に掛かる押圧力に対応する比Ip/Vpの変化分を求めることができるからである。
押圧変換係数PFを用いると、押圧力Fmは次式(3)で求めることができる。
Fm=PF×(Ip0/Vp0−Ip/Vp) (3)
すなわち、押圧変換係数PFは、比の差分(Ip0/Vp0−Ip/Vp)から押圧力Fmを求めるための係数である。
図15に示す押圧変換係数PFは、押圧力に対してトップパネル120が線形的に変形する場合の値である。このため、比の差分(Ip0/Vp0−Ip/Vp)が増大しても、押圧変換係数PFは一定値(25)に設定されている。押圧変換係数PFの値は、トップパネル120の寸法及び/又はヤング率等の値に応じて、最適な値に設定すればよい。
なお、押圧力が0g(ゼログラム)である場合の比Ip0/Vp0を表すデータもメモリ250に格納しておけばよい。
図16は、アプリケーションプロセッサ220が実行する処理を示すフローチャートである。
アプリケーションプロセッサ220は、位置データを検出すると、処理を開始する(スタート)。すなわち、ドライバIC151から主制御部220Aに位置データが入力されると処理が開始される。
アプリケーションプロセッサ220は、位置データが表す座標が対象領域内にあるかどうかを判定する(ステップS1)。より具体的には、主制御部220Aは、位置データが表す座標が、図13に示す対象領域の領域データに含まれるかどうかを判定する。
アプリケーションプロセッサ220は、振動素子140が対象領域内にある(S1:YES)と判定すると、対象領域に関連付けられた振動パターンに対応する振幅データを図14に示すデータから読み出して、駆動制御部240から出力させる(ステップS2)。ステップS2の処理は、主制御部220Aが実行すればよい。
アプリケーションプロセッサ220は、駆動信号の電流値と電圧値を取得する(ステップS3)。ここで、電流値と電圧値は、例えば、駆動信号の1周期の期間にわたって取得すればよい。駆動信号の周波数は、正弦波信号の周波数と等しいため、正弦波信号の1周期の期間にわたって電流値と電圧値を取得すればよい。
ステップS3では、電流値を表す電流波形データと、電圧値を表す電圧波形データとが取得される。電流波形データと電圧波形データは、正弦波の式で表される。ステップS3の処理のうち、電流値の取得は、振幅比算出部222が実行すればよく、電圧値の取得は、位相補正部221が実行すればよい。
なお、電流値と電圧値を取得する期間は、駆動信号の1周期の期間に限らず、駆動信号の1周期の期間よりも長くても短くてもよい。
アプリケーションプロセッサ220は、ステップS3で取得した電圧波形データの位相を補正する(ステップS4)。ステップS4の処理は、位相補正部221が実行すればよい。ステップS4の処理により、電流波形データの位相と、電圧波形データの位相とが合わせられる。位相が補正された電圧波形データは、振幅比算出部222に入力される。
アプリケーションプロセッサ220は、電流波形データを電圧波形データで除算することにより、比Ip/Vpを算出する(ステップS5)。ステップS5の処理は、振幅比算出部222が電流波形データを表す式を電圧波形データを表す式で除算することによって実行すればよい。
アプリケーションプロセッサ220は、ステップS5で算出した比Ip/Vpと、押圧力が0g(ゼログラム)である場合の比Ip0/Vp0とを用いて、比Ip0/Vp0から比Ip/Vpを減算した比の差分(Ip0/Vp0−Ip/Vp)を求め、押圧力Fmを算出(ステップS6)。
ステップS5の処理は、押圧力算出部223が押圧変換係数PFを含むデータ(図15参照)を用いて、式(3)に従って算出することによって実行すればよい。
アプリケーションプロセッサ220は、ステップS6で算出した押圧力Fmが第1閾値(図12参照)以上であるかどうかを判定する(ステップS7)。ステップS7の処理は、押圧判定部224がメモリ250に格納されている第1閾値を読み出して押圧力Fmと比較することによって実行すればよい。
アプリケーションプロセッサ220は、押圧力Fmが第1閾値(図12参照)以上である(S7:YES)と判定すると、押圧判定フラグをオンに設定する(ステップS8)。ステップS8の処理は、押圧判定部224が実行すればよい。
アプリケーションプロセッサ220は、主制御部220Aに押圧判定フラグをオンに設定したことを通知する(ステップS9)。ステップS9の処理は、押圧判定部224が実行すればよい。主制御部220Aに押圧判定フラグをオンに設定したことを通知することは、押圧判定部224が押圧判定フラグをオフに設定したことを上位アプリケーションに通知することと同義である。
アプリケーションプロセッサ220は、操作入力が行われているかどうかを判定する(ステップS10)。操作入力が行われていなければ、押圧検出を行う必要がなくなるからである。ステップS10の処理は、主制御部220Aが、位置データの有無を判定することによって実行すればよい。
アプリケーションプロセッサ220は、操作入力が行われている(S10:YES)と判定すると、フローをステップS1にリターンする。引き続き押圧検出を行うためである。
一方、アプリケーションプロセッサ220は、操作入力が行われていない(S10:NO)と判定すると、一連の処理を終了する(エンド)。操作入力が行われていなければ、押圧検出を行う必要がなくなるからである。
アプリケーションプロセッサ220は、ステップS7で押圧力Fmが第1閾値(図12参照)以上ではない(S7:NO)と判定すると、押圧判定フラグがオンに設定されているかどうかを判定する(ステップS11)。ステップS11の処理は、押圧判定部224が実行すればよい。
アプリケーションプロセッサ220は、押圧判定フラグがオンに設定されている(S11:YES)と判定すると、押圧力が第2閾値(図12参照)以下であるかどうかを判定する(ステップS12)。押圧が終了しているかどうかを判定するためである。ステップS12の処理は、押圧判定部224が実行すればよい。
アプリケーションプロセッサ220は、押圧力が第2閾値以下である(S12:YES)と判定すると、押圧は終了したと判定し、押圧判定フラグをオフに設定する(ステップS13)。押圧は終了しているからである。
アプリケーションプロセッサ220は、主制御部220Aに押圧判定フラグをオフに設定したことを通知する(ステップS14)。ステップS14の処理は、押圧判定部224が実行すればよい。主制御部220Aに押圧判定フラグをオフに設定したことを通知することは、押圧判定部224が押圧判定フラグをオフに設定したことを上位アプリケーションに通知することと同義である。
なお、アプリケーションプロセッサ220は、ステップS14の処理を終えると、フローをステップS10に進行させる。
アプリケーションプロセッサ220は、押圧判定フラグがオンに設定されていない(S11:NO)と判定すると、フローをステップS10に進行させる。押圧が行われていないため、操作入力の有無を確認するためである。
アプリケーションプロセッサ220は、ステップS12で押圧力が第2閾値以下ではない(S12:NO)と判定すると、フローをステップS10に進行させる。操作入力の有無を確認するためである。
アプリケーションプロセッサ220は、位置データが表す座標が対象領域内にない(S1:NO)と判定すると、振動素子140をオフにする(ステップS15)。操作入力の位置が対象領域内にない場合は、振動素子140を振動しないためである。
アプリケーションプロセッサ220は、押圧判定フラグがオンであるかどうかを判定する(ステップS16)。位置データが表す座標が対象領域内にないときに、押圧判定フラグがオンである場合には、押圧判定フラグをオフに設定する必要があるからである。
アプリケーションプロセッサ220は、押圧判定フラグがオンである(S16:YES)と判定すると、押圧判定フラグをオフにする(ステップS17)。操作入力の位置が対象領域内になければ、押圧による入力を行うことができる位置ではないため、押圧判定フラグをオフにすることとしたものである。
アプリケーションプロセッサ220は、主制御部220Aに押圧判定フラグをオフに設定したことを通知する(ステップS18)。ステップS18の処理は、押圧判定部224が実行すればよい。主制御部220Aに押圧判定フラグをオフに設定したことを通知することは、押圧判定部224が押圧判定フラグをオフに設定したことを上位アプリケーションに通知することと同義である。
アプリケーションプロセッサ220は、押圧判定フラグがオンではない(S16:NO)と判定すると、フローをステップS10に進行させる。押圧は行われていないため、操作入力の有無を確認するためである。
以上により、一連の処理が終了する。
実施の形態1の電子機器100によれば、振動素子140を駆動している場合に、利用者がトップパネル120を押圧しているのかどうかを検出するができる。このような押圧検出を可能にしているのは、振動素子140に供給される電流Ipと、電圧Vpの比Ip/Vpを監視し、押圧による電流Ipの変化を検出しているからである。
振動素子140が駆動されているときに利用者がトップパネル120を押圧すると、駆動信号の振幅(電圧)が一定であっても、振動素子140に供給される電流量が低下する。また、このような状態で駆動信号の振幅(電圧)を増大又は減少させると、振動素子140に供給される電流量も増大又は減少するが、トップパネル120が押圧されていない場合に比べると、振動素子140に供給される電流量は減少している。
実施の形態1では、このような押圧に伴う電流量の変化を検出するために、電圧Vpの比Ip/Vpを監視し、押圧による電流Ipの変化を検出する。
従って、実施の形態1によれば、使い勝手の良好な電子機器100、及び、押圧検出プログラムを提供することができる。
また、以上では、比の差分(Ip0/Vp0−Ip/Vp)に基づいて算出する押圧力を第1閾値又は第2閾値と比較することによって押圧判定を行う形態について説明したが、電流Ipと電圧Vpの比Ip/Vpを所定の閾値と比較することによって押圧が行われているかどうかを判定してもよい。この場合には、押圧力を求めることはできないが、押圧が行われているかどうかを判定することはできる。
また、以上では、押圧力に対してトップパネル120が線形的に変形する場合の押圧変換係数PF(図15参照)を用いる形態について説明したが、トップパネル120が非線形的に変形する場合には押圧変換係数PFを図17に示すように設定すればよい。
図17は、実施の形態1の第1変形例による、比の差分(Ip0/Vp0−Ip/Vp)と押圧変換係数PFとを関連付けたデータを示す図である。
図17に示す押圧変換係数PFは、押圧力に対してトップパネル120の非線形的に変形する場合の値である。ここで、非線形的に変形する場合とは、押圧力の増大に応じて、トップパネル120が変形しにくくなる場合をいう。
トップパネル120が押圧力の増大に応じて変形しにくくなる場合には、比の差分(Ip0/Vp0−Ip/Vp)の増大に対して、押圧変換係数PFが増大するようにすればよい。図17には、15から82まで段階的に増大する押圧変換係数PFを示す。
押圧変換係数PFの値は、トップパネル120の寸法及び/又はヤング率等の値に応じて、最適な値に設定すればよい。
また、以上では、一例として、電子機器100がタッチパネルを入力操作部とする、スマートフォン端末機、又は、タブレット型コンピュータである形態について説明した。また、電子機器100は、例えば、携帯情報端末機、又は、ATMのように特定の場所に設置されて利用される機器であってもよいと説明した。
ここでは、図18及び図19を用いて、実施の形態1の第2変形例として、車載型の形態について説明する。
図18は、車両10の室内内のドライバーズシート11の周りを示す図である。車両10の室内には、ドライバーズシート11、ダッシュボード12、ステアリングホイール13、センターコンソール14、ドアの内張15等が配設される。なお、車両10は、例えば、ハイブリッド自動車(HV(Hybrid Vehicle))、電気自動車(EV(Electric Vehicle))、ガソリンエンジン車、ディーゼルエンジン車、燃料電池車(FCV(Fuel Cell Vehicle))、水素自動車等であればよい。
実施の形態1の電子機器100を入力装置として、例えば、ダッシュボード12の中央部12A、ステアリングホイール13のスポーク部13A、センターコンソール14のシフトレバー16の周囲14A、及びドアの内張15の凹部15A等に配設することができる。
また、図18には示さないが、実施の形態の電子機器100は、車両10の外側に入力装置として設けられてもよい。例えば、ドアハンドルの周囲に設けて、電子錠の操作部として用いてもよい。
図19は、実施の形態1の第2変形例の電子機器100Aを示す平面図である。
電子機器100Aは、一例として、空調コントローラとして用いられる。電子機器100Aは、例えば、図18に示す車両10の室内のダッシュボード12の中央部12A等に配設される。
図19に示すように、電子機器100Aは、筐体111、振動素子140A、タッチパネル150A、ディスプレイパネル160Aを含む。電子機器100Aは、図1乃至図3及び図6に示す電子機器100と同様であるが、ここでは上述以外の構成要素を省略する。
ディスプレイパネル160Aには、空調コントローラとして、操作部162A1、162A2、162A3、162A4、162A5、162A6、162A7、162A8と、表示部122Aの画像が表示されている。
操作部162A1、162A2(FAN)は、風量を調整(増大又は減少)する操作部である。操作部162A3(A/A)はエアコンのオン/オフを選択する操作部である。操作部162A4は内気循環モードを選択する操作部である。操作部162A5(mode)は、空調のモード選択を行う操作部である。操作部162A6は、デフロスターのオン/オフを選択する操作部である。操作部162A7、162A8(TEMP)は、空調の設定温度を調整(上昇又は低下)する操作部である。
このような操作部162A1、162A2、162A3、162A4、162A5、162A6、162A7、162A8は、GUI操作部として表示されている。
また、表示部122Aには、設定温度、風量、及び風向が表示されている。
操作部162A1、162A2、162A3、162A4、162A5、162A6、162A7、162A8を押圧すると、それぞれ、風量の調整、エアコンのオン/オフ、内気循環モードの選択、空調のモード選択、デフロスターのオン/オフ、設定温度の調整を行うことができる。
なお、ここでは、空調コントローラとして用いられる電子機器100Aについて説明したが、電子機器100Aは、ナビゲーション用の画面、オーディオコントローラ用の画面等を表示して、ナビゲーション又はオーディオの操作を行えるようにしてもよい。
また、表示部122Aを液晶パネルで実現し、操作部162A1、162A2、162A3、162A4、162A5、162A6、162A7、162A8をトップパネル120の裏面に印刷し、ディスプレイパネル160を省略してもよい。
このような場合には、電子機器100Aは、ディスプレイパネル160を含まないことになる。操作部162A1、162A2、162A3、162A4、162A5、162A6、162A7、162A8がそれぞれ印刷された領域をタッチパネル150の座標と関連付けて、それぞれの操作を判定すればよい。
このようにディスプレイパネル160を含まない電子機器100Aを車両10の各部に設けてもよい。
図20は、第3変形例の電子機器100Bを示す図である。電子機器100Bは、ノートブック型のPC(Personal Computer:パーソナルコンピュータ)である。
PC100Bは、ディスプレイパネル160B1とタッチパッド160B2を含む。
図21は、第3変形例の電子機器100Bのタッチパッド160B2の断面を示す図である。図21に示す断面は、図3に示すA−A矢視断面に対応する断面である。図21では図3と同様に直交座標系であるXYZ座標系を定義する。
タッチパッド160B2は、図3に示す電子機器100から、ディスプレイパネル160を取り除いた構成を有する。
図20に示すようなPCとしての電子機器100Bにおいて、タッチパッド160B2への操作入力に応じて、振動素子140のオン/オフを切り替えることによってトップパネル120に超音波帯の固有振動を発生させれば、図3に示す電子機器100と同様に、タッチパッド160B2への操作入力の移動量に応じて、利用者の指先に触感を通じて操作感を提供することができる。
また、ディスプレイパネル160B1の裏面に振動素子140を設けておけば、図3に示す電子機器100と同様に、ディスプレイパネル160B1への操作入力の移動量に応じて、利用者の指先に触感を通じて操作感を提供することができる。この場合は、ディスプレイパネル160B1の代わりに、図3に示す電子機器100を設ければよい。
<実施の形態2>
図22は、実施の形態2の電子機器100Cの構成を示す図である。
実施の形態2の電子機器100Cは、比の差分(Ip0/Vp0−Ip/Vp)の求め方が実施の形態1の電子機器100と異なる。以下、相違点を中心に説明する。
電子機器100Cは、振動素子140、アンプ141、タッチパネル150、ドライバIC(Integrated Circuit)151、ディスプレイパネル160、ドライバIC161、電流検出部180、制御部200C、正弦波発生器310、及び振幅変調器320を含む。
電子機器100Cは、制御部200Cのアプリケーションプロセッサ220Cの構成が異なる以外は、実施の形態1の電子機器100と同様である。このため、実施の形態1の電子機器100と同様の構成要素には同一符号を付し、その説明を省略する。
制御部200Cは、アプリケーションプロセッサ220C、通信プロセッサ230、駆動制御部240、及びメモリ250を有する。制御部200Cは、例えば、ICチップで実現される。
アプリケーションプロセッサ220Cは、主制御部220Aを含む。主制御部220Aは、電子機器100Cの種々のアプリケーションを実行する処理を行う。
また、アプリケーションプロセッサ220Cは、トップパネル120の押圧を検出し、押圧による操作入力を受け付ける処理に関する構成要素として、振幅比算出部222、押圧力算出部223、押圧判定部224、入力処理部225、及び電流振幅算出部226を含む。
アプリケーションプロセッサ220Cは、実施の形態1の位相補正部221の代わりに、電流振幅算出部226を設けたものである。また、アプリケーションプロセッサ220Cの振幅比算出部222には、電流振幅算出部226から電流振幅データが入力されるとともに、駆動制御部240から振幅データが入力される。振幅データはデジタルデータである。
アプリケーションプロセッサ220Cは、これらの構成要素以外にも、種々のアプリケーションを実行する処理部を含むが、ここでは省略する。
電流振幅算出部226は、電流検出部180によって検出される駆動信号の電流を検出し、電流の振幅を求める。電流の振幅とは、電流検出部180によって検出される超音波帯の交流電流の振幅(最大値)である。
電流振幅算出部226は、例えば、ピークホールド回路を用いて、電流の振幅を検出することによって実現することができる。また、電流振幅算出部226は、このような構成に限られず、例えば、積分等の演算処理を行って電流の振幅を求める演算部で実現してもよい。
電流振幅算出部226は、電流の振幅を表す電流振幅データを振幅比算出部222に出力する。電流の振幅は、デジタル値である。
振幅比算出部222には、電流振幅算出部226によって算出される電流振幅データと、駆動制御部240が出力する振幅データとが入力される。
振幅比算出部222は、電流振幅データが表す電流の振幅Ipと、振幅データが表す振幅(電圧)Vpとの比Ip/Vpを算出し、押圧力算出部223に出力する。
なお、押圧力算出部223、押圧判定部224、及び入力処理部225の処理内容は、実施の形態1と同様である。
図23は、アプリケーションプロセッサ220Cが実行する処理を示すフローチャートである。図23に示すフローチャートは、図16に示すフローチャートのステップS3、S4、S5をそれぞれステップS23、S24、S25に置き換えたものである。従って、ステップS1、S2、S6〜S18については、図16に示すフローチャートと同様である。このため、以下では、相違点を中心に説明する。
アプリケーションプロセッサ220Cは、ステップS2の処理が終了すると、駆動信号の電流値を取得する(ステップS23)。ここで、電流値は、電流振幅算出部226が電流振幅データを算出するのに必要な時間にわたって取得すればよい。電流振幅データを算出するのに必要な時間は、例えば、駆動信号の1周期の期間より短くてよい。
ステップS23では、駆動信号の電流値が取得される。ステップS23の処理は、電流振幅算出部226が実行すればよい。
アプリケーションプロセッサ220Cは、ステップS23で取得した駆動信号の電流値から電流振幅データを算出する(ステップS24)。ステップS24の処理は、電流振幅算出部226が実行すればよい。電流振幅データは、振幅比算出部222に入力される。
アプリケーションプロセッサ220Cは、電流振幅データが表す電流の振幅Ipを振幅データが表す振幅(電圧)Vpで除算することにより、比Ip/Vpを算出する(ステップS25)。
アプリケーションプロセッサ220Cは、ステップS25の処理が終了すると、フローをステップS6に進行させる。ステップS6以降は、実施の形態1と同様である。
実施の形態2の電子機器100Cによれば、振動素子140を駆動している場合に、利用者がトップパネル120を押圧しているのかどうかを検出するができる。このような押圧検出を可能にしているのは、振動素子140に供給される電流Ipと、振幅データが表す振幅(電圧)Vpの比Ip/Vpを監視し、押圧による電流Ipの変化を検出しているからである。
振動素子140が駆動されているときに利用者がトップパネル120を押圧すると、駆動信号の振幅(電圧)が一定であっても、振動素子140に供給される電流量が低下する。また、このような状態で駆動信号の振幅(電圧)を増大又は減少させると、振動素子140に供給される電流量も増大又は減少するが、トップパネル120が押圧されていない場合に比べると、振動素子140に供給される電流量は減少している。
実施の形態2では、このような押圧に伴う電流量の変化を検出するために、振幅データが表す振幅(電圧)Vpの比Ip/Vpを監視し、押圧による電流Ipの変化を検出する。
従って、実施の形態2によれば、使い勝手の良好な電子機器100C、及び、押圧検出プログラムを提供することができる。
また、実施の形態2の電子機器100Cでは、駆動制御部240から振幅データ(デジタルデータ)が電流振幅算出部226に入力されている。これに対して、実施の形態1では、駆動信号の電圧波形(アナログデータ)を位相補正部221のA/Dコンバータでデジタル変換している。
このため、実施の形態2の電子機器100Cは、実施の形態1の電子機器100に比べてA/Dコンバータを1つ少なくすることができる。
以上、本発明の例示的な実施の形態の電子機器、及び、押圧検出プログラムについて説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1)
操作面を有するトップパネルと、
前記操作面に行われる操作入力の位置を検出する位置検出部と、
前記操作面に振動を発生させる振動素子と、
前記操作面への操作入力の位置に応じて、前記操作面に超音波帯の固有振動を発生させる駆動信号で前記振動素子を駆動する駆動制御部と、
前記駆動制御部から前記振動素子に供給される電流量を検出する電流検出部と、
前記位置検出部によって前記操作入力の位置が検出されている場合に、前記電流検出部によって検出される電流量と、前記駆動信号の電圧値との第1の比に基づいて、前記操作入力によって前記トップパネルが押圧されているかどうかを判定する押圧判定部と
を含む、電子機器。
(付記2)
GUI操作部を表示し、前記トップパネルの前記操作面とは反対の側に配設される表示部をさらに含み、
前記駆動制御部は、前記操作入力の位置が前記GUI操作部の表示領域内にある場合に、前記操作面への操作入力の位置に応じて前記振動素子を駆動する、付記1記載の電子機器。
(付記3)
前記押圧判定部は、前記電流量の基準値と、前記電圧値の基準値との比である第2の比と、前記第1の比との差分に基づいて、前記操作入力によって前記トップパネルが押圧される度合を求め、前記度合が第1閾値以上の場合に、前記操作入力によって前記トップパネルが押圧されていると判定する、付記1又は2記載の電子機器。
(付記4)
前記押圧判定部は、前記度合が前記第1閾値以上の状態から、前記第1閾値よりも低い第2閾値以下になると、前記操作入力による押圧が終了したと判定する、付記3記載の電子機器。
(付記5)
前記押圧判定部は、前記トップパネルが前記操作入力で押圧されることに伴う前記電流量の減少に基づく前記第1の比の変化に基づいて、前記操作入力によって前記トップパネルが押圧されているかどうかを判定する、付記1乃至4のいずれか一項記載の電子機器。
(付記6)
前記電流検出部によって検出される電流の位相、又は、前記駆動信号の電圧の位相を補正することにより、前記電流の位相と前記電圧の位相とを合わせる位相補正部をさらに含み、
前記押圧判定部は、前記位相補正部によって位相が補正される前記電流の電流量又は前記電圧の電圧値を用いて得られる前記第1の比に基づいて、前記操作入力によって前記トップパネルが押圧されているかどうかを判定する、付記1乃至5のいずれか一項記載の電子機器。
(付記7)
表示部と、前記表示部の表示面側に配設され、操作面を有するトップパネルと、前記操作面に行われる操作入力の位置を検出する位置検出部と、前記操作面に振動を発生させる振動素子と、前記操作面への操作入力の位置に応じて、前記操作面に超音波帯の固有振動を発生させる駆動信号で前記振動素子を駆動する駆動制御部と、前記駆動制御部から前記振動素子に供給される電流量を検出する電流検出部とを含む電子機器の前記トップパネルが押圧されているかどうかをコンピュータが判定する押圧検出プログラムであって、
前記コンピュータは、前記位置検出部によって前記操作入力の位置が検出されている場合に、前記電流検出部によって検出される電流量と、前記駆動信号の電圧値との第1の比に基づいて、前記操作入力によって前記トップパネルが押圧されているかどうかを判定する、押圧検出プログラム。