入手しやすいデバイスを使って作業効率アップ

M5StackやM5Paperなどを使って効率アップデバイスを作ります。

M5GOで作った移動計に階段を認識させるには

先日作成したM5GO移動計は、高度を測定できないのでプロットすると各階のデータがかぶってしまいます。
階段を検出できればいいのですが、加速度センサーでは難しそうです。
やり方を検索してみましたが、どのページも検出は結構シビアであると結んでありました。
階段を上り下りすると、歩行時より加速度は大きく振れるのですが、上りと下りの区別がつきません。
少し試行錯誤してみましたが、加速度センサーでの検出はあきらめる事にしました。
あきらめは早い方です。

そこで次の手ですが、M5GOのキットには気圧センサーが付いていますので、これを試します。
出力されるデータはPa(パスカル)なので、よほど低い階段でないかぎり、階の違いは判別できます。
以下、追加したコードです。

float pressure;
bool BMP280_present = false;
Adafruit_BMP280 bme;

  M5.Lcd.println("BMP280 INIT ...");
  if(!bme.begin(0x76))
  {  
    M5.Lcd.println("BMP280 ERROR ...");
    BMP280_present = false;
  }
  else
  {
    BMP280_present = true;
  }

  if(BMP280_present==true)
  {
    pressure=bme.readPressure()-100000;//101325;
  }
  else
  {
    pressure=0;
  }

測定データはパスカルそのままですが、データの上の方の桁はあまり意味が無いので、100000ほど引き算しています。
標準の気圧は101325Paだそうです。
(ミリバールからヘクトパスカルに変わった時はかなり違和感があったものです)
天気図の気圧と比較してみましたが、大きな違いは無いようでした。

さて、データがとれたのでプロットさせようとしたのですが、エクセルでは3軸散布図の機能を見つけられませんでした。
工夫すればそれらしい表示にできるようですが、私には難易度が高く、早々にあきらめて次の手を探す事にしました。