ここで、第1の方法の具体例として図7に、携帯電話機1が水平面に対して垂直に置かれ、時計回りに回転させた場合に、携帯電話機の外部から視認される位置に設けられたLEDの点灯位置が、CPUの制御により携帯電話機の傾斜角度に応じて移動するときの一例を示す。
携帯電話機100は、表示部側筐体101の表示部裏側の外周部に沿ってLED102a〜102nが設けられている。
図7(a)は、携帯電話機100が水平面に対して垂直に置かれた状態から、時計回りに回転させたときのLED102a〜102nの点灯位置を示している。LEDの点灯位置は、後述の図8に示す傾斜角度に対するLED点灯位置のテーブルを参照することで、加速度センサにより検出されるX軸、Y軸のそれぞれの加速度に対応した点灯位置が決定され、中心となるLEDの点灯位置はLED102aとなり、LEDの点灯位置はLED102a、LED102b、及びLED102nと決定される。
次に、図7(b)は、携帯電話機100が図7(a)の静止状態からやや傾斜したときのLEDの点灯位置を示している。このときのLEDの点灯位置は、後述の図8に示す傾斜角度に対するLED点灯位置のテーブルを参照すると、中心となるLEDの点灯位置はLED102bとなり、LEDの点灯位置はLED102a、LED102b、及びLED102cと決定される。次に、図7(c)は、携帯電話機100が図7(b)の傾斜状態からさらに傾斜したときのLEDの点灯位置を示している。このときのLEDの点灯位置は、後述の図8に示す傾斜角度に対するLED点灯位置のテーブルを参照すると、中心となるLEDの点灯位置はLED102cとなり、LEDの点灯位置はLED102b、LED102c、及びLED102dと決定される。
図8は、携帯電話機100の傾斜角度に対応したLEDの点灯位置を決定するテーブルの一例である。このテーブルを用いて加速度センサにより検出されるX軸方向、Y軸方向それぞれの加速度値からX軸方向、Y軸方向それぞれの傾斜角度を決定し、これらの傾斜角度に対応する図7に示すLEDの点灯位置と中心となるLEDの点灯位置を決定する。
このように、加速度センサにより検出されるX軸、Y軸、Z軸それぞれの傾斜角度に対応したテーブルを参照することによりLEDの点灯位置を決定することができる。
しかしながら、第1の方法において、LEDの点灯位置を決定する際に、単純にテーブルを参照して筐体の傾斜角度に基づいてLEDの点灯位置を決定する方法を採用した場合、筐体の傾斜角度が一定の角度(LEDの点灯位置が任意の点灯位置から次の点灯位置へ移動する境界線上にある角度)であったときに、筐体の傾斜角度が微小であるにもかかわらずLEDの点灯位置が移動してしまう可能性がある。例えば、筐体の傾斜角度をユーザが意識的に変えていないにもかかわらず、LEDの点灯位置が変わってしまい、ユーザに対して違和感を与えてしまう場合がある。
次に、第2の方法の具体例として図9に、携帯電話機の外部から視認される位置に設けられたLEDの点灯位置が、CPUの制御により任意の位置から隣接する位置へ順次移動するときの一例を示す。
図7と同様に、携帯電話機1は、表示部側筐体3の表示部裏側の外周部にLED102a〜102nが設けられている。
LED102a〜102nは、まず初めにLED102aが濃い色で点灯する(図9(a))。次に濃い色の点灯位置はLED102aからLED102bへ移り、LED102aは淡い色で点灯する(図9(b))。さらに、濃い色の点灯はLED102bからLED102cへ移り、LED102bは淡い色で点灯し、LED102aは図9(b)で点灯した色よりもさらに淡い色で点灯する(図9(c))。このようにLEDの点灯位置を任意の位置から隣接する位置へ順次移動させ、LEDの点灯位置移動速度を加速度センサにより検出される携帯電話機1の傾斜角度に応じて制御する。
また、第2の方法の具体例として、図10及び図11を参照して、傾斜角度に対応したLEDの点灯位置移動速度を制御する方法の一例を説明する。
携帯電話機100は、図10(a)において、折り畳み状態で水平面上に置かれており、静止状態であるため、LEDの点灯位置は移動しない。次に、上下方向の傾斜角度を検出すると、LEDの点灯位置が移動する。ここで、LEDの点灯位置が移動している図10(b)〜(e)において、LEDの点灯位置移動速度の大きさは携帯電話機100の側面に描かれた矢印の長さによって表されている。LEDの点灯位置移動速度は、傾斜角度が大きくなることに比例して、大きくなり、(図10(b)〜(d))、傾斜角度が90°になったところで最大となる(図10(e))。
また、携帯電話機100は、図11(c)において、折り畳み状態で水平面上に置かれており、静止状態であるため、LEDの点灯位置は移動しない。次に、左方向又は右方向の傾斜角度を検出すると、LEDの点灯位置が移動する。LEDの点灯位置移動速度は、傾斜角度が大きくなることに比例して、大きくなり、(図11(b)、(d))、傾斜角度が90°になったところで最大となる(図11(a)、(e))。
このように、第2の方法では、図12に示すように、加速度センサにより検出される傾斜角度に閾値(図12ではθ=45°)を設け、傾斜角度が閾値以上(θ≧45°)のときは、LEDの点灯位置移動速度をV1とし、傾斜角度が閾値未満(θ<45°)のときは、LEDの点灯位置移動速度をV2として、傾斜角度に対応したLEDの点灯位置移動速度を決定することができる。
また、第2の方法においては、筐体の微小な傾斜角度は、静止状態からの傾斜角度が小さい場合は図13のP領域に示すように、微小な傾斜角度を静止状態として判断することで除去できる。
しかし、静止状態からの傾斜角度が大きい場合は図13のQ領域に示すように、微小な傾斜角度を静止状態として判断すると傾斜角度自体の検出ができなくなるため、筐体の微小な傾斜角度を除去することができない。
そこで、本発明では、上述した課題を解決するために、ユーザが意識的に傾ける動作を行ったことを好適に推定し、それ以外の動作を排除することができる携帯電子機器及び携帯電子機器の制御方法を提供することを目的とする。
本発明に係る携帯電子機器は、上記課題を解決するために、表示手段と、加速度を検出する加速度センサと、前記加速度センサにより検出された加速度値に応じて前記表示手段の表示態様の制御を行う制御手段と、を備える携帯電子機器であって、前記制御手段は、所定周期ごとの前記加速度値を累積的に積算する加速度値積算手段と、前記加速度値積算手段による所定期間分の積算値が前記加速度センサの静止状態から一定の傾斜状態を示す第1の閾値を超えるか否かを判定する積算値判定手段と、前記積算値判定手段により前記積算値が、前記第1の閾値を超えたと判定された場合には、前記表示手段に所定の態様で表示を行わせるように制御する表示制御手段と、を備えることを特徴とする。
また、前記積算値判定手段により判定された結果に応じて、前記加速度値積算手段を制御する判定制御手段を備え、前記積算値判定手段は、前記加速度値積算手段による積算値が、前記第1の閾値よりも小さい第2の閾値を超えたか否か判定し、前記判定制御手段は、前記第2の閾値を超えたと判定された場合には、前記加速度値積算手段による積算を継続するように制御し、前記第2の閾値を超えないと判定された場合には前記積算値を破棄して、新たに積算を行うように制御することが好ましい。
また、前記表示制御手段は、前記積算値判定手段により、積算値が前記第2の閾値を超えたと判定されて、積算継続した後の積算値が前記第1の閾値を超えたと判定された場合には、前記表示手段に前記所定の態様で表示を行わせるように制御することが好ましい。
また、前記積算値判定手段は、積算値が前記第2の閾値を超えたと判定されて積算継続した後の積算された値が前記第2の閾値を超えるか否か判定し、当該積算された値が前記第2の閾値を超えないと判定した場合には、当該積算された値を破棄して新たに積算を行うように制御することが好ましい。
前記加速度センサは、一方向の加速度値と、前記一方向とは反対の他方向の加速度値を検出可能であり、前記加速度値積算手段は、積算値を前記一方向の加速度値又は前記他方向の加速度値として積算を行うように制御することが好ましい。
また、前記加速度センサは、互いに直交する2軸あるいは3軸方向の加速度をそれぞれ検出するセンサであり、前記加速度値積算手段は、前記加速度センサの検出軸それぞれの方向で、前記所定周期ごとの前記加速度値を累積的に積算し、前記積算値判定手段は、積算値が前記所定周期内に前記第1の閾値を超えるか否かの判定を前記検出軸それぞれで行うように制御することが好ましい。
また、本発明に係る制御方法は、上記課題を解決するために、加速度センサにより検出された加速度値を所定周期ごとに累積的に積算する加速度値積算工程と、前記加速度値積算工程による所定期間分の積算値が前記加速度センサの静止状態から一定の傾斜状態を示す第1の閾値を超えるか否かを判定する積算値判定工程と、前記積算値判定工程により前記積算値が前記第1の閾値を超えたと判定された場合には、表示手段が所定の態様で表示を行うように制御する表示制御工程と、を備えることを特徴とする。
本発明に係る携帯電子機器及び携帯電子機器の制御方法によれば、ユーザが意識的に傾ける動作を行ったことを好適に推定し、それ以外の動作を排除することができる。
以下、本発明の実施形態について説明する。
図1は、本発明に係る携帯電子機器の一例である携帯電話機1の外観斜視図を示す。なお、図1は、いわゆる折り畳み型の携帯電話機の形態を示しているが、本発明に係る携帯電話機の形態はこれに限られない。例えば、両筐体を重ね合わせた状態から一方の筐体を一方向にスライドさせるようにしたスライド式や、重ね合せ方向に沿う軸線を中心に一方の筐体を回転させるようにした回転式(ターンタイプ)や、操作部と表示部とが1つの筐体に配置され、連結部を有さない形式(ストレートタイプ)でもよい。
携帯電話機1は、操作部側筐体2と、表示部側筐体3と、を備えて構成される。操作部側筐体2は、表面部10に、操作部11と、携帯電話機1の使用者が通話時に発した音声が入力されるマイク12と、を備えて構成される。操作部11は、各種設定機能や電話帳機能やメール機能等の各種機能を作動させるための機能設定操作ボタン13と、電話番号の数字やメールの文字等を入力するための入力操作ボタン14と、各種操作における決定やスクロール等を行う決定操作ボタン15と、から構成されている。
また、表示部側筐体3は、表面部20に、各種情報を表示するためのLCD(Liquid Crystal Display)表示部21と、通話の相手側の音声を出力するスピーカ22と、を備えて構成されている。
また、操作部側筐体2の上端部と表示部側筐体3の下端部とは、ヒンジ機構4を介して連結されている。また、携帯電話機1は、ヒンジ機構4を介して連結された操作部側筐体2と表示部側筐体3とを相対的に回転することにより、操作部側筐体2と表示部側筐体3とが互いに開いた状態(開放状態)にしたり、操作部側筐体2と表示部側筐体3とを折り畳んだ状態(折り畳み状態)にしたりできる。
また、図2は、携帯電話機1の機能を示すブロック図である。携帯電話機1は、操作部11と、マイク12と、メインアンテナ40と、RF(Radio Frequency)回路部41と、LCD制御部42と、音声処理部43と、メモリ44と、加速度センサ45と、LED(Light Emitting Diode)46と、電源制御回路部47と、バイブレーションモータ48と、CPU49(制御手段(加速度値積算手段、積算値判定手段、表示制御手段、判定制御手段))と、充電池50とが操作部側筐体2に備えられ、LCD表示部21と、スピーカ22と、ドライバIC23とが表示部側筐体3に備えられている。
なお、本実施形態では、傾斜センサとして加速度センサ45を利用し、携帯電話機1の傾斜角度を算出する。
メインアンテナ40は、所定の使用周波数帯(例えば、800MHz)で外部装置と通信を行う。なお、本実施形態では、所定の使用周波数帯として、800MHzとしたが、これ以外の周波数帯であってもよい。また、メインアンテナ40は、所定の使用周波数帯の他に、他の使用周波数帯(例えば、2GHz)に対応できる、いわゆるデュアルバンド対応型による構成であってもよい。
RF回路部41は、メインアンテナ40によって受信した信号を復調処理し、処理後の信号をCPU49に供給し、また、CPU49から供給された信号を変調処理し、メインアンテナ40を介して外部装置(基地局)に送信する。また、その一方で、メインアンテナ40によって受信している信号の強度をCPU49に通知を行う。
LCD制御部42は、CPU49の制御にしたがって、所定の画像処理を行い、処理後の画像データをドライバIC23に出力する。ドライバIC23は、LCD制御部42から供給された画像データをフレームメモリに蓄え、所定のタイミングでLCD表示部21に出力する。
音声処理部43は、CPU49の制御にしたがって、RF回路部41から供給された信号に対して所定の音声処理を行い、処理後の信号をスピーカ22に出力する。スピーカ22は、音声処理部43から供給された信号を外部に出力する。
また、音声処理部43は、CPU49の制御にしたがって、マイク12から入力された信号を処理し、処理後の信号をRF回路部41に出力する。RF回路部41は、音声処理部43から供給された信号に所定の処理を行い、処理後の信号をメインアンテナ40に出力する。
メモリ44は、例えば、ワーキングメモリを含み、CPU49による演算処理に利用される。具体的には、後述する振動パターンデータを記憶することができる。なお、メモリ44は、着脱可能な外部メモリを兼ねていてもよい。
加速度センサ45は、携帯電話機1に与えられた加速度を検出し、検出結果をCPU49に出力する。この加速度センサ45は、傾斜検出手段の一例である。
加速度センサ45は、互いに直交するX軸方向、Y軸方向及びZ軸方向の加速度を検出する3軸(3次元)タイプであって、外部から加わった力(F)と質量(m)に基づいて、加速度(a)を測定する(加速度(a)=力(F)/質量(m))。
また、加速度センサ45は、例えば、圧電素子によって所定の質量に加わる力を計測して軸ごとの加速度を求め、数値データ化してバッファリングする。そして、CPU49は、周期的にバッファリングされた加速度データを読み出す。なお、加速度センサ45は、圧電素子(圧電式)に限らず、ピエゾ抵抗型、静電容量型、熱検知型等によるMEMS(Micro Electro Mechanical Systems)式や、可動コイルを動かしてフィードバック電流によってもとに戻すサーボ式や、加速度によって生じる歪を歪ゲージによって測定する歪ゲージ式等により構成されてもよい。
LED46は、電源制御回路部47から供給される電圧に基づいて発光するように構成されている。なお、図2では、簡単のために、単一のLED46を示すが、実際には後述の図4に示すように複数の異なるLEDを有している。
電源制御回路部47は、充電池50が接続されており、充電池50から供給される電源電圧を所定の電源電圧に変換し、変換後の電源電圧をLED46等に供給する。なお、電源制御回路部47は、他の電子部品や機能ブロック等にも電源供給することは勿論のことである。
CPU49は、携帯電話機1の全体を制御しており、特に、RF回路部41、LCD制御部42、音声処理部43及びカメラ(図示せず)に対して所定の制御を行う。また、CPU49は、先に述べたメインアンテナ40による電波状態や充電池50の残量、不在着信及び未読メールの有無等の内部状態を監視しており、この結果に基づいて、LED46の発光色を変更したり、LCD表示部21の表示内容を変更したりする制御も行う。
また、通信手段としてのRF回路部41により、自装置に対する呼出信号が検出されると、LCD表示部21とLED46とバイブレーションモータ48とスピーカ22とを駆動して、着信を報知する。なお、この着信に対して操作部11による応答操作が生じると、RF回路部41を通信、通話に移行させる。
ここで、加速度センサ45とCPU49の動作について説明する。
加速度センサ45は、電源制御回路部47から一定の電源電圧が供給されており、携帯電話機1の傾斜が変化する際に、その変化を定期的に加速度データとして検出している。そして、CPU49は、これを読み出す。また、CPU49は、読み出した加速度データに基づいて3軸ごとの傾斜角度を求める所定の演算を行い、携帯電話機1がどの方向に向いているのかを把握する。
CPU49は、加速度センサ45が検出した加速度データにより、携帯電話機1の傾斜角度を求め、この傾斜角度に基づいて、LCD表示部21やLED46による演出を制御する。例えば、電話の着信時に、複数設けられたLED46の点灯箇所を傾斜角度に応じて決定したり、ゲーム等のアプリケーションにおいて、傾斜角度に応じて表示画像を変更したりする。
ここで、携帯電話機1に搭載した加速度センサ45は、図3に示すように、X軸方向、Y軸方向、Z軸方向の3軸方向の加速度データを検出するものとする。なお、3軸でなくとも、互いに直交するX軸方向、Y軸方向の2軸を検出軸とする2軸式加速度センサでもよい。
次に、加速度センサ45により検出される携帯電話機1の傾斜角度に応じてLED46を制御する方法について説明する。
図4は、携帯電話機1が水平面に対して垂直に置かれ、時計回りに回転させた場合に、携帯電話機1の外部から視認される位置に設けられたLED46の点灯位置が、CPU49の制御により携帯電話1の傾斜角度に応じて移動するときの一例を示す。
携帯電話機1は、表示部側筐体3の表示部裏側の外周部に沿ってLED46a〜46nが設けられている。なお、本実施形態においては、表示部側筐体3の表示部裏側にLED46a〜46nが設けられているが、操作部側筐体2の操作部裏側にLED46a〜46nを設けてもよく、さらに、操作部側筐体2の操作部裏側及び表示部側筐体3の表示部裏側の両面に他のLEDを設けてもよい。また、LEDは、LED46a〜46nの14箇所設けられているが、LEDの個数はこれに限られない。
図4は、携帯電話機1が水平面に対して垂直に置かれた状態から、時計回りに回転させたときのLED46a〜46nの点灯位置を示している。図4(a)では、携帯電話機1は静止状態にあり、LED46a、LED46b、及びLED46nが点灯しており、中心となる位置のLED46aは、濃い色で点灯し、LED46aに隣接するLED46b及びLED46nは、淡い色で点灯している。
次に、図4(b)は、携帯電話機1が図4(a)の静止状態からやや傾斜したときのLEDの点灯位置を示している。ここでは、LED46a、LED46b、及びLED46cが点灯しており、中心となる位置のLED46bは、濃い色で点灯し、LED46bに隣接するLED46a及びLED46cは、淡い色で点灯している。
次に、図4(c)は、携帯電話機1が図4(b)の傾斜状態からさらに傾斜したときのLEDの点灯位置を示している。ここでは、LED46b、LED46c、及びLED46dが点灯しており、中心となる位置のLED46cは、濃い色で点灯し、LED46cに隣接するLED46b及びLED46dは、淡い色で点灯している。
本発明に係る携帯電話機1では、傾斜角度とLED点灯位置又はLEDの点灯位置移動速度を、テーブルを参照して対応させるのではなく、所定時間ごとに加速度を取得し、これを累積的に積算し、累積された加速度の積算値が所定の周期以内に予め定められた閾値を超えれば、LEDの点灯位置の変更又はLEDの点灯位置移動速度の変更を行う。また、本発明に係る携帯電話機1では、予め定められた周期以内に設定値を超えなければ、微小な変化とみなして積算値を破棄(リセット)する、という方法で制御を行う。この制御方法によれば、加速度値の大小に関わらず、携帯電話機1の微小な傾斜角度を除去することができ、LEDの点灯位置の変更又はLEDの点灯移動速度の変更を好適に行うことができる。
図5は、本発明に係る携帯電話機1の微小な傾斜角度の除去方法及びLED点灯位置移動速度の制御方法の具体例を示すグラフである。なお、図5では、簡単のために、加速度センサ45によりX軸方向で検出される加速度について示すが、実際には加速度センサ45によりX軸方向、Y軸方向それぞれで検出される加速度について微小な傾斜角度の除去が行われている。
まず、CPU49は、加速度センサ45により検出されたX軸方向の加速度値を周期Tごとに取得する。取得された加速度値は、CPU49により累積的に積算される。CPU49は、原則的に、周期Tを所定期間(例えば、3周期分、つまり3T分)カウントし、所定期間ごとにカウント値を破棄し、その後、再び、所定期間カウントする動作を繰り返す構成である。
所定期間の計測としては、周期Tがいくつ経過したかをCPU49が監視することによって行っている。具体的には、所定期間としては3T(3周期)分のカウント値3を持ち、周期Tが一つ経過するごとにカウント値を1減少させてゆき、このカウント値がゼロになった段階をもって、所定期間経過したとCPU49は判定する。
そして、CPU49は、所定期間満了までの間に積算値が第1の閾値+H1又は−H1を超えたか否か判定する。CPU49は、積算値が第1の閾値+H1又は−H1を超えたと判定した場合、LEDの点灯位置が現在点灯している位置から次の点灯位置又は直前の点灯位置へ移動するように制御する。このとき、CPU49は、積算値を破棄すると共にカウント値も破棄し、再び加速度値の積算を開始し、所定期間のカウントを開始する(図5中、期間6T〜9T、及び期間17T〜19T)。
また、CPU49は、積算値が第1の閾値+H1よりも小さい第2の閾値+H2を超えたか否か、又は、第1の閾値−H1よりも大きい第2の閾値−H2を超えたか否かを判定する。そして、CPU49は、第2の閾値+H2又は−H2を超えないと判定した場合、積算値を破棄すると共にカウント値も破棄し、再び加速度値の積算を開始し、所定期間のカウントを開始する(図5中、期間0T〜3T、及び期間3T〜6T)。
一方、積算値が+H2又は−H2を超えたと判定した場合には、積算値を破棄せずに積算を継続し、カウントも破棄しない。その後CPU49は、1周期(1T)経過する都度、積算値が+H1又は−H1を超えたか否かの判定を行う。あわせてCPU49は、積算値が+H2又は−H2を継続して超えたか否かの判定を行う。
また、このように一旦+H2又は−H2を超えたと判断して、積算を継続したとしても、継続開始から所定期間3T経過時点で、積算値が+H1又は−H1を超えていなければ、CPU49は積算値を破棄すると共にカウント値を破棄し、再び積算を開始すると共にカウントを開始する。そして、CPU49は、積算値が+H2又は−H2を超えないと判断した場合(H2を超えたと判断して積算継続中に、逆方向の検出値が積算されて積算値が減少した等)には、この時点で、積算値を破棄すると共に、カウント値を破棄して新たに積算を開始する。
本発明に係る携帯電話機1では、このような制御方法により、カウント値がゼロになるまでの間、加速度値を累積的に積算した積算値が第1の閾値+H1又は−H1を超えると判定された場合は、傾斜角度は微小ではないと判断し、ユーザが意識的に携帯電話機1を動かしているものと推定して、LEDの点灯位置が現在点灯している位置から次の点灯位置又は直前の点灯位置へ移動するように制御するので、ユーザに違和感を与えることがない。
また、本発明に係る携帯電話機1では、複数個の加速度値を累積的に積算した値によって、その変化量が微小であるかどうかを判定するので、微小変化量をより正確でリニアに捉えることができ、滑らかな動作態様でLEDの点灯位置の変更又はLEDの点灯速度制御の変更を行うことができる。一方で、一つの加速度値のみによって微小な傾斜であるか否かを判定した場合には、微小変化量を正確にリニアに捉えることができないので、荒い動作態様でLEDの点灯位置の変更又はLEDの点灯速度制御の変更を行ってしまうことになる。
さらに、本発明に係る携帯電話機1では、積算値が第2の閾値+H2又は−H2を超えないと判定された場合は、傾斜角度が微小であると判断して、ユーザが意識的に携帯電話機1を動かしていないものと推定して、積算値を破棄することにより携帯電話機1の傾斜角度の大きさにかかわらず、微小な傾斜角度を除去し、LEDの点灯位置を変動しないように制御することができる。
また、本発明に係る携帯電話機1は、CPU49により、第1の閾値H1を超えていないと判定されたが、第2の閾値+H2又は−H2を超えたと判定された場合、積算値を破棄せずに、加速度値の積算を継続し、その後、積算値が第1の閾値+H1又は−H1を超えたと判定された場合、LEDの点灯位置が現在点灯している位置から次の点灯位置へ移動する制御を行うので(図5中、期間9T〜14T)、傾斜角度に応じた滑らかな動きでLEDの点灯位置の変更又はLEDの点灯位置速度の変更を行うことができる。
図6は、本発明に係る携帯電話機1の微小な傾斜角度の除去方法及びLEDの点灯位置移動速度の決定方法の流れを示すフローチャートである。なお、図6では簡単のためにX軸方向のみの傾斜角度に対応する流れを示すが、実際はX軸方向、Y軸方向それぞれの傾斜角度に対応するフローチャートが設けられる。
初めに、ステップS1では、予め、使用する変数を定義し、その初期値を設定する。X軸方向の加速度値をx_accと定義し、その初期値は0であるため、x_acc=0と設定する。また、カウンタをx_countと定義し、その初期値を固定値Cとしてx_count=Cと設定する。また、LEDの点灯位置を移動させるか否か判定するために用いる閾値(図11における第1の閾値+H1及び−H1)をg_threshと定義し、その初期値を0x64としてg_thresh=0x64と設定する。また、加速度の積算値により携帯電話機1の傾斜角度が微小な傾斜角度であるか否か判定するための閾値(図11における第2の閾値+H2及び−H2)をg_chataと定義し、その初期値を0x15としてg_chata=0x15と設定する。また、加速度の積算値を格納するための変数としてgx_accと定義し、その初期値を0としてgx_acc=0と設定する。また、カウンタの数値を比較するための変数としてg_countを定義し、その初期値を0としてg_count=0と設定する。なお、本実施形態において閾値g_thresh及びg_chataに設定した値は一例であり、この値に限定されない。
次に、ステップS2では、CPU49は、周期Tごとに加速度センサ45により検出される加速度値x_accを取得する。
ステップS3では、CPU49は、加速度値x_accが負の方向を示す値であるか否かを判定する。これは本実施形態の加速度センサ45により検出される加速度値x_accが、正の方向であっても負の方向であっても、図5に示すように16進数の正の値で表されるためである。この判定がYESの場合は、加速度値x_accは負の方向を示す値であるため、ステップS4へ移る。一方、この判定がNoの場合には、加速度値x_accは正の方向を示す値であるため、ステップS5へ移る。ここで、本実施形態においてはX軸の一方向を正の方向とし、X軸の他方向を負の方向とする。
ステップS4では、CPU49は、gx_accにgx_acc−x_accを代入する。これにより、x_accを負の値として扱うことができる。ステップS5では、CPU49は、gx_accにgx_acc+x_accを代入する。これにより、x_accを正の値として扱うことができる。
ステップS6では、CPU49は、x_countの値を1減算してステップS7へ進む。
ステップS7では、CPU49は、gx_accの絶対値がg_threshの値よりも大きいか否か判定する。この判定がYESの場合は、ステップS8へ移る。一方、この判定がNoの場合には、ステップS10へ移る。
ステップS8では、CPU49は、LEDの点灯位置を現在の点灯位置から次の点灯位置又は直前の点灯位置へ変更し、ステップS9へ移る。
ステップS9では、CPU49は、x_countの値を破棄し、固定値C(例えば3)に再度設定して、ステップS2へ戻る。
ステップS10では、CPU49は、x_countの値が0であるか否か判定する。この判定がYESの場合は、ステップS11へ移る。一方、この判定がNoの場合には、積算値を破棄せずに継続して積算するため、ステップS2へ戻る。
ステップS11では、CPU49は、gx_accの値がg_chataよりも小さいか否か判定する。この判定がYESの場合は、傾斜角度は微小な角度であると判断され、ステップS12へ移る。一方、この判定がNoの場合には、傾斜角度は微小な角度ではないと判断され、ステップS13へ移る。すなわち、ステップS12を経由しないため、積算値gx_accを破棄しないで積算を継続する。
ステップS12では、CPU49は、gx_accに0を代入する。これにより、加速度の積算値は破棄され、微小な傾斜角度を除去することができる。
ステップS13では、CPU49は、x_countの値を破棄し、固定値Cに再度設定して、ステップS2へ戻る。つまり、gx_accがg_chataを超えていた場合には、もう1期間(C)分、積算が継続されていることとなる。
このようにして、本発明に係る携帯電話機1によれば、加速度値の大小に関わらず、携帯電話機1の微小な傾斜角度を除去することができ、LEDの点灯位置の変更又はLED点灯位置移動速度の変更を好適に行うことができる。
なお、本実施形態では、加速度値に応じた態様で表示を行う表示手段としてLEDを用いて説明したが、これに限られない。加速度値に応じた態様で表示を行う表示手段としてLCDや有機EL(Electro Luminescence)等を用いてもよく、この場合には点灯だけでなく表示内容の変更処理を行うこととなる。
また、本実施形態では、CPU49は、加速度センサ45により検出された加速度値を用いて積算を行ったが、これに限られない。加速度値に替えて加速度の変化量を用いて積算を行ってもよい。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。