センサーテスト:ジャイロスコープ・加速度センサー・コンパス

スマートフォンやタブレットのモーションセンサーを確認します。加速度センサーで作った水準器、案内付きの軸チェック、コンパスの一周、そして端末を静止させたまま測るドリフト測定。すべてブラウザの中で動きます。

最初の値を待っています

端末を手に取って動かしてください。実際に何かを報告するまで、センサーについては何も断定しません。加速度センサーがどこにもないデスクトップでも、ブラウザは同じイベントを用意し、中身を空の値で埋めるからです。

加速度センサーの値はまだありません

水準器には重力が必要で、重力は加速度センサーから届きます。端末を動かすか、上で動きへのアクセスが許可されているか確認してください。

確認したい端末でこのページを開いてください。デスクトップパソコンにはこれらのセンサーが一つもなく、どのブラウザもそれを作り出したりはしません。

スマートフォンのセンサーを確認する方法

スマートフォンの動き検出は、一つの装置のふりをした三つの別々の部品です。どちらが下かを感じるチップ、回転を感じるチップ、地磁気を感じるチップ。それぞれが独立して、それぞれのやり方で壊れます。だから上では別々に確かめます。

加速度センサー、ジャイロスコープ、磁力計

加速度センサーが測るのは力で、静止していればその力は重力です。端末はそうやって上下を知り、画面の回転と歩数計にはそれだけで足ります。ジャイロスコープは回転を測り、素早いパンでカメラを、頭の動きでヘッドセットを支えます。重力が落ち着くまでの一瞬を待つのに対し、こちらはミリ秒で応えるからです。磁力計は地磁気を測り、他の二つに拠りどころとなる北を与えます。安価な端末には加速度センサーしか入っていません。ゲームが「非対応の端末です」と言うとき、たいてい足りないのはジャイロスコープです。

水準器が狂うことがある理由

どんな加速度センサーにもオフセット、つまり測定値に加算される小さな定数があり、端末は工場出荷時の値を引いています。落としたり画面を交換したりすると、センサーの基準系が校正時の筐体に対してずれ、補正が合わなくなります。その結果、完全に水平な面でも1度や2度ずれた表示になり、一度の測定では見抜けません。端末を180度回すことが両者を分ける唯一の方法で、上の確認はそれを行います。

ジャイロスコープのドリフト

静止したジャイロスコープはごくわずかなゼロでない回転を報告し、その上に成り立つものはすべて、その数値を引き続けなければなりません。数値が安定していれば引き算は機能し、誰も気づきません。経年、温度、衝撃でその数値が大きくなると補正が追いつかなくなり、ゲームのカメラがひとりでに流れ、机の上で静止した端末のコンパスが回り、ヘッドセットの世界がゆっくり回転します。それを測るには、何もしない20秒があれば十分です。

コンパスの不具合は、たいていコンパスのせいではありません

磁力計が測っているのは0.5ガウス程度の磁場で、身の回りのたいていのものはそれより強力です。マグネット式のケース、車載ホルダー、スピーカー、ノートパソコンの天板、床の鉄筋。コンパスの故障に見えるものの大半は干渉であり、地図アプリが求める8の字の動きは、新しい方向のデータから補正を作り直しているだけです。本物の故障は形が違います。方位が滑らかに動かず、飛ぶのです。上のテストが一度の測定ではなく一周を求めるのはそのためです。

修理のあとで

センサーはメインボードの上にあり、校正の基準となる座標系は筐体のものです。画面交換、バッテリー交換、こじ開けて閉じ直した筐体は、その両方をずらすことがあります。急に狂いはじめた水準器、絶えず校正を求めるコンパス、以前はしなかったドリフトをするジャイロスコープ。開けたばかりの端末では、これらをまとめて確かめる価値があります。

iPhoneが先に確認する理由

動きのデータからは、入力中の文字を推測することも、センサー固有の誤差から端末を特定することもできます。そのためWebKitは無条件に渡すのをやめました。iPhoneとiPadでは、ページがhttpsの上で実際のタップから要求しなければなりません。AndroidのChromeは尋ねません。だから一方にはボタンが出て、もう一方には出ないのです。いずれにせよ測定値はこのページの中にとどまります。ここから外へは何も送られません。

画面そのものを確認しますか?
マルチタッチを確認し、ガラスを走査して不感帯を探し、ゴーストタッチを捕まえます。
タッチスクリーンテストを開く
スタイラスをお使いですか?
筆圧、傾き、線の揺れ、手のひら誤認防止をブラウザで確認できます。
スタイラステストを開く

よくある質問

上の「動きと軸」パネルを開いて端末を回してください。ジャイロスコープがあれば回転のバーがすぐ反応し、なければ平らなままです。次にドリフトテストを実行します。端末を20秒間置き、何もしていない間に何を報告するかを見ます。回せば反応するのに静止するとドリフトする、という半端な故障がいちばん多く、ゲーム、VR、手ぶれ補正を台なしにするのはこれです。
おそらく違います。低価格帯のスマートフォンや少なくないタブレットには加速度センサーしか入っていません。画面の回転と歩数計には足りますが、VRやそれを要求するゲームには足りません。以前は確かにあったのなら、まず別のブラウザを試してください。Firefoxや一部のアプリ内ブラウザは、ChromeやSafariより渡す情報が少なくなります。
まず上の2姿勢での確認を実行してください。1度の傾きは、センサーより机のほうがずっと多いからです。回してもずれが残るなら、それは端末側です。平らな面に置いて再起動してください。多くのシステムはそのときに補正を計算し直します。Androidメーカーによっては診断アプリにセンサー校正があります。それ以上はハードウェアの校正で、ウェブページにできることではありません。
端末が自分の答えを信用していないからです。磁力計はさまざまな方向で得た値から補正を組み立て、磁気を帯びたものの近くではそれを失います。ケースの留め具、車載ホルダー、スピーカー、金属の机。そうしたものから離れ、8の字を描いてください。それが常に必要なら、端末より先にケースを疑ってください。
起きようがないからです。加速度センサー、ジャイロスコープ、磁力計はスマートフォンとタブレットの部品で、ノートでは一部の2-in-1にしかなく、デスクトップには一つもありません。それでもブラウザは同じイベントを用意し、中身を空の値で埋めます。だからこのページは、何かを断定する前に本物の値を待ちます。スマートフォンで開いてください。
動きのデータからは入力中の文字を推測でき、端末の特定にも使えます。そのためWebKitは、httpsの上で実際のタップから要求することを求めます。AndroidのChromeは尋ねずに渡します。iPhoneのボタンがその要求で、許可は再読み込みしても残ります。ただし拒否した場合、確認は戻ってきません。「設定 › App › Safari › モーションと画面の向きのアクセス」で再度有効にしてください。
いいえ、ウェブでは何をしても確認できません。近接センサー、つまり通話中に耳の前で画面を消すあのセンサーで、画面交換後の苦情としてもっとも多いものは、何年も前にブラウザから削除されました。環境光センサーは今も仕様としては存在しますが、既定で無効なChromeのフラグの裏にあります。どちらも上の対応状況パネルに並べてあります。未確認ではなく、意図的に不在だと分かるようにするためです。
はい。すべてブラウザの中で完結します。センサーの値がページの外に出ることはなく、何も保存されず、インストールするものもありません。iPhoneでもAndroidでもタブレットでも同じように動きます。