简介
这是一款Arduino兼容的气压传感器模组,测量范围15-700kPa,支持I2C数字输出,可以根据已知气压值进行标定,可以快速、准确的测量管路或其他环境中的气压值。适用于管路气压检测,自然科学实验等场景。
特性
- 环氧树脂一体式元器件
- 最大误差2.5%
- 卓越的线性输出
- 兼容3.3~5.5V主控器
- 反接保护
产品参数
- 检测物理量: 气压
- 工作电压: 3.3~5.5V DC
- 功耗:0.06W(5V)
- 输出信号: I2C输出(0~3V)
- 测量范围: 15-700kPa
- 分辨率: ≤1kPa
- 工作温度: 0~85℃
- 电路板尺寸:32mm*43mm
引脚说明
标号 | 名称 | 功能描述 |
---|---|---|
1 | D | I2C数据线SDA |
2 | C | I2C时钟线SCL |
3 | - | GND电源负极 |
4 | + | 电源正极 |
Arduino使用教程
将程序下载到UNO,打开串口监视器查看气压值。
软硬件准备
- 硬件
- DFRuino UNO R3 x1
- SEN0456 Gravity: I2C MPX5700AP气压传感器(15-700kPa) x1
- 杜邦线 若干
- 软件
- Arduino IDE 点击下载Arduino IDE
- 下载并安装DFRobot_MPX5700库。如何安装库?
使用I2C读取传感器数据
接线图
样例代码
- 将模块与Arduino按照上方的连线图相连,当然你也可以配合Gravity I/O扩展板使用,可以更方便、更快速的完成项目原型搭建。
- I2C地址默认为0x16,对应代码中的ADDRESS_0。如果需要修改I2C地址,可先通过模块上的拨码开关配置硬件I2C地址,并修改样例代码中I2C地址的定义ADDRESS_X。拨码开关与I2C地址参数对应关系如下:
- ADDRESS_0:0x16, A0=0, A1=0
- ADDRESS_1:0x17, A0=1, A1=0
- ADDRESS_2:0x18, A0=0, A1=1
- ADDRESS_3:0x19, A0=1, A1=1
- 下载并安装DFRobot_MPX5700库。如何安装库?
- 打开Arduino IDE,将下面的代码上传到Arduino UNO。
- 打开Arduino IDE的串口监控视器,将波特率设置为115200,观察串口打印结果。
/*!
* @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按照上方的连线图相连,当然你也可以配合Gravity I/O扩展板使用,可以更方便、更快速的完成项目原型搭建。
- 下载并安装DFRobot_MPX5700库。如何安装库?
- 打开Arduino IDE,在代码中添加当前环境中的气压值,再将下面的代码上传到Arduino UNO。
- 打开Arduino IDE的串口监控视器,把波特率调至115200,观察串口打印结果。
/*!
* @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() {
}
结果
打开串口监视器,得到最终的数据。
常见问题
还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。