本文主要是介绍Arduino驱动MPX5700AP气压传感器(压力传感器),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
1、传感器特性
2、硬件原理图
3、控制器和传感器连线图
4、驱动程序
4.1、采集数据
4.2、校准传感器
MPX5700AP测量范围15~700kPa,支持I2C数字输出,可以根据已知气压值进行标定,可以快速、准确的测量管路或其他环境中的气压值。适用于管路气压检测,自然科学实验等场景。
1、传感器特性
传感器特性如下所示:
- 检测物理量: 气压
- 工作电压: 3.3~5.5V DC
- 功耗:0.06W(5V)
- 输出信号: I2C输出(0~3V)
- 测量范围: 15-700kPa
- 误差:<2.5%
- 分辨率: ≤1kPa
- 工作温度: 0~85℃
2、硬件原理图
传感器原理图如下所示:
3、控制器和传感器连线图
控制器和传感器连线图如下所示:
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);
}
运行效果如下所示:
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气压传感器(压力传感器)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!