以下、添付された図面を用いて実施例を説明する。
[実施例]
まず、LRA(Linear Resonant Actuator)を用いて振動パターンを増加させる技術について説明する。以下では、タッチパネルの操作時に、クリック感のような鋭い触感が得られる波形データやその波形データを駆動する機器について説明する。
従来のLRAを用いた振動では、駆動周波数が低く、また、振動加速度も小さいため、クリック感のような鋭い触感を発生させるのが困難であった。よって、従来の振動パターンでは、様々な触感をユーザに提供することは困難であった。以下に説明する波形データは、鋭い触感が得られる振動をユーザに提供する。
<操作時の振動>
図1は、振動加速度の違いによる触感の違いを説明するための図である。図1(A)は、人間の指に加速度計1を取り付けてボタン2を押下した際に生じる振動の加速度の波形11を示す図である。図1(B)は、人間の指に加速度計1を取り付けて、LRAが取り付けられたタッチパネル3をタッチした際に生じる振動の加速度の波形12を示す図である。図1の例では、ボタン2は例えばメタルドーム式のボタンである。またボタン2とタッチパネル3は、電子機器に設けられたものである。
波形11で示される振動は、1〜数周期で急速に減衰する。これに対して波形12で示される振動は、駆動指令の供給を停止後もLRAの固有振動数による自由振動が減衰するまで続く。
ところで、人間の指は、振動周波数200Hzにおいて振動の加速度が0.02G以下になると振動を感知できなくなる。振動周波数とは、1秒間の振動数である。振動の加速度とは、単位時間当たりの振動の速度変化量を示すものである。
図2は、人体の組織に含まれる加速度を検出する器官の感度を示す図である。なお、人間の主な機械刺激の受容器には、メルケル細胞(変位)、マイスナー小体(速度)、パチニ小体(加速度)の3種類がある。
なお、人間の加速度を感知する器官は、パチニ小体である。パチニ小体は、主に皮膚に見られる主要な4種類の機械受容体のうちの1つである。
すなわち、波形11では、指は0.01sec以内に振動の加速度が0.02G以下とるため振動を感知しなくなる。これに対して波形12では、振動の加速度が0.02G以下になるまで0.1secが必要であり、指は0.1sec経過するまで振動を感知し続ける。したがって波形11で示される振動と、波形12で示される振動とでは、人間が感知する触感として全く異なるものとなり、波形11の方が鋭い触感を与える。
そこで、実施例では、LRAの振動のパターンを工夫することで、タッチパネルや筐体において、クリック感のような鋭い触感の振動を実現することで、多様な振動パターンを可能とする。
以下に図3を参照して実施例の電子機器の一例について説明する。図3は、実施例の電子機器の断面構造を示す図である。なお、実施例の電子機器は、例えば表示機能と入力機能とを有するタッチパネルを入力手段として有する機器であれば良い。例えば実施例の電子機器は、スマートフォン、タブレット型コンピュータ、携帯端末機等であっても良い。
また、電子機器100は、タッチパネル120を入力操作部とする機器であればよいため、スマートフォンのような携帯端末機に限られず、例えば、ATM(Automatic Teller Machine)のように特定の場所に設置されて利用される電子機器であっても良い。
実施例の電子機器100は、筐体110、タッチパネル120、両面テープ130、LRA140、基板150を有する。両面テープ130は、あくまでも一例であり、筐体110とタッチパネル120とを接着させるものであれば何れでもよい。
実施例の電子機器100では、両面テープ130により、タッチパネル120が筐体110に固定されている。LRA140は、タッチパネル120の筐体側の面に取り付けられている。LRA140は、予め設計された共振周波数を持つ振動系とアクチュエータとが組み合わされたもので、主に共振周波数で駆動して振動を発生させる振動デバイスであり、駆動波形の振幅により振動量が変化する。LRAは、リニア共振アクチュエータとも呼ぶ。なお、LRA140は、共振器と加振用のアクチュエータを備えた構造であればLRAに限らない。
基板150は、筐体110内部に配置されている。基板150には、LRA140の駆動を制御するために駆動装置やLRA140に駆動指令を出力するドライバIC(Integrated Circuit)等が実装されている。
実施例の電子機器100は、タッチパネル120にユーザの指が接触すると、この接触を感知して基板150に実装された駆動装置によりLRA140を駆動し、LRA140の振動をタッチパネル120に伝播させる。
以下に図4を参照してLRA140について説明する。図4は、2種類のLRAの断面構造を示す図である。図4(A)はボイスコイルを用いたLRAの例を示す図であり、図4(B)は圧電素子を用いたLRAの例を示す図である。
図4(A)に示すLRA30は、ばね31、磁石32、コイル33を有する。LRA30は、ばね31のばね定数をkとし、磁石32の質量をmとすると、固有振動数f0が以下の式1で示される。
図4(B)に示すLRA40は、重り41、梁42、圧電素子43を有する。LRA40は、重り41の質量をmとし、梁42のヤング率をEとし、梁42の断面2次モーメントをIとすると、固有振動数f0が以下の式2で示される。
実施例のLRA140は、ボイスコイルを用いたLRA30を適用しても良いし、圧電素子43を用いたLRA40を適用しても良い。
次に図5を参照して実施例の電子機器100の有する基板150に実装された駆動装置について説明する。図5は、実施例の駆動装置を説明する図である。図5では、開示の技術を理解しやすくするため、タッチパネル120への接触(操作)時に鋭い触感を発生させる波形データと、その波形データを駆動する駆動装置について説明する。
実施例の駆動装置200は、CPU(Central Processing Unit)210と、メモリ220とを有する。CPU210は、メモリ220に格納された駆動制御プログラム230を読み出して実行することで、後述するLRA140の駆動処理を行う。
メモリ220には、LRA140の駆動を制御する駆動制御プログラム230が格納される記憶領域と、波形データ240が格納される記憶領域と、API(Application Programming Interface)250が格納される記憶領域とが設けられている。
駆動制御プログラム230は、CPU210にLRA140の駆動制御を実行させる。波形データ240は、例えばLRA140により生じる振動を得るための駆動波形のデータである。波形データ240の詳細は後述する。
API250は、駆動制御プログラム230により起動され、触感を提供するための各種処理を行う。API250は、図5ではAPI250はメモリ220に格納されるものとしたが、基板150に実装された他のメモリに格納されていても良い。
図6は、実施例の駆動装置によるLRAの駆動を説明するフローチャートである。
実施例の駆動装置200は、タッチパネル120に対する接触を検出すると(ステップS601)、API250を起動する(ステップS602)。具体的には駆動装置200は、例えばタッチパネル120上に表示されたボタンに対する接触があった場合等にAPI250を起動しても良い。
API250は、メモリ220に格納された波形データ240を読み出し、波形データ240に対応した駆動指令をドライバIC260へ出力する(ステップS603)。ドライバIC260は、駆動指令を受けて波形データ240をD/A(Digital to Analog)変換し(ステップS604)、アンプ等により増幅する(ステップS605)。ドライバIC260は、増幅した信号をLRA140に対して出力する(ステップS606)。
(波形データの例)
以下に実施例の波形データ240について説明する。実施例では、例えば3つの方法を用いてLRAの振動パターンを変化させて、クリック感のような鋭い触感を実現する。なお、波形データ240は、必ずしも以下に説明する3つの方法によるデータでなくても良い。
まず、第1の方法について説明する。第1の方法は、駆動指令の供給停止後も続くLRAの固有振動数による自由振動を抑制する方法である。以下の実施例の説明では、駆動指令の供給停止後も続くLRAの固有振動数による自由振動を残留振動と呼ぶ。
第1の方法では、後述する特定の条件を満たす駆動指令をLRA140に供給したときにLRA140の振動が1〜数周期で停止することに着目した。第1の方法では、特定の条件を満たす駆動指令をLRA140に印加して留振動を停止させることで、1〜数周期で急速に減衰する振動を発生させ、クリック感を実現する。
特定の条件を満たす駆動指令は、LRA140の固有振動数をf0としたとき、f1=m/n×f0(m,nは自然数かつm≠n)となる周波数f1の信号でLRA140をm回加振する信号である。
図7は、LRAの動作原理を説明するための図であり、図8は、LRAに印加される入力波形の例を示す図である。
LRA140の固有振動数f0を175Hzとし、m=2,n=1としたとき、駆動指令の周波数f1=2/1×175=350Hzとなる。駆動指令の周波数をf1としたときの正弦波Fは、図8に示す波形である。図8の例では、正弦波F=0.01sin2πf1tとなる。
正弦波FがLRA140に印加されると、LRA140にはLRA140の固有振動数(共振周波数)f0の振動が生じる。すなわち、LRA140には、周波数f1の正弦波Fと、LRA140の固有振動数f0の正弦波とが合成された合成波が生じ、LRA140はこの合成波に応じて変位する。
図9は、LRAの変位を説明する図である。図9(A)は、変位を説明する第一の図であり、図9(B)は変位を説明する第二の図である。
図9(A)において、点線で示される波形y1はLRA140に正弦波Fが印加されたときに生じる振動変位の強制振動成分を示し、実線で示される波形y2は自由振動成分を示す。駆動波形FがLRA140に印加されたときの応答変位y3は、波形y1と波形y2との合成波となる。
図9(B)は、波形y1と波形y2との合成波y3の例を示す図である。合成波y3は、入力正弦波Fが0となるタイミングTにおいて0となることがわかる。
合成波y3が0となるタイミングTにおいて、LRA140の変位の速度も0になるため、LRA140の振動は停止する。
図10は、LRAの振動の速度及び加速度の例を示す図である。図10(A)は合成波y3の波形を示す図であり、図10(B)は合成波y3の変位を微分して得る速度の波形y3′を示す図であり、図10(C)は合成波y3の変位を2回微分して得る加速度の波形y3″を示す図である。
図10からわかるように、速度の波形y3′と加速度の波形y3″とは、合成波y3が0となるタイミングで0となる。すなわちLRA140の振動がタイミングTで停止する。
このとき、加速度の波形y3″は、0.01sec以内に2周期で停止する。したがって図10の例では、振動の加速度が0.01sec以内に0.02G以下となり、ボタン2を押下した際のクリック感を実現することができる。
以下に図11乃至図14を参照して、上述する第1の方法の効果を説明する。図11は、LRAの固有振動数の正弦波を駆動指令としたときのLRAの振動の加速度を示す図である。
図11(A)は、LRA140の固有振動数f0=175Hzの正弦波を示す。図11(B)は、図11(A)の正弦波を駆動指令としてシミュレーションした際の振動の加速度を示す。図11(C)は、固有振動数f0=175HzのLRA140を搭載した実機において図11(A)の正弦波を駆動指令した際のタッチパネル120の振動の加速度を示す。タッチパネル120の振動の加速度は、タッチパネル120の中央に加速度計を設置して測定したものである。
図11(B),(C)からわかるように、固有振動数f0の正弦波を駆動指令とした場合、残留振動が0.1sec以上に亘り現れる。
なお、図11(C)において駆動指令が印加されるLRA140は、固有振動数f0=175Hz、重りの重さを1.5g、重りを支持するばね定数を1813.5N/mのものとした。
図12は、LRA140に固有振動数の駆動信号を印加し、残留振動と逆位相の信号波形を印加する従来の方法を示す。図12(A)は固有振動数f0=175Hzの駆動信号を示す。図12(B)は、LRA140を搭載した実機において、図12(A)の正弦波を駆動信号とし、かつ、駆動信号の供給停止後にLRA140に発生する振動の逆位相の電圧を印加したときの実際の電子機器での応答加速度の測定結果である。
図12の例では、図11に比べて残留振動は小さくなるが、振動の加速度が人の感知下限の0.02G以下になるまでに0.05sec以上かかる。
図13は、特定の条件を満たさない信号を駆動指令としたときのLRAの振動の加速度を示す図である。
図13(A)は、特定の条件を満たさない周波数300Hzの正弦波を示す。図13(B)は、図13(A)の正弦波を駆動指令としてシミュレーションした際の振動の加速度を示す。図13(C)は、固有振動数f0=175HzのLRA140を搭載した実機において図13(A)の正弦波を駆動指令した際の振動の加速度を示す。
図13の例では、図13(B),(C)からわかるように、特定の条件を満たさない周波数の正弦波を駆動信号とした場合、残留振動が0.04sec以上に亘り現れる。
図14は、特定の条件を満たす信号を駆動信号としたときのLRAの振動の加速度を示す図である。
図14(A)は、特定の条件を満たす(m=2、n=1の場合)周波数350Hzの正弦波を示す。図14(B)は、図14(A)の正弦波を駆動指令としてシミュレーションした際の振動の加速度を示す。図14(C)は、固有振動数f0=175HzのLRA140を搭載した実機において図14(A)の正弦波を駆動指令した際の振動の加速度を示す。
図14の例では、図14(B),(C)からわかるように、0.02sec以降は残留振動の加速度が感知下限の0.02G以下となり、振動の波形は短時間の波形となる。
以上から、LRA140による振動の波形は、LRA140の固有振動数をf0としたとき、f1=m/n×f0(m,nは自然数かつm≠n)となる周波数f1の信号でLRA140をm回加振する信号を駆動指令とすれば、振動の加速度の波形は1〜数周期で急速に減衰する短時間の波形となり、残留振動をなくすことができる。
なお、固有振動数f0は、LRA140を電子機器100に組み込んだ後のLRA140の固有振動数としても良い。また周波数f1は、m/n×f0に対して誤差が1%以下となるように設定することが好ましい。このように周波数f1を設定すれば、駆動指令の印加を停止した後に残留振動が生じたとしても、振動の加速度は人の感知下限である0.02G以下となり人に感知されないため、クリック感のような鋭い触感を損ねることがない。
次に、LRAの振動のパターンを変化させてクリック感のような鋭い触感を実現する第2の方法について説明する。
第2の方法では、筐体110に固定されたタッチパネル120自体も高周波で振動する振動体であることに着目する。第2の方法では、LRA140の駆動指令を、振幅がピークの時点でLRA140に対する加振を停止させる信号とする。これにより、タッチパネル120自体の高周波の振動を励起することで、1〜数周期で急速に減衰する振動を発生させてクリック感のような鋭い触感を実現する。
図15は、タッチパネルの共振周波数による振動の励起を説明する図である。図15(A)は、LRA140に印加される駆動指令の正弦波形を示し、図15(B)はLRA140の振動の加速度の波形を示す。図15の例では、駆動指令は電圧である。また図15の例では、LRA140の共振周波数を225Hzとし、タッチパネル120の共振周波数を1kHzとした。すなわちLRA140の振動は低周波振動であり、タッチパネル120の振動は高周波振動と言える。なお、タッチパネル120の共振周波数は、タッチパネル120の4辺が筐体110に固定された状態における共振周波数である。
図15に示す例において、LRA140を共振周波数225Hzで低周波振動させた場合、タッチパネル120の高周波振動は励起されない。この状態においてLRA140の振動を調和振動から外し、急激な力をタッチパネル120に印加することで、タッチパネル120の共振周波数である1kHzの振動を励起する。
図15の例では、図15(A)に示すように、振幅がピークとなった点P1でLRA140に対する加振を停止させる信号を駆動指令とする。図15(A)に示す駆動指令の振幅は、LRA140に対する加振が停止した直後に0となる。図15の例では、駆動指令の振幅をピークから0にすることで、LRA140の振動を調和振動から外す。
また、図15の例では、駆動指令によるLRA140の駆動時間を7/4周期とし、振幅がピークとなる点P1が駆動指令の終端となるようにした。なお、駆動指令の終端とは、LRA140に対する加振を停止する点である。
この結果、図15(B)に示すように、点P1において周波数が1kHzの高周波振動が励起され、1〜数周期で急速に減衰する振動を発生させる。さらに図15の例では、点P1で高周波振動を励起することで、低周波振動の加速度の最大値と高周波振動の加速度の最大値とを重畳し、短時間でより急峻なピークを発生させることができる。このように第2の方法では、振動の加速度の短時間の急峻なピークを発生させることで、鋭い触感を提供することができ、クリック感を実現できる。よって、第2の方法による駆動指令は、振幅の中心点以外においてLRA140の加振を停止させる駆動指令でもよい。
以下に図16を参照して上述する第2の方法の効果を説明する。図16は、LRAの共振周波数の電圧を駆動指令としたときのタッチパネルの振動の加速度を示す図である。図16の例では、LRA140の駆動時間を短くしてクリック感の実現を試みた際のタッチパネル120の振動の加速度を示している。
しかしながらタッチパネル120の振動は、LRA140の駆動時間を短くしても、振動量を増幅させるための立ち上がりの時間と、増幅された振動の加速度が0.02G以下に減衰するまでの時間が必要となり、振動が数周期に亘って続く。図16の例では、立ち上がりから減衰までに25msec程度の時間がかかり、振動が約4周期に亘り続いていることがわかる。したがってクリック感のような鋭い触感を提供することが困難である。
これに対して図15(B)では、周波数1kHzの振動の立ち上がり時間は2msec程度であり、振動も2周期程度で減衰していることがわかる。
よって第2の方法では、振動の加速度の短時間の急峻なピークを発生させてクリック感のような鋭い触感を実現することができる。
なお、図15の例では、駆動指令の終端である点P1で高周波振動が励起され、高周波振動の加速度がピークを迎える。よって高周波振動の加速度がピークを迎えるタイミングは、駆動指令が点P1となるタイミングから僅かにずれることになる。
第2の方法では、このタイミングのずれを無くすために、高周波振動を励起する箇所を点P1からずらしても良い。図17は、高周波振動を励起する箇所をずらした例を示す図である。図17(A)は、LRA140に印加される駆動指令の正弦波形を示し、図17(B)はLRA140の振動の加速度の波形を示す。
図17(A)において、駆動指令は、振幅のピークからわずかにずれた点P2を終端としている。図17(B)では、駆動指令の終端P2を振幅のピークからずらしたため、重畳される低周波振動の加速度が最大値より小さくなり、高周波振動の加速度のピークは図15(B)に示す値よりも小さくなる。しかし、図17(B)の場合でも、図15の例と同等の効果を得ることができる。
次に、LRAの振動のパターンを変化させてクリック感のような鋭い触感を実現する第3の方法について説明する。
第3の方法では、第1の方法で説明した特定の条件を満たし、且つ第2の方法で説明したように振幅がピークとなる点を終端とする信号を駆動指令とした。例えば、第3の方法による駆動指令の波形データは、第1の方法による波形データの条件と、第2の方法による波形データの条件とを満たす波形データである。
図18は、実施例の第3の方法によるLRAの駆動指令の例を示す図である。図18(A)は、第3の方法による駆動指令Gの波形であり、図18(B)は、第3の方法による駆動指令GがLRA140に印加された際のタッチパネル120の振動の加速度を示す図である。
第3の方法による駆動指令Gは、周波数f1=m/n×f0(m,nは自然数かつm≠n)となる周波数f1の信号で且つLRA140をm回加振する信号である。図18の例では、m=3,n=2とした。また、第3の方法による駆動指令Gは、さらに振幅が最大値となる点P3を終端とする。
実施例では、駆動指令Gをm周期の信号であり且つ振幅のピークが終端となる信号とするために、駆動指令Gを正弦波波形からπ/2位相をずらした余弦波とした。第3の方法による駆動指令Gを余弦波とすることで、駆動指令Gを特定の条件を満たし且つ終端が振幅のピークとなる信号とすることができる。
なお、実施例の電子機器100では、タッチパネル120にLRA140が取り付けられているため、タッチパネル120の共振周波数をタッチパネル120の4辺が筐体110に固定された状態における共振周波数とした。タッチパネル120の共振周波数は、例えばLRA140が筐体110内部に配置される場合には、タッチパネル120が筐体110に組み込まれた状態におけるタッチパネル120の共振周波数となる。
実施例の駆動装置200の波形データ240は、例えば駆動指令Gの波形のデータを含む波形データである。具体的には例えば波形データ240は、駆動指令Gの周波数f1、振幅、位相、周期(mの値)等を含む。また、実施例の波形データ240は、駆動指令Gの波形を表す式を含んでも良い。
また、実施例の波形データ240は、第1の方法又は第2の方法による駆動指令の波形データ、又はその他の波形データでもよい。駆動装置200は、第1〜第3のいずれかの方法による波形データを用いることで、鋭い触感を感知させる振動を発生させることができる。
実施例の駆動装置200は、図6のステップS603において、API250により、例えば駆動指令Gを示す波形データ240を読み出し、波形データ240に対応した駆動指令をドライバIC260へ出力する。ドライバIC260は、波形データ240をD/A変換して増幅し、LRA140に出力する。
実施例の駆動装置200において、LRA140に駆動指令Gが印加された場合について説明する。
図19は、実施例のLRAに対する入力波形を示す図である。図19に示す波形は、駆動指令GをLRA140に印加することにより、LRA140に加えられる力を示している。
実施例において、LRA140の固有振動数f0を225Hzとし、m=3,n=2としたとき、駆動指令Gの周波数f1は、f1=3/2×225=337.5Hzとなる。図19に示す波形は、駆動指令Gの周波数をf1としたときの正弦波Fの位相をπ/2ずらした余弦波G1である。正弦波Fは、F=0.01sin2πf1tで得られる。
余弦波G1がLRA140に印加されると、LRA140はLRA140の固有振動数f0(すなわち共振周波数)で振動を開始する。すなわちLRA140には、周波数f1の余弦波G1とLRA140の固有振動数f0による余弦波との合成波が印加され、LRA140はこの合成波に応じて変位する。
図20は、実施例のLRAに合成波が印加された際の変位を説明する図である。図20(A)は、変位を説明する第一の図であり、図20(B)は変位を説明する第二の図である。
図20(A)において、点線で示される波形y11はLRA140に余弦波G1が印加されたときに生じる振動変位の強制振動成分を示し、実線で示される波形y12は自由振動成分を示す。余弦波G1がLRA140に印加されたときの応答変位y13は、波形y11と波形y12との合成波となる。
図20(B)は、波形y11と波形y12との合成波y13の例を示す図である。合成波y13は、余弦波G1が0となるタイミングT1において0となることがわかる。
合成波y13が0となるタイミングT1において、LRA140の振動の速度も0になるため、LRA140の振動は停止する。
図21は、実施例のLRAの振動の速度及び振動の加速度の例を示す図である。図21(A)は合成波y13の波形を示す図であり、図21(B)は合成波y13の変位を微分して得る速度の波形y13′を示す図であり、図21(C)は合成波y13の変位を2回微分して得る加速度の波形y13″を示す図である。
図21からわかるように、速度の波形y13′と加速度の波形y13″とは、合成波y13が0となるタイミングT1で0となる。すなわちLRA140の振動がタイミングT1で停止する。
このとき、加速度の波形y13″は、0.01sec以内に3周期で停止する。したがって、実施例では、0.01sec以内に振動の加速度が0.02G以下となり、メタルドーム式のボタン2を押下した際のクリック感のような鋭い触感を実現することができる。
なお、実施例では、余弦波G1の振幅がピークとなる点で加振を停止させるものとしたが、これに限定されない。
実施例において駆動指令の終端は、例えばタッチパネル120の振動の加速度を示す波形に、鋭い触感を実現する急峻なピークを生成できる点であれば良い。実施例において駆動指令の終端は、振幅の中心点である0以外であれば良く、駆動指令の終端は振幅のピークに近い点であるほど良い。
また実施例の電子機器100では、LRA140がタッチパネル120の筐体側の面に取り付けられるものとしたが、これに限定されない。LRA140は、例えば筐体110内部に配置された基板150の近傍に配置されても良い。
図22は、LRAが筐体に設けられた電子機器の他の例を示す図である。図22に示す電子機器100Aでは、LRA140が筐体110内部に設けられた基板150の近傍に配置されている。
実施例は、電子機器100Aに対しても適用することができる。また電子機器100Aに実施例を適用した場合、実施例の電子機器100と同様にメタルドーム式のボタン2を押下した際のクリック感のような鋭い触感を実現することができる。
以上により、LRA140を用いて鋭い触感が得られる振動を発生させることができるので、さらに多様な振動パターンを用意し、ユーザに様々な触感を提供することができるようになる。
<サーバから波形リストを取得>
次に、サーバから波形リストを取得し、波形リストからユーザが所望する波形を電子機器に格納するシステムについて説明する。
図23は、実施例におけるシステムの一例を示す図である。図23に示すように、サーバ400と、各電子機器300A〜300Cとがネットワーク350を介して接続されている。
サーバ400は、波形リストを格納するデータベースとしても機能する。波形リストは、例えば、振動を表す各波形をリスト化したデータである。具体的には、波形リストは、筐体110又はタッチパネル120の振動を表現する各波形と、その波形を識別する識別子とが関連付けられたリストである。
図23に示す例では、識別子は、波形の名称としてA,Bなどが設定されているが、この例に限られず、識別番号など波形を識別できるものであれば何れでもよい。また、波形は、LRA140を振動させる振動波形を示しているが、タッチパネル120の振動の加速度波形を示すことも可能である。
また、サーバ400は、波形リストに含まれる波形の波形データを格納する。例えば、サーバ400は、波形の識別子に対応付けて波形データを格納する。
図24は、実施例の電子機器300の一例を示すブロック図である。図23に示す電子機器300は、ディスプレイ301と、タッチセンサ302と、入力部303と、信号処理部304と、通信部305と、駆動装置200と、ドライバIC260と、LRA140と、記録媒体I/F部308とを備える。
ディスプレイ301は、例えばLCD(Liquid Crystal Display)などであり、CPU310からの表示データを表示する。タッチセンサ302は、ディスプレイ面への接触を検知し、検知されたディスプレイ面上での座標をCPU310に通知する。ディスプレイ301及びタッチセンサ302は、タッチパネル120に含まれる。
入力部303は、例えばボタンの押下を検知し、どのボタンが押下されたかの情報をCPU310に通知する。信号処理部304は、通信部305から取得したデータに対し、所定の信号処理を行う。通信部305は、外部の装置とデータ通信を行う。外部の装置は、例えばメールサーバやクラウドサーバなどである。
記録媒体I/F(インターフェース)部308は、USB(Universal Serial Bus)などのデータ伝送路を介して接続された記録媒体309(例えば、フラッシュメモリなど)と電子機器300とのインターフェースである。
また、記録媒体309に所定のプログラムを格納し、この記録媒体309に格納されたプログラムは、記録媒体I/F部308を介して電子機器300にインストールされる。インストールされた所定のプログラムは、電子機器300により実行可能となる。
駆動装置200は、CPU310と、メモリ320とを備える。CPU310は、上述したCPU210の制御以外にも、後述する波形選択プログラム306を実行することで、後述する波形選択アプリケーションとして機能する。
メモリ320は、駆動制御プログラム230と、API250と、波形選択プログラム306とを格納する。また、電子機器300が、サーバ400から波形リスト380及び/又は波形データ240をダウンロードした場合、メモリ320は、波形リスト380及び/又は波形データ240を格納してもよい。また、電子機器300の各機能と、波形とが関連付けられた場合、メモリ320は、機能と波形とが関連付けられたリンクデータ390を格納してもよい。
メモリ320の各データは、それぞれの記憶領域に格納される。また、波形データ240、波形リスト380、及びリンクデータ390は、他のメモリに格納されてもよい。
波形選択プログラム306は、サーバ400から波形リストや波形データをダウンロードさせる波形選択アプリケーションをCPU310に機能させるプログラムである。なお、波形選択アプリケーションは、波形データ240に基づく振動を発生させる際、駆動制御プログラム230やAPI250と協働して、CPU310に波形データ240に基づく駆動指令を出力させる。波形選択プログラム306の詳細は後述する。
波形リスト380は、図23に示すような波形リストである。リンクデータ390は、後述するように、電子機器300の機能と波形とが関連付けられたデータである。
次に、波形選択時の処理について説明する。CPU310は、波形を選択するためのイベントを検知すると、波形選択プログラム306を起動し、波形選択アプリケーションを実行する。
波形選択アプリケーションは、サーバ400から波形リストや波形データをダウンロードしたり、波形と電子機器300の各機能とを関連付けたりするアプリケーションである。
図25は、波形選択のための機能の一例を示すブロック図である。図25に示す例では、CPU310は、リスト取得部401と、選択部402と、波形データ取得部403と、振動処理部404と、保存制御部405と、関連付け部406とを有する。
リスト取得部401は、波形選択アプリケーションが起動されたときに、サーバ400にアクセスして、波形リストを取得する。
選択部402は、取得された波形リストの中から波形を選択する。選択部402は、波形リストをディスプレイ301に表示し、ユーザにより指定された波形を選択する。
波形データ取得部403は、選択部402により選択された波形の波形データを、サーバ400から取得する。
振動処理部404は、選択された波形の振動処理がユーザから指示された場合、選択された波形の波形データに基づき、LRA140に対する駆動指令を駆動部407に出力する。
保存制御部405は、選択された波形の保存がユーザにより指示された場合、選択された波形の波形データをメモリ320に格納する。メモリ320に格納された波形データは、波形データ240とも呼ばれる。
また、保存制御部405は、選択された波形を保存しないことがユーザにより指示された場合、選択された波形の波形データをメモリ320に格納しない。
関連付け部406は、保存制御部405により格納された1又は複数の波形データ240に対して、電子機器300の各機能を関連付ける。関連付け部406は、ディスプレイ301に各波形データ240と、各機能とを表示する。関連付け部406は、表示された各波形データ240、各機能の中からユーザにより関連付けられた波形データ240と機能とをリンクデータ380としてメモリ320に保存する。
駆動部407は、駆動指令に基づきLRA140の駆動を制御する。駆動部407は、例えばドライバIC260である。また、駆動部407は、リンクデータ390がメモリ320に格納されている場合は、リンクデータ390に含まれる機能が選択された場合に、この機能に対応する波形データに基づく駆動指令に基づき、LRA140の駆動を制御する。
(波形選択アプリケーションの利用手順)
次に、波形選択アプリケーションの利用手順について説明する。図26は、電子機器300の機能選択画面の一例を示す図である。以降の例では、電子機器300をスマートフォンとし、機能をアプリケーションとして説明する。図26に示すように、「波形リスト」という名称のアイコン501がディスプレイ301に表示されている。アイコン501は、波形選択アプリケーションを起動するためのアイコンである。
図27は、アイコン501を選択した時の機能選択画面の一例を示す図である。図27に示すように、ユーザにより選択されたアイコン501は、アイコンの色が変わる。アイコンの色が変わることは、選択状態であることを示す。
図28は、波形リストのダウンロードを説明するための図である。図28に示すように、波形選択アプリケーションが起動することで、電子機器300は、サーバ400から波形リスト380をダウンロードする。これにより、リスト取得部401は、波形リスト380を取得することができる。リスト取得部401は、取得した波形リスト380をメモリ320に格納する。
図29は、波形選択画面の一例を示す図である。選択部402は、図29に示す波形選択画面をディスプレイ301に表示する。また、選択部402は、波形リストの波形部分を選択可能にしてディスプレイ301に表示する。
図30は、名称Bの波形が選択された時の波形選択画面の一例を示す図である。以降では、名称Bの波形を波形Bとも呼ぶ。図30に示すように、ユーザにより選択された波形Bの列は、列の色が変わる。列の色が変わることは、選択状態であることを示す。
図31は、波形データのダウンロードを説明するための図である。図31に示すように、選択された波形Bの波形データ410が、サーバ400から電子機器300にダウンロードされる。波形データ410は、例えばキャッシュなどに保存される。
これにより、波形データ取得部403は、選択された波形の波形データ410を取得する。図31では分かりやすくするため、波形データ410を波形として表示する。しかし、実際の波形データ410は、周波数、振幅、位相、周期(mの値)等を含む。また、波形データ410は、波形Bを表す式を含んでも良い。
図32は、波形処理画面の一例を示す図である。図32に示す波形処理画面は、波形データ410のダウンロードが完了すると、波形選択アプリケーションによりディスプレイ301に表示される。
図33は、GUIボタン502が選択された時の波形処理画面の一例を示す図である。GUIボタン502は、ダウンロードされた波形データ410を振動させるためのGUIボタンである。図33に示すように、ユーザにより選択された「Play」のGUIボタン502は、ボタンの色が変わる。ボタンの色が変わることは、選択状態であることを示す。
図34は、電子機器300の振動処理時を説明するための図である。図34に示すように、電子機器300は、波形Bの振動パターンで振動動作を行う。実際は、筐体110又はタッチパネル120が、波形Bの振動パターンで振動する。この振動処理は、振動処理部404が、波形Bの波形データ410に基づく駆動指令を駆動部407に出力することで行われる。
図35は、GUIボタン503が選択された時の波形処理画面の一例を示す図である。GUIボタン503は、ダウンロードされた波形データ410を保存するためのGUIボタンである。GUIボタン503は、ユーザがこの振動を気に入った場合などに押される。
図35に示すように、ユーザにより選択された「保存」のGUIボタン503は、ボタンの色が変わる。ボタンの色が変わることは、選択状態であることを示す。
図36は、波形データの保存を説明するための図である。図36に示すように、ダウンロードされた波形データ410は、メモリ320に格納され、波形データ240として表記される。
図37は、保存情報をサーバ400に送信する処理を説明するための図である。電子機器300は、波形データ410をメモリ320に格納すると、波形データ410の保存が完了したことなどを示す保存情報を、ネットワーク350を介してサーバ400に送信する。例えば、保存情報は、保存完了を示す情報、保存された波形データ、保存された波形データの個数などを含む。
サーバ400は、例えば保存情報を受信すると、その保存情報をユーザへの課金やポイント利用情報に活用することができる。つまり、サーバ400は、ユーザ毎に、ダウンロードした波形データの識別子、個数を管理する。
図38は、GUIボタン504が選択された時の波形処理画面の一例を示す図である。GUIボタン504は、ダウンロードされた波形データ410をキャッシュなどから消去するためのGUIボタンである。GUIボタン504は、ユーザがこの振動を気に入らなかった場合などに押される。
図38に示すように、ユーザにより選択された「保存しない」のGUIボタン504は、ボタンの色が変わる。ボタンの色が変わることは、選択状態であることを示す。
図39は、波形データの消去を説明するための図である。図39に示すように、ダウンロードされた波形データ410は、メモリ320に記憶されることなく消去される。
この場合、保存情報はサーバ400へは送信されず、課金やポイント利用などには活用されない。また、電子機器300は、消去を意味する情報をサーバ400に送信してデータ消去を確定することも有効である。
図40は、実施例における波形選択処理の一例を示すフローチャートである。図40に示すステップS701で、リスト取得部401は、波形選択アプリケーションが起動すると、サーバ400から波形リストをダウンロードする。
ステップS702で、選択部402は、ダウンロードされた波形リストについて、各波形を選択可能にしてディスプレイ301に表示する(例えば図29参照)。
ステップS703で、選択部402は、ユーザからの指示に従って、指示された波形を選択したか否かを判定する。波形が選択されていれば(S703−YES)(例えば図30参照)、ステップS704に進み、波形が選択されていなければ(S703−NO)、ステップS703に戻る。
ステップS704で、波形データ取得部403は、選択された波形の波形データをサーバ400からダウンロードする(例えば図31参照)。
ステップS705で、振動処理部404は、振動の指示があるか否かを判定する。振動の指示があれば(ステップS705−YES)ステップS706に進み(例えば図33参照)、振動の指示がなければ(ステップS705−NO)ステップS707に進む。
ステップS706で、振動処理部404は、取得された波形の波形データ410に基づいて、振動処理を行う(例えば図34参照)。
ステップS707で、保存制御部405は、ユーザから保存の指示があるか否かを判定する。保存の指示があれば(ステップS707−YES)(例えば図35参照)ステップS708に進み、保存の指示がなければ(ステップS707−NO)ステップS709に進む。
ステップS708で、保存制御部405は、選択された波形データ410を、メモリ320に格納する(例えば図36参照)。
ステップS709で、保存制御部405は、ユーザから保存しない指示があるか否かを判定する。保存しない指示があれば(ステップS709−YES)(例えば図38参照)ステップS710に進み、保存しない指示がなければ(ステップS709−NO)この処理を終了する。
ステップS710で、保存制御部405は、ダウンロードされた波形データ410を消去する(例えば図39参照)。
(リンクデータ)
図41は、リンクデータの一例を示す図である。図41に示すように、リンクデータ390は、波形と、電子機器300の各機能とが関連付けられる。リンクデーア390は、実際は、各機能と波形とを関連付けたテーブル形式のデータである。また、リンクデータの波形には、波形データ240を関連付けるようにしてもよい。
以上、実施例によれば、予め電子機器300に保存された振動パターンのみでなく、多様な振動パターンを利用できるため、ユーザは電子機器300を好みのインターフェースにカスタマイズすることが可能となる。
また、実施例によれば、鋭い触感を発生させる振動を用いる振動パターンにより、従来にはない触感の振動を利用することができる。
さらに、実施例によれば、多様な振動パターンと機能とを関連付けることで、機能利用時に、ユーザ好みの振動パターンを用いることができる。
なお、前述した実施例で説明した波形選択処理を実現するためのプログラムを記録媒体に記録することで、実施例での波形選択処理をコンピュータに実施させることができる。例えば、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体を電子機器に読み取らせて、前述した波形選択処理を実現させることも可能である。
なお、記録媒体は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。なお、記録媒体は、搬送波などの一過性のものは含まない。
以上、実施例におけるプログラムや電子機器について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。