高度計
GPS部分はできたっぽいので、あとなにが欲しいかなーと思ったら高度計があった。気圧を計ることによって高さが分かるはず。
DPS310
https://www.seeedstudio.com/Grove-High-Precision-Barometer-Sensor-DPS310-p-4397.html
https://wiki.seeedstudio.com/Grove-High-Precision-Barometric-Pressure-Sensor-DPS310/
ということでGroveのDPS310を買ってみた。かなりの高精度らしい。公式にあったGIFを見ると
わずか数cmの変化でも分かるようだ。すごー。これを持っていけば山行時の標高の変化がとれたりするはず。てことで使ってみる。
コード書く
チップメーカーからライブラリが出ているのでそれを使う。詳しくはそっちとか見るといい思う。
https://github.com/Infineon/DPS310-Pressure-Sensor
サンプルをちょこっと変えてコードを書いてみた。
#include <Dps310.h> Dps310 Dps310PressureSensor = Dps310(); void setup() { Serial.begin(9600); Dps310PressureSensor.begin(Wire); } void loop() { float pressure; uint8_t oversampling = 7; int16_t ret; ret = Dps310PressureSensor.measurePressureOnce(pressure, oversampling); if (ret != 0) { Serial.print("FAIL! ret = "); Serial.println(ret); } else { Serial.println(pressure); } }
すっと
簡単、らくちん。温度込みのも書いた気がするけどどっかいった。ここから気圧⇔標高の変換が必要だがそれは後回しにすることにした。