高精度気圧センサDPS310の実力を試してみた 【後編】

この記事は「Houwa System Design Advent Calendar 2018」の8日目の記事です。
皆様こんにちは、開発部の増田(仮)です。
前日まででハードウェアの準備は整いましたのでRaspberry Pi上でどこにDPS310が刺さっているかをi2cdetectで確認しますと・・・77番ですね。

では早速プログラムを書いていき・・・・ました。

これはヒドイ(笑)
検証用ですので見事な雑コードですが、ざっと説明すると90行目から100行目でDPS310の設定をしています。
今回は高精度モードで設定していますが、速度や消費電力を優先したモードもDPS310には用意されています。

※上記リンク先PDF内のデータシートP17参照
続けて気圧データを読みだしていますが、実データの読み出しが8行目から28行目です。
この辺りは普通のセンサからの読み出しとなんら変わりはありません。
そしてDPS310なのですが、取得した気圧データと温度データを元に係数をかけて計算することで気圧情報が取得できるタイプのセンサでして、その係数を取得している箇所が、31行目から85行目です。
ちなみにこの係数の取得はこのソースコードでは毎回取得していますが、データシートのP16にあるフローを見ると最初に一回取得すれば良いようです。
まぁ、その辺は検証用なので気にしてはいけません、製品として作る際にキッチリ作れば良いのです。QCDという言葉を勘違いして、[Q]ualityは全てに優先されると思っている偉い人がたまにいますが、[Q]ualityと[C]ostと[D]eliveryのバランスを取り、求められる最適な対応をしましょう。今回は[C]ostと[D]elivery優先です。
で、最後に取得した気圧情報と温度情報、係数から値を計算しているのが87行目です。
ちなみに、コメントアウトしている86行目がArduino用のサンプルコード(ライブラリ?)で使われていた計算式、87行目がデータシートに乗っていた計算式(データシートのP14参照)です。
さて、早速動かしてみましょう。

いい感じに取れています、ちなみにこれは静止状態での取得結果で1Pa程度はぶれる(精度)感じでしょうか、カンマの右側が取得したデータで単位はパスカルです。
1hPaで8.3m位ですので、1/100で大体8cm位の精度といったところです
カタログスペック通りですね。
まぁ、正直よくワカンネ
というところもあるかとは思います。
でも、GPSのみちびきプロジェクトを見たときに、cmクラスの精度で位置情報が取れる!!と聞いて興奮しませんでしたか?? 私は何に使うのだろう?と思いました。
という感じで待ちに待った計測タイムです。
5cm上げ、5cm下げ、10cm上げ、10cm下げと60cmまで上げ下げを繰り返した結果のグラフです。

5cmは今ひとつ見えない感じではありますが、10cmはキッチリ取れるといった感じです。
では次はこれを手で持って階段を降りて上がってみました。
そのときの結果のグラフがこちらです。

どうでしょう、綺麗な富士山が出来上がりました
こちらですが、ズームしてみていくと

このように階段の踊り場がはっきりとわかります。
さらにズームして行くと

お分りいただけただろうか。
そう、センサは階段の1段1段までしっかりとトレースしていたのである・・・
まぁ、何分手で持っての計測ですので手ブレという誤差があるわけなのですが、それでもそれなりにはっきりと階段の1段を捉えていることがわかるかと思います。
さてさて、2日間に亘り長々と書いてまいりましたが今回はこの辺でお別れとなります。
まとめといきましょう。
気圧センサというと気象情報としての気圧がまず頭に浮かぶ方も多いかと思いますが、今回の検証で確認したかったのは行動検知という観点となります。
行動検知・監視と言いますと、正直キモチワルイという印象もあるかと思いますし、私自身も常日頃からこの精度で検知・監視されたらキモチワルイなぁというのが本音ではあります。
ですが、この精度で行動を検知できるというのは有用な場面も多々あるかと思います。
例えば工場や建設現場で使われるヘルメットにこのようなセンサを取り付け、作業員の方が立っている、座っている、もしくは倒れてしまっているという情報を取ることで安全管理という観点での利用も可能です。
工場といった屋内であればBLEで発信・収集、建設現場等の広いフィールドであれば、Wi-SUN等のサブギガで発信・収集が妥当でしょうか。
2018年年末現在ではそのようなソリューションはまだ出回っていないかと思いますが、弊社ではプロトタイプからの開発についても承っておりますので何卒よろしくお願いいたします。
ではでは
高精度気圧センサDPS310の実力を試してみた 【前編】

関連記事

  1. LINE BOOT AWARDS 2018 にエントリーしました!

  2. 電波の届く範囲内だけコンテンツの閲覧を可能に

  3. Web Bluetooth を使ってみよう!その1

  4. BLEAD-TSHで遊ぼう!【作例集 サイコロを使ったサイコロトーク編…

  5. 知識ゼロで Unity をはじめてみた【その5 -Android 端末…

  6. 所変われば品変わる〜WEB開発と組み込み開発〜