目录

1、传感器特性 

2、硬件原理图

3、控制器和传感器连线图

4、驱动程序 

4.1、采集数据

4.2、校准传感器


MPX5700AP测量范围15~700kPa,支持I2C数字输出,可以根据已知气压值进行标定,可以快速、准确的测量管路或其他环境中的气压值。适用于管路气压检测,自然科学实验等场景。

Arduino驱动MPX5700AP气压传感器(压力传感器)-LMLPHP

1、传感器特性 

传感器特性如下所示:

  • 检测物理量: 气压
  •  工作电压: 3.3~5.5V DC
  •  功耗:0.06W(5V)
  •  输出信号: I2C输出(0~3V)
  •  测量范围: 15-700kPa
  •  误差:<2.5%
  •  分辨率: ≤1kPa
  •  工作温度: 0~85℃

2、硬件原理图

传感器原理图如下所示:

Arduino驱动MPX5700AP气压传感器(压力传感器)-LMLPHP

3、控制器和传感器连线图

控制器和传感器连线图如下所示:

Arduino驱动MPX5700AP气压传感器(压力传感器)-LMLPHP

4、驱动程序 

4.1、采集数据

驱动程序如下所示:

/*!
  * @file  getPressureValue.ino
    @n i2c 地址选择,默认i2c地址为0x16,A1、A0组合成4种IIC地址
                | A1 | A0 |
                | 0  | 0  |    0x16
                | 0  | 1  |    0x17
                | 1  | 0  |    0x18
                | 1  | 1  |    0x19   default i2c address  
  * @n 实验现象: 串口打印全部数据
*/
#include "DFRobot_MPX5700.h"
#define I2C_ADDRESS 0x16
DFRobot_MPX5700 mpx5700(&Wire, I2C_ADDRESS);
void setup()
{
  Serial.begin(115200);
  while (false == mpx5700.begin())
  {
    Serial.println("i2c begin fail,please chack connect!");
    delay(1000);
  }
  Serial.println("i2c begin success");

/*
 *为了平滑数据,需要设置取xx数量的adc数据取平均值
 *如果不进行设置,系统会自动获取5个样本数量的平均值
 */
  mpx5700.setMeanSampleSize(/*样本总数*/5);
}

void loop()
{
  Serial.print("Pressure Value: ");
/*
 *获取此时环境气压,可以设置是否启用校准
 *1:需要校准
 *0:不需要校准
 */
  Serial.print(mpx5700.getPressureValue_kpa(1));
  Serial.println(" kpa");
  delay(1000);
}

运行效果如下所示:

Arduino驱动MPX5700AP气压传感器(压力传感器)-LMLPHP

4.2、校准传感器

驱动程序如下所示:

/*!
  * @file  calibration.ino
    @n i2c 地址选择,默认i2c地址为0x16,A1、A0组合成4种IIC地址
                | A1 | A0 |
                | 0  | 0  |    0x16
                | 0  | 1  |    0x17
                | 1  | 0  |    0x18
                | 1  | 1  |    0x19   default i2c address  
  * @n 实验现象: 串口打印全部数据
*/
#include "DFRobot_MPX5700.h"
#define I2C_ADDRESS    0x16
DFRobot_MPX5700 mpx5700(&Wire ,I2C_ADDRESS);
void setup() {
  Serial.begin(115200);
  while(false==mpx5700.begin())
  {
    Serial.println("i2c begin fail,please chack connect!");
    delay(1000);
  }
  Serial.println("i2c begin success");

/*
 *添加现在环境中的标准气压值用以校准
 */  
  mpx5700.calibration_kpa(110.0);
  Serial.println("Calibration_kpa success");
}

void loop() {
}

运行效果如下所示:

Arduino驱动MPX5700AP气压传感器(压力传感器)-LMLPHP

12-10 08:47