水平器アプリの読み値がずれる理由:トラブルシューティングガイド
水平器アプリの数値がおかしいとき、原因はほぼ4つのどれかです。センサーのキャリブレーションができていない。スマホケースがオフセットを生んでいる。置いた面が振動している。あるいはブラウザがスマホのモーションセンサーをブロックしている。どれもすぐ直せますし、たいていは2分もあればどれが原因か見分けられます。
この記事のポイント
- 毎回同じだけずれるなら、キャリブレーション前のセンサーバイアスです。まず2点キャリブレーションをやりましょう。
- 数値がバラつくなら、たいていは振動か手の震えです。Hold/Freezeで安定した値を固定しましょう。
- ゆがんだスマホケースは、スマホをわずかに傾けてコンマ数度ずらします。測定するときと同じ状態でキャリブレーションしましょう。
- BraveとSamsung Internetは初期設定でモーションセンサーをブロックします。Spirit Level Proはこれを検知し、お使いのブラウザ向けの直し方を表示します。
- iOSやAndroidの大型アップデートのあとは再キャリブレーションを。アップデートでセンサーの基準がずれることがあります。
症状1:毎回同じだけずれる
物理的な水平器が0°を示す場所で、アプリがいつも0.8°を示す。これはキャリブレーション前のセンサーバイアスです。どの加速度計も、工場出荷時にわずかなオフセットを持っています。ゼロg オフセットとも呼ばれるものです。これは故障ではなくハードウェアの性質で、安いスマホだから悪いというわけでもありません。キャリブレーションで打ち消せます。
見分け方
気泡式の水平器、または水を張ったコップを、スマホと同じ面に置いてみます。どちらも水平を示すなら問題ありません。気泡が水平だと言う面でスマホが0.6°を示すなら、それがバイアスです。決め手は、その値がいつも同じであること。スマホを十数回置き直しても、毎回ほぼ0.6°(誤差はコンマ数度以内)になります。
直し方:2点キャリブレーションをする
手元でいちばん平らな面にスマホを置きます。フロートガラス、確認済みのカウンター、機械工用のスコヤなど、何でも構いません。[キャリブレーション]をタップします。スマホを180°回して、左右の端を入れ替えます。裏返してはいけません。もう一度[キャリブレーション]をタップします。アプリが2回の値を平均し、両方向のバイアスを打ち消します。
これで1分もかかりません。前は0.7°だったスマホが、あとは0.0°になり、その状態を保ちます。ケースを替えたとき、OSアップデート後に値がずれてきたとき、強い暑さや寒さにさらしたあとは、やり直しましょう。
症状2:数値がバラついて落ち着かない
数値がバラつくのは、たいてい振動がセンサーに伝わっているからです。エアコン、動いている家電、同じ台に置いた電動工具、外を走る大型車まで、面を揺らして加速度計を狂わせます。同じ作業台でノコギリを回していれば、安定した値を読むのはまず無理です。
振動源を突き止める
スマホを面から離して、少しのあいだ手で持ってみます。落ち着くなら、振動は面を伝ってきていました。それでも揺れるなら、手が震えているか、周囲の空気に振動があります。よくある犯人は、冷蔵庫、同じ根太の並びにある空調機、運転中の洗濯機、そして数十センチ以内で動いている電動工具です。
直し方:Hold/Freezeを使う
Spirit Level Proはセンサーデータに指数移動平均をかけています。短いスパイクはこれで平滑化されますが、振動が止まらないままでは追いつきません。ですから、まず電動工具を止めて、それからHold/Freezeを使いましょう。
バイアルを1回タップすると値が固定されます。バイアルの上に琥珀色の「HOLD」バッジが出ます。これで、震えや振動に動かされずに、自分のペースで数値を読めます。もう一度タップすれば解除です。無理な姿勢で、何かを押さえながら画面を見られないときにも役立ちます。
振動を止められないときは、スマホをゴムマットや畳んだ布の上に置きます。高い周波数の揺れを吸ってくれるので、フィルターにとってきれいな入力になります。
症状3:スマホケースが誤差を生んでいないか
スマホケースは、思っている以上にここで悪さをします。縁が盛り上がっていたり、背面が平らでなかったり、片側に出っ張りがあるケースは、スマホをわずかにくさび状に持ち上げます。面は平らでも、センサーは面に対して傾いているわけです。横幅のあるスマホでは、背面のわずかな高さの差でもコンマ数度として現れます。キャリブレーションで対応できますが、それは測定するときと同じ状態でキャリブレーションした場合だけです。
ケースの誤差を調べる
ケースを付けたまま、平らな面で値を読みます。数値を控えます。ケースを外してもう一度読みます。差が約0.1°を超えるなら、ケースが影響しています。厚くて頑丈なケースや、背面にポップソケットやカードホルダーが付いたケースがいちばん問題になります。
直し方:測定するのと同じ状態でキャリブレーションする
ケースを外す必要はありません。付けたままキャリブレーションすれば、オフセットはゼロになります。要は、測定する予定の状態でキャリブレーションすること。再キャリブレーションせずにケースの付け外しを切り替えると、誤差がそのまま戻ってきます。
コンマ1度が効いてくる仕上げの精密作業では、ケースを外して素の状態でキャリブレーションします。これがいちばんきれいな基準になります。
症状4:アプリがまったく動かない
バイアルが動かない、どう傾けても0.0°のまま、あるいはセンサーエラーが出る。こういうときは、ほぼ確実にブラウザがモーションセンサーへのアクセスをブロックしています。最近はこれがよくあります。Braveは初期設定でセンサーAPIをブロックします。Samsung Internetは手動での切り替えが要ります。Operaや一部のFirefoxの設定でも同じです。これはプライバシー上の初期設定で、ブラウザがそうしたことをわざわざ知らせてくれることはめったにありません。
Spirit Level Proがすること
許可を出してから2秒たってもセンサーデータが届かないと、アプリは「センサーがブロックされています」の画面を表示します。お使いのブラウザ(Brave、Samsung Internet、Edge、Opera、Firefox、Chrome)を判別し、そのブラウザでセンサーへのアクセスを戻す手順を表示します。
どの設定を変えればいいか、当てずっぽうにする必要はありません。手順どおりに進めて[再試行]をタップすれば、たいていは数秒でセンサーが反応し始めます。
ブラウザごとの手動の直し方
ほとんどのブラウザでは、鍵のアイコンか三点メニューから「サイトの設定」を開き、「モーションセンサー」または「デバイスの向き」を見つけて「許可」にします。iOSでは、Webアプリが最初にセンサーへのアクセスを求めたときに、システムが一度だけ確認します。そこで「許可しない」をタップしていた場合は、[設定]→[プライバシーとセキュリティ]→[モーションとフィットネス]と進み、お使いのブラウザに対して再びオンにします。
症状5:サーフェスモードとプラムモードで値が違う
これは、ある程度までは正常です。サーフェスモードはピッチ(前後の傾き)とロール(左右の傾き)を同時に測ります。プラムモードはピッチだけを測ります。垂直な面では両者が測っているものが違うので、値に差が出るのは当たり前です。あってはならないのは、同じ軸が2つのモードで違う値を示すこと。同じ面でサーフェスモードのピッチが1.2°、プラムモードで0.7°なら、どちらかのモードのキャリブレーションがずれています。
直し方:モードごとに、それぞれの基準面でキャリブレーションする
サーフェスモードは、水平な基準面にスマホを平らに置いてキャリブレーションします。プラムモードは、ドア枠や下げ振りの線など、確認済みの垂直な面にスマホを当ててキャリブレーションします。モードごとにオフセットは別々に保存されるので、それぞれ正しい面で別々にキャリブレーションしてください。
症状6:スマホを180°回すと値が変わる
本来は変わらないはずです。ちゃんとキャリブレーションできたスマホは、上端を傾斜側に向けても下端を向けても、同じ角度を示します。測定軸に沿ってスマホを180°回したとき、値が0.2°より大きく動くなら、そのセンサーには1回のキャリブレーションでは打ち消しきれない誤差があります。
反転テスト
これは、加速度計の非対称な誤差を確かめる定番の方法です。安定した面にスマホを置いて値を控えます(R1とします)。180°回してもう一度控えます(R2)。R1とR2が大きさ同じで符号が逆なら、センサーは正常で、面がほんの少し傾いているだけです。大きさが逆にならないなら、その軸にバイアスがあります。
Spirit Level Proの2点キャリブレーションは、この反転テストをソフトで行うものです。R1とR2を取り、その中間を求め、ゼロオフセットとして保存します。これで左右対称なバイアスは打ち消されます。それでもR1とR2の差が約0.5°より大きく残るなら、センサーが摩耗しているか壊れている可能性が高く、その作業には物理的な水平器のほうが向いています。
症状7:OSアップデート後に値が変わった
これはそう多くありませんが、起こります。iOSもAndroidも、センサーのキャリブレーション値をシステムのファームウェアに保持しています。大型アップデートでこの値が書き換わり、加速度計の基準がずれることがあります。ずれ自体は小さく、たいていは1度もありませんが、精密な作業には効いてきます。
直し方は、大型のOSアップデートのあとに2点キャリブレーションをやり直すこと。30秒もかかりません。何度もやり直す羽目になるなら、ブラウザのアップデートでセンサーの初期許可も変わっていないか確認しましょう。
いつスマホをあきらめて物理的な水平器を使うか
スマホの加速度計には動作範囲があります。多くは-10°Cから+45°Cくらいと定められていて、その外では精度が当てになりません。強い落下も、どんなソフト処理でも完全には戻せない形で、キャリブレーションを永久にずらすことがあります。
物理的な水平器に切り替えるとき
本物の水平器を手に取るのは、スマホを最近、特に硬い床に落としたとき。あるいは、-10°Cから45°Cの範囲を外れて、とても暑いか寒いとき。スマホが古く、キャリブレーションでは取りきれない形でセンサーがドリフトするとき。工作機械のセットアップや計器の据え付けなど、0.2°より高い精度が要る作業のとき。そして、キャリブレーションを2回やっても基準の水平器と合わないときは、基準のほうを信じてください。
それ以外なら、キャリブレーション済みのスマホが正しい道具です。棚を掛ける、キャビネットを確認する、支柱を立てる、タイルを張る。いつもポケットにあり、水平に近づくとビープで知らせてくれ、測ったものを記録に残せます。
よくある質問
同じ面なのに、スマホの水平器が違う値を出すのはなぜですか?
たいていは手の震えです。手で持たず、スマホを面に平らに置きましょう。あるいは近くの機械の振動なので、工具を止めてHold/Freezeを使います。もしくは加速度計が温まりかけ、冷えかけているとき。日なたや寒さに置いてあったスマホは、正確に読めるまで数分ほど落ち着かせてください。
スマホの水平器が毎回まったく同じだけずれます。何が原因ですか?
一定のオフセットは、ほぼ常にセンサーバイアス、つまり加速度計にもとからある小さな誤差です。直すには2点キャリブレーションです。平らな面にスマホを置いて[キャリブレーション]をタップし、180°回してもう一度タップします。これで両方向のバイアスが打ち消され、物理的な水平器に近い値になります。OSアップデートやケース交換のあとは再キャリブレーションを。
OSアップデートのあと、水平器アプリが動かなくなったのはなぜですか?
大型アップデートでファームウェア内のセンサーキャリブレーション値が書き換わり、基準がわずかにずれることがあります。2点キャリブレーションをやり直しましょう。アプリがモーションセンサーの許可も失っている場合は、[設定]でお使いのブラウザに対してオンに戻します。センサーが反応しなくなると、Spirit Level Proがそのブラウザ向けの手順を表示します。
いつスマホをあきらめて物理的な水平器を使うべきですか?
スマホを落としたとき、とても暑いか寒いとき(-10°Cから45°Cの範囲外)、古いスマホがどうキャリブレーションしてもドリフトするとき、あるいは作業が0.2°より高い精度を必要とするときは、物理的な水平器に切り替えてください。日常のDIYや現場仕事なら、キャリブレーション済みのスマホで十分です。
Try Spirit Level Pro free — no download, no account needed.
Open Spirit Level Pro