気圧センサ (MPL115A1) サンプルプログラム

(2014.9.8 作成)

 こちらで紹介しているMPL115A1操作クラスを使用したサンプルプログラムです。

STM32F3Discovery

 写真と動作結果のグラフです。グラフはSTMStudioを使用して内部パラメータを表示させたものです。といっても測定内容が気圧なので見ていても変化がなく、とてもつまらないです。。。

 インクルードしているライブラリはこちらからダウンロードしていただけます。また環境構築についてはこちらも参考にしてください。


/*
Copyright (c) 2014 DenshiKousakuSenka
 This software is released under the MIT License.
 http://opensource.org/licenses/mit-license.php
 */

#include "DKS_SPI_Discovery_F3.h"
#include "DKS_GPIO_Discovery_F3.h"
#include "DKS_Wait_Discovery_F3.h"
#include "DKS_MPL115A1.h"

extern "C"
{

float pressure;

int main(void)
{
        DKS::SPI::SPI spi(SPI2, 0, 0, 0);       //PB13= SCK, PB14 = MISO, PB15 = MOSI
        DKS::DigitalOut ss(GPIOB, GPIO_Pin_12, DKS::Push_Pull, DKS::Pull_Up);
        ss.write(1);
        DKS::Wait wait(TIM6);

        DKS::MPL115A1 mpl(&spi, &ss);
        wait.wait_ms(5);
        while(1)
    {
        mpl.StartConversion();
        wait.wait_ms(3);        //conversion time 3ms
        pressure = mpl.Get_kPa();
    }
}

}

Arduino

 STM32と同じく動作写真です。こちらも単に気圧がシリアルモニターで確認できるだけなのでとてもつまらないプログラムです。。。

 使用しているライブラリはSTMと同じくこちらからダウンロードしていただけます。また環境構築についてはこちらも合わせてご覧ください。


/*
Copyright (c) 2014 DenshiKousakuSenka
 This software is released under the MIT License.
 http://opensource.org/licenses/mit-license.php
 */

#include <DKS_MPL115A1.h>

#include <DKS_GPIO_Arduino.h>
#include <DKS_SPI_Arduino.h>

DKS::SPI::SPI *spi;
DKS::DigitalOut *ss;
DKS::MPL115A1 *mpl;
float pressure;

void setup()
{
  ss=new DKS::DigitalOut(9);
  ss->write(1);
  Serial.begin(9600);
  spi=new DKS::SPI::SPI();
  mpl = new DKS::MPL115A1 (spi, ss);
  delay(5);
}

void loop()
{
  mpl->StartConversion();
  delay(3);
  pressure = mpl->Get_kPa();
  Serial.println(pressure);
}