STEMMAで広がるArduinoの世界⑰Step1 気圧センサDPS310

 InfineonのDPS310は、温度と気圧が出力されるMEMSセンサです。最高±0.002 hPa(または±0.02m)の高精度高精度モードをもつので高度を扱う用途に適しています。

 IC自体が3.3V電源で使うデバイスのため、5V->3.3VのレギュレータとI2Cの信号レベル変換回路が入っています。Arduino UNOのような5Vで動作するボードでも正しく動作します。SDA/SCL信号のプルアップ抵抗は10kΩが入っています。

Adafruitのブレークアウト・ボード

 STEMMA QT(JST SH 4ピン)コネクタは2か所に装着されていて、どちらにつないでもかまいません。このコネクタを使ってI2Cで制御する場合、特に、ジャンパ線をつなぐなどは不要です。


   Adafruit DPS310 Precision Barometric Pressure and Altitude Sensor

気圧センサDPS310のおもなスペック

  データシート

  • 動作電圧 3.3V(デバイスは1.7~3.6 V)
  • 測定範囲 300~1200hPa
  • 確度 ±0.06hPa(or ±0.5m)
  • 分解能  ±0.002hPa(or ±0.02 m)(high precision mode)
  • インターフェース SPI(最大10MHz)、I2C(最大3.4MHz)
  • スレーブ・アドレス 0x77。SDOピン(裏面のAddr)の設定で0x76も設定できる

 気圧センサを比較します。

型名 会社名 電源電圧
[V]

測定範囲
[hPa]

絶対確度圧力
[hPa]
相対確度圧力
[hPa]
その他の機能
BMP280 Bosch 1.71~3.6 300~1100 ±1 ±0.12 温度
BME280 Bosch 1.71~3.6 300~1100 ±1 ±0.12 温度、湿度
BMP388 Bosch 1.65~3.6 300~1250 ±0.40 ±0.08 温度
BMP390 Bosch 1.65~3.6 300~1250 ±0.50 ±0.03 温度
BME680 Bosch 1.71~3.6 300~1100 ±0.6 ±0.12 温度、湿度、汚れ
DPS310 Infineon 1.7~3.6  3001200 ±1 ±0.06 温度
LPS25HB STMicroelectronics 1.7~3.6 260~1260 ±0.2 ±0.1 温度
LPS35HW
STMicroelectronics 1.7~3.6 260~1260 ±1 ±0.1 温度

環境

  • Arduino UNO R3
  • Arduino IDE 1.8.13
  • Windows10 20H2

接続

 電源は5V を使いました。Arduino UNO R3のI2Cは、専用のSCLとSDA端子がありますが、SCLはA5に、SDAはA4につながっています。どちら側につないでもかまいません。白色のリード線は見えないので、黄色で配線図を描きました。

スケッチ

 利用手順は、Adafruit DPS310 Precision Barometric Pressure and Altitude Sensor Overviewに書かれています。

 ライブラリを導入します。メニューのツールから、「ライブラリを管理」を選び、検索欄にDPS310を入力します。見つけてきたAdafruit DPS310のインストールをクリックします。

 同時にサンプル・スケッチも導入されます。

 メニューのファイルからサンプルの入っているスケッチ例を選択します。そこから、Adafruit DPS310- dps310_simpletestを選択します。

 実行中の様子です。

 もう一つのサンプルdps310_sensortestも同じ出力が得られました。

前へ

STEMMAで広がるArduinoの世界⑯Step1 気圧センサLPS35HW

次へ

STEMMAで広がるArduinoの世界⑱ まとめ