(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態を図面に基づいて説明する。
[第1実施形態]
図1は、本発明の実施形態の携帯表示装置である電子腕時計40を含む報知システム1の全体図である。
【0011】
この報知システム1は、電子腕時計40と、外部機器であるスマートフォン10とにより構成される。電子腕時計40は、ユーザの腕に装着されて携帯される。これらの電子腕時計40とスマートフォン10との間では、近距離無線通信、例えば、Bluetooth(登録商標)通信を用いて相互に通信が可能となっている。
【0012】
図2は、電子腕時計40の内部構成を示すブロック図である。
【0013】
電子腕時計40は、CPU(Central Processing Unit)41(運動継続時間算出手段、走行判別手段、走行状態設定手段、運動間隔算出手段、連続タップ判別手段、設定範囲変更手段)と、ROM(Read Only Memory)42と、RAM(Random Access Memory)43と、発振回路44と、計時回路45と、操作部46と、表示部47と、表示ドライバ48と、Bluetooth(登録商標)モジュール49及びUART(Universal Asynchronous Receiver/Transmitter)50と、加速度センサ51と、振動発生部52及びそのドライバ53と、ブザー部54及びそのドライバ55と、照明部56及びそのドライバ57と、バス58などを備えている。
【0014】
CPU41は、種々の演算処理を行い、電子腕時計40の全体動作を統轄制御する。CPU41は、操作検出プログラム421を実行して、ユーザによるタップを検出し、状況に応じた動作、例えば、振動発生部52、ブザー部54及び/又は照明部56による報知動作が行われている場合にこれを停止させる動作を行わせる。また、CPU41は、走行判定プログラム422を実行して、電子腕時計40のユーザが走行状態にあるか否かを判別設定する。
【0015】
ROM42には、各種制御プログラム、アプリケーションプログラムや初期設定データが格納されている。これらの制御プログラムや初期設定データは、必要に応じてCPU41により読み出されて電子腕時計40の各種動作に利用される。この制御プログラムには、操作検出プログラム421と走行判定プログラム422とが含まれている。操作検出プログラム421は、タップ入力が可能な状態では、バックグランドで実行されて常駐状態にあり、タップの検出に係る処理を行う。また、走行判定プログラム422は、タップ入力が可能な状態において定期的に(例えば、毎秒)呼び出されて実行される。
【0016】
RAM43は、CPU41に作業用のメモリ空間を提供し、一時データを記憶する。また、RAM43には、ユーザの走行状態を定めるための値であるNGカウント431が記憶される。
【0017】
発振回路44は、所定の周波数信号を生成してクロック信号としてCPU41及び計時回路45に出力する。この発振回路44は、温度補償回路などの出力周波数の補正に係る構成を備えていても良い。また、この発振回路44は、生成したクロック信号だけではなく、分周回路を介して所定の周波数に分周されたクロック信号を出力可能とすることが出来る。
【0018】
計時回路45は、発振回路44から入力される所定周波数の信号を計数し、初期時刻に加算することで現在時刻を保持するカウンタ回路である。或いは、計時回路45は、CPU41やRTC(Real Time Clock)によってソフトウェア的に計数された現在時刻の値を記憶する構成であっても良い。
【0019】
操作部46は、ユーザからの入力操作を受け付けてCPU41に入力信号として出力する。この操作部46は、1又は複数の操作ボタンを備えて、当該操作ボタンの押下操作を電気信号に変換して入力信号とする。
この電子腕時計40では、操作部46を介した入力操作に加え、加速度センサ51により計測される加速度に基づいて、CPU41によりタップの検出が行われ、入力操作として受け付けられる。
【0020】
表示部47は、時刻や種々の情報を表示させるためのデジタル表示部である。この表示部47は、特には限られないが、例えば、液晶画面(LCD)を備える。LCDは、ここでは、長方形の形状を有している。表示ドライバ48は、この表示画面、ここでは、LCDに対応して表示に係る駆動動作を行う液晶ドライバであり、LCDの各画素及び/又はセグメントを駆動して表示を行わせる。或いは、この表示部47は、複数の指針を回転動作させることで文字盤上の標識を指し示して時刻、時間、数値や各種情報を表示するアナログ表示部でも良く、この場合には、表示ドライバ48として各指針を回転動作させるためのステッピングモータ及びこのステッピングモータを駆動する駆動回路を備える構成とすることが出来る。
【0021】
Bluetooth(登録商標)モジュール49は、外部機器と近距離無線通信を行うためのデータ処理を行う。Bluetooth(登録商標)モジュール49は、CPU41からUART50を介して入力された出力情報に係る信号を変調して、アンテナAN4を用いて外部機器へ発信する。また、Bluetooth(登録商標)モジュール49は、アンテナAN4を介して外部機器から受信された電波から受信信号を復調して、UART50を介してCPU41へ出力する。
【0022】
UART50は、CPU41から入力されてBluetooth(登録商標)モジュール49から発信させる信号と、アンテナAN4及びBluetooth(登録商標)モジュール49により受信、復調されてCPU41へ出力される信号とをそれぞれパラレル/シリアル変換する。
【0023】
加速度センサ51は、直交する3軸方向の加速度を計測可能な3軸加速度センサである。
図3は、加速度センサ51の軸設定を示す図である。
この3軸方向としては、特には限られないが、ここでは、表示画面に垂直な方向(Z軸)と、表示画面に平行であってバンドの取り付け方向に平行及び垂直な平行2方向(X軸及びY軸)とが定められる。本実施形態の加速度センサ51は、基準値検出回路511(検出信号出力手段、第1検出信号出力手段、第2検出信号出力手段)を有し、計測された加速度の値を出力しない。基準値検出回路511は、各軸方向の加速度の計測値と所定の基準値とを比較して、割込み信号INT1、INT2を出力する。本実施形態の基準値検出回路511は、通常状態では、割込み信号INT1、INT2としてローレベルを出力し、所定の条件が満たされた場合に、予め設定された長さのハイレベルパルス信号を出力する。
【0024】
ここでは、各軸方向の加速度の全ての計測値が所定の第2基準値A2(例えば、3.0G)未満の大きさの振幅(絶対値)である状態から、何れかの計測値が第2基準値A2以上の振幅に変化した場合に、割込み信号INT2をハイレベルのパルス波形信号として出力する。また、各軸方向の加速度振幅の何れかが所定の第1基準値A1(例えば、2.0G)以上の大きさである状態から、全ての計測値の振幅が第1基準値A1未満となった場合に、割込み信号INT1をハイレベルのパルス波形信号として出力する。
【0025】
加速度センサ51には、例えば、PZT(チタン酸ジルコン酸鉛)などの圧電素子を用いたチップセンサを用いることが出来る。加速度センサ51の計測部と基準値検出回路511とは、同一のチップ上に形成され、割込み信号INT1、INT2のみがバス58を介してCPU41に出力される。
【0026】
振動発生部52は、例えば、回転モータを備え、当該回転モータの回転に応じて振動を生じさせる。ドライバ53は、CPU41から入力される制御信号に基づいて、この回転モータに回転動作を行わせるための駆動電圧を振動発生部52に出力する。
【0027】
ブザー部54は、例えば、PZTなどの圧電素子を備え、当該圧電素子に印加される電圧に応じた伸縮(振動)動作によりブザー音を発生する。ドライバ55は、CPU41から入力される制御信号に基づいて、ブザー部54の圧電素子を伸縮させるための駆動電圧信号を出力する。
【0028】
照明部56は、表示部47を照明する。照明部56としては、例えば、LED(Light Emitting Diode)を有し、表示部47を上側から照明させたり、有機ELD(Electro-Luminescent Diode)を有し、表示部47のデジタル表示画面のバックライトとして動作させたりすることが出来る。ドライバ57は、CPU41から入力される制御信号に基づいて照明部56から発光させるための駆動電圧を出力する。
【0029】
バス58は、CPU41と各部を電気的に接続し、送受信される電気信号を伝達する。
【0030】
次に、本実施形態の電子腕時計40におけるダブルタップの検出動作について説明する。
【0031】
本実施形態の電子腕時計40では、加速度センサ51の基準値検出回路511から出力された割込み信号INT1、INT2に基づいてダブルタップの操作有無の判断を行う。
図4は、ユーザが静止した状態でダブルタップの操作を行った場合の加速度センサ51による標準的な計測波形と、割込み信号波形とを示す図である。
【0032】
ユーザにより表示部47の表示画面にタッピング動作が行われると、タップに伴う急激な電子腕時計40の移動と停止により、表示画面に垂直方向、即ち、Z方向に鋭い波形が現れる。また、このとき、ユーザの反応に応じてX方向及びY方向にいくらかの変動が現れる。本実施形態の電子腕時計40が備える基準値検出回路511は、3軸方向の加速度振幅の計測値のうち何れかの大きさが第2基準値A2を超えた場合、即ち、+A2以上又は−A2以下となった場合に、所定長のハイレベル割込み信号INT2を出力する。次いで、3軸方向の加速度の計測値すべての大きさが第1基準値A1を下回った場合、即ち+A1未満且つ−A1より大きい値に収まった場合に、所定長のハイレベル割込み信号INT1を出力する。この割込み信号におけるハイレベル期間の長さ(所定長)は、特には限られないが、十分に短いパルス状電圧でよく、例えば、5msである。
【0033】
CPU41は、割込み信号INT2が検出されてから割込み信号INT1が検出されるまでの時間、即ち、加速度の大きい状態(運動状態)の継続時間Tx1を計数する。また、割込み信号INT1が検出されてから更に次の割込み信号INT2が検出されるまでの時間間隔Tyを計数した後、2度目の割込み信号INT2が検出されてから割込み信号INT1が検出されるまでの継続時間Tx2を計数する。そして、継続時間Tx1、Tx2及び時間間隔Tyがそれぞれ所定の条件(判別条件)を満たす範囲(条件範囲)内にあった場合に、ダブルタップが入力されたと判別する。
【0034】
割込み信号INT2、INT1の発生がタップによるものではない場合、例えば、電子腕時計40が移動された場合や、ユーザの腕振りに伴う加速度が検出された場合には、通常、継続時間Tx1、Tx2は、タップによる場合と比較して十分に長くなる(例えば、Tx1、Tx2≧100ms)。従って、継続時間Tx1、Tx2が基準時間Tx0より短い場合には、タップによるものであると判断され、基準時間Tx0より長い場合には、割込み信号INT2、INT1に係る加速度変化は、タップによるものではない(NG)と判断される。継続時間Tx1、Tx2がタップに係るものであるか否かを判別する基準時間Tx0としては、例えば、25msが設定される。
【0035】
このとき、一時的な移動の場合には、連続的なNG判定の発生を防ぐため、NG判定後、所定の禁止期間Tz0(第1禁止時間例えば、Tz0=500ms)が経過するまでの間ダブルタップが検出されても当該ダブルタップに係る動作の実行を禁止することが出来る。一方で、ユーザの走行に伴うNG判定の場合には、このように継続時間Tx1、Tx2の長い加速度変化が周期的(例えば、400〜500msごと)に計測されることになる。従って、ダブルタップに係る動作の禁止期間Tz0を設けると、ダブルタップ操作が困難となるので、ユーザの走行中には、この検出禁止期間Tz0を設けない。
【0036】
また、ユーザの走行中には、静止時と比較して、腕が振れやすいことから、上述の基準時間Tx0を長めに設定することが出来る。即ち、本実施形態の電子腕時計40では、走行時と静止時とで、基準時間Tx0を異なる値に設定する。この走行時の基準時間Tx0としては、上述の腕振り等に係る継続時間Tx1、Tx2の通常の計測値(上限時間)より短い値とする。従って、ユーザの一秒あたりの歩数の大小に係る腕振り速度の違いなどに応じて、ユーザ操作により、走行中での基準時間Tx0に係る設定を可変としても良い。
【0037】
次に、ユーザの姿勢などにより、X軸方向及びY軸方向に基準値A1より大きい振幅が生じない場合には、Z軸方向の双極振動により短時間に二回続けて割込み信号INT2、INT1の検出がなされる場合がある。このような場合を考慮して、この電子腕時計40では、時間間隔Tyに対する下限時間Ty_min(例えば、Ty_min=120ms)を設定する。そして、時間間隔Tyの計測開始後、短い間隔(Ty<Ty_min)で次の割込み信号INT2が入力された場合には、1度目のタップに係る2回目の割込み信号INT2であると判断し、CPU41は、当該割込み信号INT2を無視して時間間隔Tyの計数を続ける。
【0038】
一方、時間間隔Tyが基準時間Ty0(例えば、Ty0=350ms)より長い場合には、一回目のタップの検出は、誤操作やノイズであってユーザのダブルタップに係るものではないと判断される。また、時間間隔Tyが基準時間Ty0より大きい上限時間Ty_max(例えば、Ty_max=500ms)以上続いた場合には、二回目のタップの検出がなされなくてもダブルタップの判定を終了させることが出来る。
【0039】
図5は、本実施形態の電子腕時計40が実行するダブルタップ検出処理のCPU41による制御手順を示すフローチャートである。
このダブルタップ検出処理は、タッピング操作が可能な設定の場合に呼び出されて常に動作する処理である。
【0040】
ダブルタップ検出処理が開始されると、CPU41は、先ず、割込み信号INT2の立上がりが検出されたか否かを判別する(ステップS101)。割込み信号INT2の立上がりが検出されていないと判別された場合には(ステップS101で“NO”)、CPU41は、このステップS101の処理を繰り返し行う。
【0041】
割込み信号INT2の立上がりが検出されたと判別された場合には(ステップS101で“YES”)、CPU41は、タイマーを動作させて継続時間Tx1の計数を開始する(ステップS102)。次いで、CPU41は、割込み信号INT1の立上がりが検出されたか否かを判別する(ステップS103)。割込み信号INT1の立上がりが検出されていないと判別された場合には(ステップS103で“NO”)、CPU41は、ステップS103の処理を繰り返す。
【0042】
割込み信号INT1の立上がりが検出されたと判別された場合には(ステップS103で“YES”)、CPU41は、計数された継続時間Tx1が基準時間Tx0以下であるか否かを判別する(ステップS104)。基準時間Tx0以下であると判別された場合には(ステップS104で“YES”)、CPU41は、タイマーを一旦リセットした後、直ちに時間間隔Tyの計数を開始する(ステップS105)。
【0043】
CPU41は、割込み信号INT2の立上がりが検出されたか否かを判別する(ステップS106)。割込み信号INT2の立上がりが検出されていないと判別された場合には(ステップS106で“NO”)、CPU41は、時間間隔Tyが上限時間Ty_maxより大きくなったか否かを判別する(ステップS121)。このとき、CPU41は、毎回時間間隔Tyの値を読み込んで直接比較するのではなく、タイマーによる計数時間が上限時間Ty_maxに達した場合に所定の信号を発生させて、この信号の有無で判別することとしても良い。
【0044】
時間間隔Tyが上限時間Ty_maxより大きくないと判別された場合には(ステップS121で“NO”)、CPU41の処理は、ステップS106に戻る。上限時間Ty_maxより大きいと判別された場合には(ステップS121で“YES”)、CPU41の処理は、ステップS144に移行する。
【0045】
ステップS106の判別処理で、割込み信号INT2の立上がりが検出されたと判別された場合には(ステップS106で“YES”)、CPU41は、時間間隔Tyが下限時間Ty_min以上であるか否かを判別する(ステップS107)。時間間隔Tyが下限時間Ty_min以上ではないと判別された場合には(ステップS107で“NO”)、CPU41は、検出された割込み信号INT2を無視して処理をステップS106に戻す。
【0046】
時間間隔Tyが下限時間Ty_min以上であると判別された場合には(ステップS107で“YES”)、続けて、CPU41は、時間間隔Tyが基準時間Ty0以下であるか否かを判別する(ステップS108)。なお、走行中の場合には、基準時間Tx0として静止時よりも長い時間が設定されているので、基準時間Ty0も基準時間Tx0の延長に応じた時間に延長設定されても良い。或いは、基準時間Ty0は、走行中の場合に静止時よりも十分長い時間になるように、基準時間Tx0とは別個に、静止時の設定から変更されても良い。基準時間Ty0以下ではないと判別された場合には(ステップS108で“NO”)、CPU41の処理は、ステップS144に移行する。
【0047】
時間間隔Tyが基準時間Ty0以下であると判別された場合には(ステップS108で“YES”)、CPU41は、タイマーをリセットした後、直ちに継続時間Tx2の計数を開始する(ステップS109)。
【0048】
CPU41は、割込み信号INT1の立上がりが検出されたか否かを判別する(ステップS110)。割込み信号INT1の立上がりが検出されていないと判別された場合には(ステップS110で“NO”)、CPU41は、ステップS110の処理を繰り返す。
【0049】
割込み信号INT1の立上がりが検出されたと判別された場合には(ステップS110で“YES”)、CPU41は、計数された継続時間Tx2が基準時間Tx0以下であるか否かを判別する。基準時間Tx0以下ではないと判別された場合には(ステップS111で“NO”)、CPU41の処理は、ステップS144に移行する。
【0050】
継続時間Tx2が基準時間Tx0以下であると判別された場合には(ステップS111で“YES”)、CPU41は、ダブルタップを検出したものとして、ダブルタップの操作に対応して設定されている動作を実行する(ステップS112)。それから、CPU41は、処理をステップS113に移行させる。
【0051】
ステップS104の判別処理で、継続時間Tx1が基準時間Tx0以下ではないと判別された場合には(ステップS104で“NO”)、CPU41は、NGカウント431の値(発生頻度)に1を加算する(ステップS141)。CPU41は、現在、ユーザが走行中に設定されているか否かを判別する(ステップS142)。走行中の設定については、後述する。走行中ではないと判別された場合には(ステップS142で“NO”)、CPU41は、禁止期間Tz0の間、ダブルタップに係る動作を禁止する(ステップS143)。それから、CPU41の処理は、ステップS144に移行する。
【0052】
走行中であると判別された場合には(ステップS142で“YES”)、CPU41の処理は、ステップS144に移行する。
【0053】
ステップS142、S143、S121、S108、S111の何れかの処理からステップS144の処理に移行すると、CPU41は、ダブルタップが検出されなかったものとして、エラー処理を行う(ステップS144)。即ち、CPU41は、継続時間Tx1、Tx2、時間間隔Tyのうち設定されていた時間を初期化する。それから、CPU41の処理は、ステップS113に移行する。
【0054】
ステップS112又はステップS144の処理からステップS113の処理に移行すると、CPU41は、タイマーをリセットする(ステップS113)。そして、CPU41の処理は、先頭に戻って、ステップS101の処理から繰り返される。
【0055】
図6は、本実施形態の電子腕時計40における走行判定処理のCPU41による制御手順を示すフローチャートである。
この走行判定処理は、1秒に一回、各秒の先頭のタイミング(秒キャリー)で走行判定プログラム422が起動されることで実行される。
【0056】
走行判定処理が開始されると、CPU41は、現在、走行中の設定であるか否かを判別する(ステップS201)。走行中であると判別された場合には(ステップS201で“YES”)、CPU41は、現在のNGカウント431の値が、RAM43に記憶されている前回のNGカウントの値と等しいか否かを判別する(ステップS222)。等しいと判別された場合には(ステップS222で“YES”)、CPU41の処理は、ステップS215に移行する。等しくないと判別された場合には(ステップS222で“NO”)、CPU41の処理は、ステップS203に移行する。
【0057】
一方、現在、走行中の設定ではないと判別された場合には(ステップS201で“NO”)、CPU41は、NGカウント431の値が「2」であるか否かを判別する(ステップS202)。NGカウント431の値が「2」であると判別された場合には、CPU41の処理は、ステップS203に移行する。
【0058】
ステップS203の処理に移行すると、CPU41は、走行中の設定とし(ステップS203)、また、現在のNGカウント431の値を前回のNGカウントの値として設定する(ステップS204)。それから、CPU41の処理は、ステップS206に移行する。
【0059】
NGカウント431の値が「2」ではないと判別された場合には(ステップS202で“NO”)、CPU41は、NGカウント431の値が「3」(所定レベル)以上であるか否かを判別する(ステップS213)。NGカウント431の値が「3」以上であると判別された場合には(ステップS213で“YES”)、CPU41は、所定の禁止期間Tz1(第2禁止期間)の間、ダブルタップに係る動作を禁止する(ステップS214)。NGカウント431の値が「3」以上ではないと判別された場合(ステップS213で“NO”)、即ち、ここでは、NGカウント431の値が「1」以下の場合には、CPU41の処理は、ステップS215に移行する。
【0060】
ステップS213、S214、S222の何れかの処理からステップS215の処理に移行すると、CPU41は、静止中であるとの設定を行い、NGカウント431を初期化して値を「0」とする(ステップS215)。それから、CPU41の処理は、ステップS206に移行する。
【0061】
ステップS204又はステップS215の処理からステップS206の処理に移行すると、CPU41は、走行中又は静止中の設定に応じて、基準時間Tx0の設定を行う。上述のように、CPU41は、静止中の設定の場合には、通常の基準値(例えば、25ms)を基準時間Tx0として設定し、走行中の設定の場合には、この基準値よりも長い基準時間Tx0(例えば、50ms)を設定する(ステップS206)。そして、CPU41は、走行判定処理を終了する。
【0062】
以上のように、本実施形態の電子腕時計40は、3軸方向加速度を計測する加速度センサ51と、加速度の振幅(絶対値)の計測値が基準値A2を上回る場合及び基準値A1を下回る場合に、ハイレベル信号を出力する基準値検出回路511と、を備える。CPU41は、基準値検出回路511から出力された検出信号を用いて当該加速度の大きい状態の継続時間Tx1、Tx2を算出し、また、CPU41は、毎秒実行される走行判定処理において、この加速度の大きい状態の発生頻度と、継続時間Tx1、Tx2とに基づいてユーザが走行中であるか否かを判別して、走行中の場合には、当該1秒間(所定期間)を走行状態として設定する。一方、CPU41は、加速度の大きい状態が2回計測された場合において、検出信号間の時間差を計数してその時間間隔を算出し、算出された継続時間Tx1、Tx2、及び、時間間隔Tyに基づいて、計測された2回の加速度の大きい状態が連続したタップ操作(ダブルタップ)によるものか否かを判別する。このとき、走行状態に設定されている場合には、ダブルタップであると判定するために用いる条件範囲を、非走行状態における当該条件範囲よりも広く変更する。従って、走行状態において、タッピング動作以外の加速度変化が多く、且つ、タッピング動作に係る加速度変化が不明瞭になりやすい場合にこの加速度変化を検出しやすくなり、一方で、静止状態(非走行状態)の時には、条件範囲を広めないことで、誤検出の発生を抑えることが出来る。即ち、ユーザの運動状態に応じて適切にダブルタップの検出を行うことが出来る。
【0063】
また、計測された加速度の振幅に係るデジタル値をそのまま処理することなく、アナログデータと基準値との比較結果に係る割込み信号を用いた計数処理でダブルタップの検出を行うことが出来るので、CPUで計測値の処理を行う場合と比較して大きく消費電力を削減することが出来る。
【0064】
また、走行判定を所定間隔、特に、1秒おきに計時に係る秒キャリーと同時に呼び出して行わせることで、効率良く処理を行えるので、電力消費の低減を図ることが出来る。
【0065】
また、継続時間Tx1、Tx2に係るタッピング動作の判定基準(継続時間の上限値)となる基準時間Tx0を走行状態の際には上昇させることで、走行中のタッピング動作が不明瞭であったり、腕が通常よりも大きく長くぶれたりした場合でも検出漏れを起こさないように対応することが出来る。
【0066】
また、上昇後の基準時間Tx0の値は、走行(ジョギング、ランニング)に係る通常のピッチで計測される継続時間Tx1、Tx2より短く設定されるので、走行に係る加速度変化との混同が起こることは無い。
【0067】
また、非走行状態では、一度NG判定がなされると、禁止期間Tz0の間に検出されたダブルタップに係る動作を行わない一方、走行状態では、この禁止期間Tz0の設定を行わない。これにより、走行に伴う加速度変化の影響でダブルタップの操作が受け付けられない状況を避けることが出来る。
【0068】
また、3軸方向の加速度データを各々基準値と比較し、一の割込み信号として出力するので、計測データ自体の処理を極めて簡単な処理で抑え、大部分の処理を簡単な回路構成で済ますことが出来るので、処理量を低減してCPUの負担を抑えると共に、電力消費を抑えることが出来る。
【0069】
また、加速度振幅の上昇時に比較対象とする基準値A2を加速度振幅の下降時に比較対象とする基準値A1よりも高く設定することで、緩やかに減少する走行時の加速度振幅波形に対し、より確実にタップに係る加速度振幅波形を区別することが出来る。
【0070】
また、非走行状態で、且つ、基準時間Tx0より長い加速度変化の発生頻度が所定レベル(例えば、1秒に3回)より高い場合には、当該期間のダブルタップ動作を禁止することで、腕を振り回すといった走行状態とは異なるユーザの活動状態におけるタッピング動作の誤検出を避けることが出来、タップの検出率を上げることが出来る。
【0071】
また、基準値検出回路511を加速度センサ51のチップ上に専用回路として設計して作成することで、効率良く必要な割込み信号を出力させることが出来、従って、電子腕時計40などの携帯表示装置の製造効率を上げながらタッピング動作に係るCPU41の処理負担を低減し、且つ、タッピング動作の検出率を向上させることが出来る。
【0072】
[第2実施形態]
次に、第2実施形態の電子腕時計40について説明する。
この第2実施形態の電子腕時計40の内部構成は、基準値検出回路511の出力信号及び操作検出プログラム421の内容を除いて第1実施形態の電子腕時計40と同一であり、説明を省略する。
【0073】
図7は、加速度センサ51の基準値検出回路511から出力される割込み信号の例を示す図である。
この第2実施形態の基準値検出回路511では、基準値A2より大きい振幅が入力されている期間に亘り、割込み信号INT2がハイレベルとなり、また、基準値A1より大きい振幅が入力されている期間に亘り、割込み信号INT1がハイレベルとなる。即ち、このような基準値検出回路511は、2種類の基準値レベルにそれぞれ応じた比較器を用いて容易に形成される。
【0074】
図8は、本実施形態の電子腕時計40において実行されるダブルタップ検出処理のCPU41による制御手順を示すフローチャートである。
【0075】
このダブルタップ検出処理は、第1実施形態のダブルタップ検出処理からステップS103及びステップS110の処理がそれぞれステップS103a及びステップS110aに置き換えられた点を除き同一であり、同一の処理内容については同一の符号を付して詳しい説明を省略する。
【0076】
ステップS102の処理で継続時間Tx1の計数が開始された後、CPU41は、割込み信号INT1の立下がりが検出されたか否かを判別する(ステップS103a)。そして、割込み信号INT1の立下がりが検出されていないと判別された場合には(ステップS103aで“NO”)、CPU41は、ステップS103aの処理を繰り返す。割込み信号INT1の立下がりが検出されたと判別された場合には(ステップS103aで“YES”)、CPU41の処理は、ステップS104に移行する。
【0077】
同様に、ステップS109の処理で継続時間Tx2の計数が開始された後、CPU41は、割込み信号INT1の立下がりが検出されたか否かを判別する(ステップS110a)。そして、割込み信号INT1の立下がりが検出されていないと判別された場合には(ステップS110aで“NO”)、CPU41は、ステップS110aの処理を繰り返す。割込み信号INT1の立下がりが検出されたと判別された場合には(ステップS110aで“YES”)、CPU41の処理は、ステップS111に移行する。
【0078】
即ち、この実施形態の電子腕時計40では、継続時間Tx1、Tx2として、割込み信号INT2の立上がりタイミングから、割込み信号INT1の立下がりタイミングまでを計測すれば良い。また、割込み信号INT1のハイレベル区間内に割込み信号INT2の立上がりが2回発生するが、2回目の立上がり時には、時間間隔Tyが0であって下限時間Ty_min未満であるので、この2回目の立上がりは、ステップS107の処理で同様に無視される。
【0079】
[第3実施形態]
次に、第3実施形態の電子腕時計40について説明する。
この第3実施形態の電子腕時計40の内部構成は、操作検出プログラム421の内容を除いて第2実施形態の電子腕時計40と同一であり、説明を省略する。
【0080】
図9には、本実施形態の基準値検出回路511における割込み信号の出力例と、タイマー計数の例とを示す図である。
【0081】
本実施形態の基準値検出回路511は、第2実施形態の基準値検出回路511と同一の割込み信号を出力する。本実施形態のダブルタップ検出処理では、CPU41は、割込み信号INT1の立上がりから割込み信号INT2の立下がりまでの時間を継続時間Tx1、Tx2として計数する。
【0082】
図10は、本実施形態の電子腕時計40で実行されるダブルタップ検出処理のCPU41による制御手順を示すフローチャートである。
このダブルタップ検出処理では、第2実施形態のダブルタップ検出処理におけるステップS101、S103a、S106、S110aの処理がそれぞれステップS101b、S103b、S106b、S110bの処理に変更され、また、ステップS103c、S110cの処理が追加された点を除き、第2実施形態のダブルタップ検出処理と同一であり、同一の処理については同一の符号を付して詳しい説明を省略する。
【0083】
先ず、ダブルタップ検出処理が開始されると、CPU41は、割込み信号INT1の立上がりが検出されたか否かを判別する(ステップS101b)。割込み信号INT1の立上がりが検出されていないと判別された場合には(ステップS101bで“NO”)、CPU41は、ステップS101bの処理を繰り返し実行する。割込み信号INT1の立上がりが検出されたと判別された場合には(ステップS101bで“YES”)、CPU41の処理は、ステップS102に移行する。
【0084】
ステップS102の処理で継続時間Tx1の計数が開始された後、CPU41は、割込み信号INT2の立下がりが検出されたか否かを判別する(ステップS103b)。割込み信号INT2の立下がりが検出されていないと判別された場合には(ステップS103bで“NO”)、CPU41は、継続時間Tx1が上限時間Tx_maxを超えたか否かを判別する(ステップS103c)。超えていないと判別された場合には(ステップS103cで“NO”)、CPU41の処理は、ステップS103bの処理に戻る。継続時間Tx1が上限時間Tx_maxを超えたと判別された場合には(ステップS103cで“YES”)、CPU41の処理は、ステップS101bに移行する。
【0085】
一方、割込み信号INT2の立下がりが検出されたと判別された場合には(ステップS103bで“YES”)、CPU41の処理は、ステップS104に移行する。
【0086】
また、時間間隔Tyの計数が開始された後(ステップS105)、CPU41は、割込み信号INT1の立上がりが検出されたか否かを判別する(ステップS106b)。割込み信号INT1の立上がりが検出されていないと判別された場合には(ステップS106bで“NO”)、CPU41の処理は、ステップS121に移行する。割込み信号INT1の立上がりが検出されたと判別された場合には(ステップS106bで“YES”)、CPU41の処理は、ステップS107に移行する。
【0087】
ステップS109の処理で継続時間Tx2の計数が開始された後、CPU41は、割込み信号INT2の立下がりが検出されたか否かを判別する(ステップS110b)。割込み信号INT2の立下がりが検出されていないと判別された場合には(ステップS110bで“NO”)、CPU41は、継続時間Tx2が上限時間Tx_maxを超えたか否かを判別する(ステップS110c)。超えていないと判別された場合には(ステップS110cで“NO”)、CPU41の処理は、ステップS110bの処理に戻る。継続時間Tx2が上限時間Tx_maxを超えたと判別された場合には(ステップS110cで“YES”)、CPU41の処理は、ステップS144に移行する。
【0088】
一方、割込み信号INT2の立下がりが検出されたと判別された場合には(ステップS110bで“YES”)、CPU41の処理は、ステップS111に移行する。
【0089】
このように、本実施形態のダブルタップ検出処理では、割込み信号INT2がハイレベルにならないまま割込み信号INT1がハイレベルからローレベルに戻る場合が生じるので、この場合には、計数された継続時間Tx1、Tx2は、キャンセルされる。
なお、上限時間Tx_maxと時間間隔Tyの和が上限時間Ty_maxよりも小さい場合には、継続時間Tx2を時間間隔Tyに加算した後に、当該加算された値から時間間隔Tyの計数を再開して、処理をステップS106bに戻すこととしても良い。
【0090】
以上のように、第2、第3実施形態の電子腕時計40は、基準値検出回路511から基準値A1以上の加速度の振幅入力に応じてハイレベル信号を出力する割込み信号INT1と、基準値A1より大きい基準値A2以上の加速度の振幅入力に応じてハイレベル信号を出力する割込み信号INT2とが出力される。そして、ダブルタップの検出時には、割込み信号INT1の立上がりから割込み信号INT2の立下がりまでの経過時間により、継続時間Tx1、Tx2が計数され、また、割込み信号INT2の立下がりから割込み信号INT1の立上がりまでの経過時間により時間間隔Tyが計数される。従って、基準電圧との比較器(コンパレータ)を設ける程度の簡易な構成で容易に割込み信号を発生させて、ダブルタップの検出を行うことが出来る。また、このような構成によるダブルタップの検出を低負荷、低消費電力で行うことが可能になる。
【0091】
[第4実施形態]
次に、第4実施形態の電子腕時計40について説明する。
第4実施形態の電子腕時計40の内部構成は、操作検出プログラム421の内容を除いて第2実施形態の電子腕時計40と同一であり、説明を省略する。
【0092】
図11には、本実施形態の基準値検出回路511における割込み信号の出力例と、タイマー計数の例とを示す図である。
【0093】
本実施形態の基準値検出回路511は、第2実施形態の基準値検出回路511と同一の割込み信号を出力する。本実施形態のダブルタップ検出処理では、CPU41は、割込み信号INT2のみを利用し、割込み信号INT2の立上がりからこの割込み信号INT2の立下がりまでの時間を継続時間Tx1、Tx2として計数する。
【0094】
図12は、本実施形態の電子腕時計40で実行されるダブルタップ検出処理のCPU41による制御手順を示すフローチャートである。
【0095】
本実施形態のダブルタップ検出処理は、第2実施形態のダブルタップ検出処理におけるステップS103a、S110aの処理がステップS103b、S110bの処理に置き換えられた点を除いて同一であり、同一の処理については同一の符号を付して詳しい説明を省略する。
【0096】
ステップS102の処理で継続時間Tx1の計数が開始された後、CPU41は、割込み信号INT2の立下がりが検出されたか否かを判別する(ステップS103b)。そして、割込み信号INT2の立下がりが検出されていないと判別された場合には(ステップS103bで“NO”)、CPU41は、ステップS103bの処理を繰り返す。割込み信号INT2の立下がりが検出されたと判別された場合には(ステップS103bで“YES”)、CPU41の処理は、ステップS104に移行する。
【0097】
同様に、ステップS109の処理で継続時間Tx2の計数が開始された後、CPU41は、割込み信号INT2の立下がりが検出されたか否かを判別する(ステップS110b)。そして、割込み信号INT2の立下がりが検出されていないと判別された場合には(ステップS110bで“NO”)、CPU41は、ステップS110bの処理を繰り返す。割込み信号INT2の立下がりが検出されたと判別された場合には(ステップS110bで“YES”)、CPU41の処理は、ステップS111に移行する。
【0098】
このように、第4実施形態の電子腕時計40では、この実施形態の電子腕時計40では、継続時間Tx1、Tx2、及び、時間間隔Tyの計数に割込み信号INT2のみが用いられる。従って、割込み信号INT1を生成、出力させるための電力を消費する必要が無く、より簡易にダブルタップの検出を行うことが出来る。
【0099】
[第5実施形態]
次に、第5実施形態の電子腕時計40について説明する。
第5実施形態の電子腕時計40は、操作検出プログラム421の内容を除いて第1実施形態の電子腕時計40と同一であり、説明を省略する。
【0100】
図13は、加速度センサ51の基準値検出回路511から出力される割込み信号に基づくダブルタップの検出について説明する図である。
【0101】
この加速度センサ51では、一の基準値A2に係る割込み信号INT2のみがダブルタップの判別に利用される。この割込み信号INT2は、第1実施形態における割込み信号INT2と同様に、3軸方向の何れかの加速度に係る振幅が基準値A2を超えた際に所定時間ハイレベルとなるパルス波形信号である。或いは、第2実施形態における割込み信号INT2と同様に、3軸方向の何れかの加速度振幅が基準値A2より大きい期間に亘り、ハイレベルとなり、その他の場合には、ローレベルとなる信号であっても良い。
一方、図示略の割込み信号INT1は、走行状態の判別についてのみ用いられる。
【0102】
図14は、本実施形態の電子腕時計40で実行されるダブルタップ検出処理のCPU41による制御手順を示すフローチャートである。
本実施形態のダブルタップ検出処理は、第1実施形態のダブルタップ検出処理にステップS161〜S163の各処理が追加され、また、制御の順序の一部が変形された点を除き、第1実施形態のダブルタップ検出処理と同一であり、同一の処理については同一の符号を付して詳しい説明を省略する。
【0103】
ステップS104の判別処理で、継続時間Tx1が基準時間Tx0以下であると判別された場合には(ステップS104で“YES”)、CPU41は、次に、ユーザが走行状態であるか否かを判別する(ステップS161)。走行状態ではないと判別された場合には(ステップS161で“NO”)、CPU41の処理は、ステップS105に移行する。走行状態であると判別された場合には(ステップS161で“YES”)、CPU41の処理は、ステップS162に移行する。
【0104】
また、ステップS142の処理で、ユーザが走行状態であるか否かを判別された際に、ユーザが走行状態であると判別されると(ステップS142で“YES”)、CPU41の処理は、ステップS162に移行する。
【0105】
ステップS162の処理に移行すると、CPU41は、継続時間Tx1を時間間隔Tyに代入し、この時間間隔Tyからタイマーの計数を開始する(ステップS162)。それから、CPU41の処理は、ステップS106に移行する。
【0106】
また、ステップS108の判別処理で、時間間隔Tyが基準時間Ty0以下であると判別された場合(ステップS108で“YES”)、CPU41は、ユーザが走行状態であるか否かを判別する(ステップS163)。走行状態であると判別された場合には(ステップS163で“YES”)、CPU41の処理は、ステップS112に移行する。走行状態ではないと判別された場合には(ステップS163で“NO”)、CPU41の処理は、ステップS109に移行する。
【0107】
このように、本実施形態のダブルタップ検出処理では、CPU41は、時間間隔Tyとして、1回目の割込み信号INT2の立上がりから2回目の割込み信号INT2の立上がりまでの時間を計数する。従って、走行中に限定して検出に係る判定基準を緩めて容易にダブルタップの検出を行うことが出来る。
なお、このとき、ユーザの走行に係る加速度検出との混同を減らすように基準値A2や基準時間Ty0を適宜調整しても良い。
【0108】
[第6実施形態]
次に、第6実施形態の電子腕時計40について説明する。
この電子腕時計40の内部構成は、操作検出プログラム421の内容を除いて第2実施形態の電子腕時計40と同一であるので説明を省略する。
【0109】
図15は、本実施形態の電子腕時計40で実行されるダブルタップ検出処理のCPU41による制御手順を示すフローチャートである。
このダブルタップ検出処理は、第2実施形態のダブルタップ検出処理に対して、ステップS181〜S183の処理が追加され、又、ステップS101、S103a、S106、S110aの処理が、それぞれステップS101d、S103d、S106d、S110dに置き換えられた点を除いて同一である。同一の処理については同一の符号を付して説明を省略する。
【0110】
ダブルタップ検出処理が開始されると、CPU41は、先ず、ユーザが走行状態であるか否かを判別する(ステップS181)。走行状態であると判別された場合には(ステップS181で“YES”)、CPU41は、用いる割込み信号INTRとして、割込み信号INT1を選択する(ステップS182)。その後、CPU41の処理は、ステップS101dに移行する。
【0111】
一方、走行状態ではないと判別された場合には(ステップS181で“NO”)、CPU41は、用いる割込み信号INTRとして、割込み信号INT2を選択する(ステップS183)。その後、CPU41の処理は、ステップS101dに移行する。
【0112】
ステップS101dの処理に移行すると、CPU41は、選択された割込み信号INTRの立上がりが検出されたか否かを判別する(ステップS101d)。検出されていないと判別された場合には(ステップS101dで“NO”)、CPU41の処理は、ステップS181の処理に戻る。検出されたと判別された場合には(ステップS101dで“YES”)、CPU41の処理は、ステップS102の処理に移行する。
なお、このステップS101dの判別処理で“NO”に分岐する場合に、通常は、ステップS101dの処理を繰り返し行い、所定の時間間隔ごとに処理をステップS181に戻すこととしても良い。
【0113】
ステップS102の処理で継続時間Tx1の計数が開始されると、CPU41は、選択された割込み信号INTRの立下がりが検出されたか否かを判別する(ステップS103d)。検出されていないと判別された場合には(ステップS103dで“NO”)、CPU41は、ステップS103dの処理を繰り返す。検出されたと判別された場合には(ステップS103dで“YES”)、CPU41の処理は、ステップS104に移行する。
【0114】
ステップS105の処理で時間間隔Tyの計数が開始されると、CPU41は、選択された割込み信号INTRの立上がりが検出されたか否かを判別する(ステップS106d)。検出されていないと判別された場合には(ステップS106dで“NO”)、CPU41の処理は、ステップS121に移行する。検出されたと判別された場合には(ステップS106dで“YES”)、CPU41の処理は、ステップS107に移行する。
【0115】
ステップS109の処理で継続時間Tx2の計数が開始されると、CPU41は、選択された割込み信号INTRの立下がりが検出されたか否かを判別する(ステップS110d)。検出されていないと判別された場合には(ステップS110dで“NO”)、CPU41は、ステップS110dの処理を繰り返す。検出されたと判別された場合には(ステップS110dで“YES”)、CPU41の処理は、ステップS111に移行する。
【0116】
以上のように、第6実施形態の電子腕時計40では、非走行状態と走行状態とで異なる基準値に基づく割込み信号の立上がり及び立下がりの検出を行う。即ち、非走行状態では、
図11に示した例と同様に、基準値A2に係る割込み信号INT2の立上がり及び立下がりを検出し、走行状態では、この基準値A2よりも小さい振幅の基準値A1に係る割込み信号INT1の立上がり及び立下がりを検出する。従って、ユーザが走行中に行うタッピング動作が不明瞭になったり、タップの際に電子腕時計40が非走行状態よりも各軸方向にふらついたり傾いたり、腕振りや体の上下動などによる加速度の打消しが生じたりした場合でも、より容易にダブルタップの操作を検出することが出来る。
【0117】
また、特に、予め設定された2つの基準値に係る割込み信号の出力をそれぞれ設けておき、何れかを選択的に用いる構成とすることで、簡単に切替処理を行うことが出来る。
【0118】
[第7実施形態]
次に、第7実施形態の電子腕時計40について説明する。
第7実施形態の電子腕時計40の内部構成は、基準値検出回路511の出力信号及び操作検出プログラム421の内容を除いて第1実施形態の電子腕時計40と同一であるので説明を省略する。
【0119】
本実施形態の基準値検出回路511では、割込み信号INT1、INT2の組が、大きい加速度振幅に係る割込み信号INT2L、INT2Hと、小さい加速度振幅に係る割込み信号INT1L、INT1Hの2組設けられている。即ち、ここでは、割込み信号INT2Hに係る基準値A2は、割込み信号INT1Hに係る基準値A2よりも大きく、また、割込み信号INT2Lに係る基準値A1は、割込み信号INT1Lに係る基準値A1よりも大きい。
【0120】
図16は、本実施形態の電子腕時計40で実行されるダブルタップ検出処理のCPU41による制御手順を示すフローチャートである。
このダブルタップ検出処理は、第1実施形態のダブルタップ検出処理に対して、ステップS181、S182e、S183eの処理が追加され、又、ステップS101、S103、S106、S110の処理が、それぞれステップS101e、S103e、S106e、S110eに置き換えられた点を除いて同一である。同一の処理については同一の符号を付して説明を省略する。
【0121】
ダブルタップ検出処理が開始されると、CPU41は、先ず、ユーザが走行状態であるか否かを判別する(ステップS181)。走行状態であると判別された場合には(ステップS181で“YES”)、CPU41は、小さい加速度振幅に係る割込み信号INT1H、INT1Lをそれぞれ選択して割込み信号INTH、INTLとする(ステップS182e)。その後、CPU41の処理は、ステップS101eに移行する。
【0122】
一方、走行状態ではないと判別された場合には(ステップS181で“NO”)、CPU41は、大きい加速度振幅に係る割込み信号INT2H、INT2Lをそれぞれ選択して割込み信号INTH、INTLとする(ステップS183e)。その後、CPU41の処理は、ステップS101eに移行する。
【0123】
ステップS101eの処理に移行すると、CPU41は、選択された割込み信号INTHの立上がりが検出されたか否かを判別する(ステップS101e)。検出されていないと判別された場合には(ステップS101eで“NO”)、CPU41の処理は、ステップS181の処理に戻る。検出されたと判別された場合には(ステップS101eで“YES”)、CPU41の処理は、ステップS102の処理に移行する。
【0124】
ステップS102の処理で継続時間Tx1の計数が開始されると、CPU41は、選択された割込み信号INTLの立上がりが検出されたか否かを判別する(ステップS103e)。検出されていないと判別された場合には(ステップS103eで“NO”)、CPU41は、ステップS103eの処理を繰り返す。検出されたと判別された場合には(ステップS103eで“YES”)、CPU41の処理は、ステップS104に移行する。
【0125】
ステップS105の処理で時間間隔Tyの計数が開始されると、CPU41は、選択された割込み信号INTHの立上がりが検出されたか否かを判別する(ステップS106e)。検出されていないと判別された場合には(ステップS106eで“NO”)、CPU41の処理は、ステップS121に移行する。検出されたと判別された場合には(ステップS106eで“YES”)、CPU41の処理は、ステップS107に移行する。
【0126】
ステップS109の処理で継続時間Tx2の計数が開始されると、CPU41は、選択された割込み信号INTLの立上がりが検出されたか否かを判別する(ステップS110e)。検出されていないと判別された場合には(ステップS110eで“NO”)、CPU41は、ステップS110eの処理を繰り返す。検出されたと判別された場合には(ステップS110eで“YES”)、CPU41の処理は、ステップS111に移行する。
【0127】
以上のように、第7実施形態の電子腕時計40では、非走行状態と走行状態とで異なる基準値に基づく割込み信号INTH、INTLの立上がり検出を行う。即ち、非走行状態と走行状態では、
図4に示した例における基準値A1、A2の値が異なることになる。従って、ユーザが走行中に行うタッピング動作が不明瞭になったり、タップの際に電子腕時計40が非走行状態の場合以上に各軸方向にふらついたり傾いたりした場合でも、より容易にダブルタップの操作を検出することが出来る。
【0128】
[第8実施形態]
次に、第8実施形態の電子腕時計40について説明する。
第8実施形態の電子腕時計40の内部構成は、基準値検出回路511の出力信号と、操作検出プログラム421及び走行判定プログラム422の内容とを除いて第2実施形態の電子腕時計40と同一であるので、説明を省略する。
【0129】
図17は、加速度センサ51の基準値検出回路511から出力される割込み信号と、これらの割込み信号に基づく走行状態及びダブルタップの検出について説明する図である。
【0130】
この基準値検出回路511(垂直加速度検出信号出力手段、平行加速度検出信号出力手段)、では、割込み信号INT1は、X軸方向の加速度振幅及びY軸方向の加速度振幅のうち大きい方の値(平行加速度の振幅)と、基準値との大小関係に応じて生成される。また、割込み信号INT2は、Z軸方向の加速度(垂直加速度)の振幅と基準値との大小関係に応じて生成される。
【0131】
上述のように、タッピング動作に係る加速度の変化は、主にZ軸方向の計測値に現れる。従って、
図17(b)に示すように、割込み信号INT2は、非走行状態における第2実施形態の割込み信号INT2(
図7参照)と同様の波形で出力される。
【0132】
一方、走行に係る加速度変化は、主にユーザの腕振りによって表示画面と平行な方向、即ち、XY面内の計測値に現れる。従って、
図17(a)に示すように、割込み信号INT1は、走行に係る加速度変化に応じ、割込み信号INT2と比較して継続時間の長いハイレベル状態が周期的に現れる信号となる。このときの基準値A1、A2は、それぞれ別個に適宜な値に設定することが出来る。
【0133】
図18は、本実施形態の電子腕時計40で実行される走行検出処理のCPU41による制御手順を示すフローチャートである。また、
図19は、ダブルタップ検出処理のCPU41による制御手順を示すフローチャートである。
【0134】
本実施形態の電子腕時計40では、走行状態の加速度変化に係る割込み信号の検出処理が、走行検出処理としてダブルタップ検出処理から分離されて実行される。これに伴い、ダブルタップ検出処理は、第2実施形態のダブルタップ検出処理からステップS141の処理が除外され、また、ステップS103a、S110aの処理が、それぞれ、ステップS103b、S110bの処理に置き換えられる。これら以外の処理は、第2実施形態のダブルタップ検出処理と同一であり、同一の符号を付して説明を省略する。
【0135】
走行検出処理は、走行判定プログラム422の一つとしてROM42に格納され、タッピング入力が可能に設定されている場合に起動されてRAM43に常駐し、実行される。
【0136】
走行検出処理が開始されると、
図18に示すように、CPU41は、割込み信号INT1の立上がりが検出されたか否かを判別する(ステップS301)。立上がりが検出されていないと判別された場合には(ステップS301で“NO”)、CPU41は、ステップS301の処理を繰り返す。
【0137】
立上がりが検出されたと判別された場合には(ステップS301で“YES”)、CPU41は、タイマーを動作させて継続時間Tx1の計数を開始する(ステップS302)。それから、CPU41は、割込み信号INT1の立下がりが検出されたか否かを判別する(ステップS303)。立下がりが検出されていないと判別された場合には(ステップS303で“NO”)、CPU41は、ステップS303の処理を繰り返す。
【0138】
立下がりが検出されたと判別された場合には(ステップS303で“YES”)、CPU41は、継続時間Tx1が基準時間Tx0以下であるか否かを判別する(ステップS304)。基準時間Tx0以下であると判別された場合には(ステップS304で“YES”)、CPU41の処理は、ステップS306に移行する。基準時間Tx0以下ではないと判別された場合には(ステップS304で“NO”)、CPU41は、NGカウント431の値に1を加算して(ステップS305)、それから、処理をステップS306に移行させる。
【0139】
ステップS306の処理に移行すると、CPU41は、タイマーをリセットして(ステップS306)、それから、処理をステップS301に戻す。
【0140】
一方、ダブルタップ検出処理において、
図19に示すように、ステップS102の処理で継続時間Tx1の計数が開始された後、CPU41は、割込み信号INT2の立下がりが検出されたか否かを判別する(ステップS103b)。立下がりが検出されていないと判別された場合には(ステップS103bで“NO”)、CPU41は、ステップS103bの処理を繰り返し、立下がりが検出されたと判別された場合には(ステップS103bで“YES”)、CPU41の処理は、ステップS104に移行する。
【0141】
同様に、ステップS109の処理で継続時間Tx2の計数が開始された後、CPU41は、割込み信号INT2の立下がりが検出されたか否かを判別する(ステップS110b)。立下がりが検出されていないと判別された場合には(ステップS110bで“NO”)、CPU41は、ステップS110bの処理を繰り返し、立下がりが検出されたと判別された場合には(ステップS110bで“YES”)、CPU41の処理は、ステップS111に移行する。
【0142】
また、ステップS104の判別処理で、継続時間Tx1が基準時間Tx0以下ではないと判別された場合には(ステップS104で“NO”)、CPU41の処理は、ステップS142に移行する。
【0143】
以上のように、第8実施形態の電子腕時計40では、基準値検出回路511からX軸方向加速度及びY軸方向加速度に応じて生成される割込み信号INT1とZ軸方向加速度に応じて生成される割込み信号INT2とが生成、出力される。そして、割込み信号INT1を用いて走行検出処理と走行判定処理とにより走行状態の判定を行い、割込み信号INT2を用いたダブルタップ検出処理により、ダブルタップの検出のみを行う。従って、走行時にダブルタップに係る加速度変化と走行に係る加速度変化とを分離してより確実にダブルタップの検出を行うことが出来る。また、この場合でも、走行時にダブルタップの検出に係る判定基準を緩めるので、非走行状態での誤検出を増加させずに走行中のタッピング動作の検出率を上げることが出来る。
【0144】
特に、振動発生部52やブザー部54のように表示画面を見る必要がない報知動作を、表示画面を見ない体勢のまま停止させるためのタッピング動作を検出する際には、各軸方向の加速度振幅の波形が走行に係るものとタップに係るものとで明瞭に分離してより効果的にタッピング動作の検出を行うことが出来る。
【0145】
[第9実施形態]
次に、第9実施形態の電子腕時計40について説明する。
第9実施形態の電子腕時計40の内部構成は、基準値検出回路511の出力信号と、操作検出プログラム421及び走行判定プログラム422の内容とを除いて第8実施形態の電子腕時計40と同一であるので、説明を省略する。
【0146】
図20は、加速度センサ51の基準値検出回路511から出力される割込み信号と、これらの割込み信号に基づく走行状態及びダブルタップの検出について説明する図である。
【0147】
この基準値検出回路511では、割込み信号INT1、INT2は、X軸方向の加速度振幅変化及びY軸方向の加速度振幅のうち大きい方の値と、基準値との大小関係に応じて生成される。また、割込み信号INT3、INT4は、Z軸方向の加速度振幅と基準値との大小関係に応じて生成される。割込み信号INT1、INT3に係る基準値A1、A3は、それぞれ、割込み信号INT2、INT4に係る基準値A2、A4よりも小さい値に設定されている。
【0148】
Z軸方向の計測値に現れるタッピング動作に係る加速度の変化は、
図20(b)に示すように、割込み信号INT3、INT4に関しては、非走行状態における第2実施形態の割込み信号INT2(
図7参照)と同様の波形で出力される。即ち、この場合には、X軸方向及びY軸方向の加速度の影響を受けないので、加速度の双極変化の各々に対して別個に割込み信号INT3、INT4がハイレベルになる区間が現れる。
【0149】
XY面内の計測値に現れる走行に係る加速度変化は、第8実施形態の場合と同様に、
図20(a)に示す形で現れる。割込み信号INT1、INT2は、基準値A1、A2の大きさの差に応じてハイレベル期間の幅が異なるものとなる。
【0150】
図21は、本実施形態の電子腕時計40で実行される走行検出処理のCPU41による制御手順を示すフローチャートである。また、
図22は、ダブルタップ検出処理のCPU41による制御手順を示すフローチャートである。
【0151】
この走行検出処理は、第8実施形態の走行検出処理のステップS301の処理がステップS301fの処理に置き換えられた点を除き同一であり、同一の処理については同一の符号を付して詳しい説明を省略する。
また、本実施形態のダブルタップ検出処理では、第8実施形態のダブルタップ検出処理におけるステップS101、S103b、S106、S110bの処理が、それぞれ、ステップS101f、S103f、S106f、S110fの処理に置き換えられている。これら以外の処理は、第1実施形態及び第8実施形態のダブルタップ検出処理と同一であり、同一の符号を付して説明を省略する。
【0152】
走行検出処理が開始されると、
図21に示すように、CPU41は、割込み信号INT2の立上がりが検出されたか否かを判別する(ステップS301f)。立上がりが検出されていないと判別された場合には(ステップS301fで“NO”)、CPU41は、ステップS301fの処理を繰り返す。立上がりが検出されたと判別された場合には(ステップS301fで“YES”)、CPU41は、タイマーを動作させて継続時間Tx1の計数を開始する(ステップS302)。
【0153】
一方、
図22に示すように、ダブルタップ検出処理において、CPU41は、先ず、割込み信号INT4の立上がりが検出されたか否かを判別する(ステップS101f)。検出されていないと判別された場合には(ステップS101fで“NO”)、CPU41は、ステップS101fの処理を繰り返す。検出されたと判別された場合には(ステップS101fで“YES”)、CPU41の処理は、ステップS102に移行する。
【0154】
ステップS102の処理で継続時間Tx1の計数が開始された後、CPU41は、割込み信号INT3の立下がりが検出されたか否かを判別する(ステップS103f)。立下がりが検出されていないと判別された場合には(ステップS103fで“NO”)、CPU41は、ステップS103fの処理を繰り返し、立下がりが検出されたと判別された場合には(ステップS103fで“YES”)、CPU41の処理は、ステップS104に移行する。
【0155】
同様に、ステップS105の処理で、時間間隔Tyの計数が開始された後、割込み信号INT4の立上がりが検出されたか否かを判別する(ステップS106f)。検出されていないと判別された場合には(ステップS106fで“NO”)、CPU41の処理は、ステップS121に移行する。検出されたと判別された場合には(ステップS106fで“YES”)、CPU41の処理は、ステップS107に移行する。
【0156】
また、ステップS109の処理で継続時間Tx2の計数が開始された後、CPU41は、割込み信号INT3の立下がりが検出されたか否かを判別する(ステップS110f)。立下がりが検出されていないと判別された場合には(ステップS110fで“NO”)、CPU41は、ステップS110fの処理を繰り返し、立下がりが検出されたと判別された場合には(ステップS110fで“YES”)、CPU41の処理は、ステップS111に移行する。
【0157】
以上のように、第9実施形態の電子腕時計40では、基準値検出回路511からX軸方向加速度及びY軸方向加速度に応じて生成される割込み信号INT1、INT2とZ軸方向加速度に応じて生成される割込み信号INT3、INT4とが出力される。そして、割込み信号INT1、INT2を用いて走行検出処理と走行判定処理とにより走行状態の判定を行い、割込み信号INT3、INT4を用いたダブルタップ検出処理により、ダブルタップの検出のみを行う。従って、走行時にダブルタップに係る加速度変化と走行に係る加速度変化とを分離してダブルタップの検出を行うことが出来る。また、この場合でも、2段階の基準値を用いて走行判定とダブルタップ検出を行うことで、判定精度を向上させると共に、走行時にダブルタップの検出に係る判定基準を緩めるので、非走行状態での誤判定を増加させずに走行中のタッピング動作の検出率を上げることが出来る。
【0158】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
例えば、上記実施の形態(実施形態1〜7)では、3軸方向の加速度の振幅のうち最大値のものが基準値A1、A2と比較されたが、最初に割込み信号INT2をハイレベルに変化させる対象となった軸方向の加速度振幅が基準値A1を下回った場合に、割込み信号INT1を出力する構成であっても良い。
【0159】
また、上記実施の形態では、加速度の振幅(絶対値)について判断を行うこととしたが、第8、第9実施形態のようにZ軸データが独立に取得される場合には、最初の加速度変化がZ軸の負の方向のものに限ることが出来る。
【0160】
また、上記実施の形態では、ユーザの運動状態を走行時と静止時として分割したが、この走行時には、早歩きなどでのタップ動作に係る加速度振幅と同レベルの周期的な加速度振幅を伴う運動を含む。
【0161】
また、上記実施の形態では、ダブルタップ検出処理を常駐プログラムとしたが、最初の割込み信号INT2が入力された段階で呼び出されて起動され、ダブルタップ操作の判定が終了するとプログラムも終了するものであっても良い。
【0162】
また、上記実施の形態では、走行時のタップの検出基準緩和について、基準時間Tx0を延長する方法(基準時間Tx0を基準としない(=無限大とする)を含む)、NG判定後に禁止期間Tz0が経過するまでダブルタップ動作を禁止する制限を解除する方法、及び、基準値A1、A2を低下させる方法をそれぞれ例に挙げて説明したが、これらのうち1つ又は全てを任意に組み合わせて用いることが出来る。
【0163】
また、上記実施の形態では、3軸方向の加速度計測値と基準値とをそれぞれ別個に比較したが、トータル加速度を算出してこの値と基準値とを比較しても良い。
【0164】
割込み信号INT1の立上がり前に割込み信号INT2の立上がりが複数回あった場合、各々について、継続時間Tx1を算出しても良い。また、時間間隔Tyが基準時間Ty0を超えるまでに割込み信号INT2の立上がりが複数回あった場合、各々について時間間隔Tyと継続時間Tx2とを算出しても良い。
【0165】
また、上記実施の形態では、電子腕時計40を例に挙げて説明したが、ユーザが装着または保持する携帯表示装置であっても良い。特に、手首や腕に装着する端末、例えば、電子歩数計やGPS(Global Positioning System)ロガーなどでは、タップに係る加速度と走行に係る加速度との向きが異なり易いので好ましいが、これに限られない。スマートフォンやタブレット端末でも同様に利用することが出来る。
【0166】
また、上記実施の形態では、ダブルタップに係る動作として、外部機器であるスマートフォン10から受信した報知情報に係る報知動作の停止を例に挙げて説明したが、これに限られない。電子腕時計40で設定された報知情報、例えば、アラーム報知やタイマー報知の停止などにも本発明を適用することが出来る。
【0167】
また、上記第7実施形態では、4種類の基準値に係る割込み信号INT1H、INT1L、INT2H、INT2Lを出力する場合を例に挙げて説明したが、割込み信号INT1H、INT2Hに係る基準値を固定、又は、割込み信号INT1L、INT2Lに係る基準値を固定して、3種類の基準値としても良い。また、割込み信号INT2L、INT1Hを共通の基準値に基づくものとしても良い。
その他、上記実施の形態で示した構成、回路や処理手順などの具体的な細部は、本発明の趣旨を逸脱しない範囲において、適宜変更可能である。
【0168】
また、上記実施の形態では、割込み信号としてINT1、INT2などを直接出力することとしたが、信号INT1、INT2がハイレベル期間、又は、信号INT1、INT2の立上がり及び立下がりのタイミングにのみ、その旨を示す割込み信号をCPU41に出力することとしても良い。
【0169】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
【0170】
[付記]
<請求項1>
3次元方向の加速度を計測する加速度センサと、
前記加速度の振幅の計測値が所定の基準値を予め定められた向きに跨いで変化した際に検出信号を出力する検出信号出力手段と、
前記検出信号を用いて前記計測値が前記基準値を超えた運動状態の継続時間を算出する運動継続時間算出手段と、
前記運動状態の発生頻度と、当該運動状態において各々算出された前記継続時間とに基づいて、前記運動状態がユーザの走行によるものであるか否かを判別する走行判別手段と、
前記走行判別手段において、前記ユーザの走行によるものであると判別された場合に、所定期間、走行状態に設定する走行状態設定手段と、
前記運動状態が2回計測された場合において、前記検出信号を用いて当該2回の運動状態の時間間隔を算出する運動間隔算出手段と、
算出された前記継続時間及び前記時間間隔に基づく条件範囲に従って、前記2回の計測が連続したタップ操作によるものであるかを判別するダブルタップ判別手段と、
前記走行状態の場合には、前記ダブルタップ判別手段において連続したタップ操作であると判別する前記条件範囲を、非走行状態における当該条件範囲よりも広く変更する設定範囲変更手段と
を備えることを特徴とする携帯表示装置。
<請求項2>
前記条件範囲には、前記継続時間の上限値が含まれ、
前記設定範囲変更手段は、当該上限値を上昇させる
ことを特徴とする請求項1記載の携帯表示装置。
<請求項3>
前記上昇させた上限値は、前記運動状態が走行状態である場合の前記継続時間に応じて予め定められた上限時間未満であることを特徴とする請求項2記載の携帯表示装置。
<請求項4>
前記設定範囲変更手段は、前記基準値を低下させることを特徴とする請求項1〜3の何れか一項に記載の携帯表示装置。
<請求項5>
前記設定範囲変更手段は、前記走行状態ではない場合に、前記ダブルタップ判別手段により前記運動状態が連続したタップ操作によるものではないと判別されたタイミングから所定の第1禁止期間の間に検出された前記運動状態をタップ操作によるものと見做さない設定を行うことを特徴とする請求項1〜4の何れか一項に記載の携帯表示装置。
<請求項6>
前記加速度センサは、直交する3軸方向の加速度を各々計測し、
前記検出信号出力手段は、何れかの軸方向への加速度に係る計測値が前記基準値を上回ってから、全ての軸方向への加速度に係る計測値が前記基準値を下回るまでの期間に亘り前記検出信号を出力することを特徴とする請求項1〜5の何れか一項に記載の携帯表示装置。
<請求項7>
前記加速度センサは、直交する3軸方向の加速度を各々計測し、
前記検出信号出力手段は、何れかの軸方向への加速度に係る計測値が前記基準値を上回った場合、及び、全ての軸方向への加速度に係る計測値が前記基準値を下回った場合に、パルス波形の前記検出信号を出力することを特徴とする請求項1〜5の何れか一項に記載の携帯表示装置。
<請求項8>
前記検出信号出力手段は、表示画面に垂直な方向の垂直加速度の振幅に係る計測値について、前記所定の基準値を予め定められた向きに跨いで変化した際に検出信号を出力する垂直加速度検出信号出力手段と、前記表示画面に水平な面内における水平加速度の振幅に係る計測値について、前記所定の基準値を予め定められた向きに跨いで変化した際に検出信号を出力する水平加速度検出信号出力手段と、を備え、
前記走行状態設定手段は、前記水平加速度についての前記運動状態の発生頻度と、当該運動状態において各々算出された前記継続時間とに基づいて、前記運動状態がユーザの走行によるものであるか否かを判別し、
前記ダブルタップ判別手段は、算出された前記垂直加速度についての前記継続時間及び前記時間間隔に応じて、前記2回の計測が連続したタップ操作によるものか否かを判別する
ことを特徴とする請求項1〜5の何れか一項に記載の携帯表示装置。
<請求項9>
前記検出信号出力手段は、
第1基準値に係る前記検出信号を出力する第1検出信号出力手段と、
前記第1基準値より大きい第2基準値に係る前記検出信号を出力する第2検出信号出力手段と
を備え、
前記運動継続時間算出手段は、前記第2基準値を上回ってから前記第1基準値を下回るまでの継続時間を算出する
ことを特徴とする請求項1〜8の何れか一項に記載の携帯表示装置。
<請求項10>
前記検出信号出力手段は、
第1基準値に係る前記検出信号を出力する第1検出信号出力手段と、
前記第1基準値より大きい第2基準値に係る前記検出信号を出力する第2検出信号出力手段と
を備え、
前記運動継続時間算出手段は、前記非走行状態では、前記第2基準値を上回ってから当該第2基準値を下回るまでの継続時間を算出し、前記走行状態では、前記第1基準値を上回ってから当該第1基準値を下回るまでの継続時間を算出する
ことを特徴とする請求項1〜8の何れか一項に記載の携帯表示装置。
<請求項11>
前記設定範囲変更手段は、前記非走行状態における前記運動状態の発生頻度が所定レベルより高い場合には、所定の第2禁止期間に亘り、検出された前記運動状態をタップ操作によるものとは見做さない設定を行うことを特徴とする請求項1〜10の何れか一項に記載の携帯表示装置。
<請求項12>
前記検出信号出力手段は、前記加速度センサと同一のチップ上に形成されていることを特徴とする請求項1〜11の何れか一項に記載の携帯表示装置。
<請求項13>
3次元方向の加速度を計測する加速度センサを用いた携帯表示装置への操作検出方法であって、
前記加速度の振幅の計測値が所定の基準値を予め定められた向きに跨いで変化した際に検出信号を出力する検出信号出力ステップ、
前記検出信号を用いて前記計測値が前記基準値を超えた運動状態の継続時間を算出する運動継続時間算出ステップ、
前記運動状態の発生頻度と、当該運動状態において各々算出された前記継続時間とに基づいて、前記運動状態がユーザの走行によるものであるか否かを判別する走行判別ステップ、
前記走行判別ステップで、前記ユーザの走行によるものであると判別された場合に、所定期間、走行状態に設定する走行状態設定ステップ、
前記運動状態が2回計測された場合において、前記検出信号を用いて当該2回の運動状態の時間間隔を算出する運動間隔算出ステップ、
算出された前記継続時間及び前記時間間隔に基づく条件範囲に従って、前記2回の計測が連続したタップ操作によるものであるかを判別するダブルタップ判別ステップ、
前記走行状態の場合には、前記ダブルタップ判別ステップで連続したタップ操作であると判別する条件範囲を、非走行状態における当該条件範囲よりも広く変更する設定範囲変更ステップ、
を含むことを特徴とする操作検出方法。