MicroPythonで気圧センサ(MPL115A1)を使う


前の投稿に引き続いて、使わないままになっていたSPI接続の気圧センサを動かしてみました。
(前回のADCチップがまだブレッドボードに載っかっています・・・)
MPL115A1というセンサーを使用したモジュールで、いろいろなところからモジュールが販売されていますが、私のものは秋月電子で購入したものです。

MPL115A1使用大気圧センサーモジュール(SPI): センサ一般 秋月電子通商 電子部品 ネット通販

このモジュールは温度補正などの機能があり、測定値の計算が面倒そうなのですが、今回は以下のmicro:bit用のソースコードが見つかったので、それをちょこっと修正して使わせていただきました。

hackscribble/microbit-MPL115A1-barometer: MicroPython program for the BBC micro:bit that displays pressure and temperature readings from a MPL115A1 SPI-connected sensor.

micro:bitのSPIはクラスではなくモジュールになっているので、そこが主な修正点になります。
修正版は一応以下のリポジトリにアップロードしてあります。

boochow/microbit-MPL115A1-barometer: MicroPython program for the BBC micro:bit that displays pressure and temperature readings from a MPL115A1 SPI-connected sensor.

結線ですが、CSは前回と同じくGPIO22にしています。

MPL115A1  Raspberry Pi
     VDD  3.3V
     GND  GND
    SCLK  SPI0-CLK(23)
     DIN  SPI0-MOSI(19)
    DOUT  SPI0-MISO(21)
      CS  GPIO22(15)


本当はCAPとGNDの間に1μF程度のコンデンサを入れないといけないらしいですが、さぼっています。下のように、一応動作しましたが、値が安定していないのはそのせいかもしれません。
気温が高いのは、ノートPCの排気口のすぐそばに置いているからで、これはおそらく正常動作です。

コメント