LINE Clovaのハッカソンに技術サポートで来たのですが,おとなりがinfineonさんで気圧センサ(DPS310)を持ってきたいたので,obnizとつなげてみました.
一人ハッカソンですね
これでオンラインから気圧を計測することができます! Clovaとの相性もバッチリになります.
時々初期化に失敗したり,時々データが来るまでに時間がかかったりしたりしますが,ハッカソンで実装できたレベルとしては及第点じゃないでしょうか
## 回路
obnizに全部直付けでできますよ! と言いたかったのですが.
3.3Vの電源が供給できず,5Vから3Vに分圧してます
(obnizは3.3vは1mAまでしか出力できませんが,5Vは1Aまで出すことができます)
抵抗を持ってなかったので,最初は可変抵抗で分圧してました
(翌日,ちゃんと抵抗を持ってきて変えました)
↑分圧のためだけのブレッドボード
当然,テスターなんて持っていないので,obnizのADモニターを見ながら可変抵抗をちょこちょこと変えていく...という繊細な作業ですね
↑io11(一番右)に5Vを出力し,それを分圧した結果のio10(そのとなり)をみながら可変抵抗を回します.写真だと2.1V....これではセンサが動かない!
こういう,今あるものでなんとかする!というのはハッカソンの醍醐味ですね
つなげたピンは全部で4つです
- 電源 (5V出力を3.3Vに分圧)
- GND
- SDA
- SCL
I2Cなので,接続ピンが少なくて簡単でいいですね
プログラム
幸いにもarduinoのプログラムがある とのことなので,それをjavascriptに移植する形で書きました.
高性能なセンサなので,設定項目がたくさんあって初期化項目もたくさん・・・!
チップの中にキャリブレーションデータが入っていて,温度による計測誤差がないように温度センサも入っていたりなど,精度のこだわりがすごいです
四苦八苦しながらなんとか動かしました.
細かいところが違うのか,もしくは可変抵抗による電源のブレがあるのか,時々初期化に失敗するのは今後の課題ですね
ソースコードはこちらにおいてあります
## 結果
データ取得できました!
調子乗ってグラフ化までしました.
気圧センサってあまり使ったことなかったですが,身近なデータなのでIoTとしても活用がたくさんできそうですね