这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 【M5stackS3】读取MPL3115A2传感器数据

共2条 1/1 1 跳转至

【M5stackS3】读取MPL3115A2传感器数据

高工
2026-07-20 14:22:26     打赏

一:模块信息

MPL3115A2是一款紧凑型的压阻式绝对压力传感器,通过I²C数字接口与单片机通信。

它内部集成了MEMS压力传感器和24位高分辨率ADC,能直接输出气压、海拔和温度数据。这意味着从代码中读取到的就是处理好的数值,无需主控芯片(MCU)进行额外的复杂补偿和单位换算,极大地简化了软件开发。

二:主要特性与参数

测量范围:

  压力:20kPa 至 110kPa,覆盖地球上所有陆地海拔

  温度:工作温度范围 -40°C 至 +85°C。

高精度与高分辨率:

  高度:分辨率高达30厘米。

  压力:分辨率可达1.5 Pa。

  提供20位的压力和高度数据,以及12位的温度数据。

供电与封装:

  电源电压:1.95V 至 3.6V。

  接口电压:1.6V 至 3.6V,方便与不同电压的单片机连接。

  封装:超小型的 3x5x1.1mm LGA 封装。

低功耗:

  待机模式:仅 2μA。

  低功耗模式:在1Hz采样率下,电流消耗为 8.5μA。

智能功能:

  可编程中断:两个可编程中断引脚,支持自动唤醒、阈值检测等。

  32采样FIFO:内置FIFO缓冲区,可存储最多32个数据样本,减少主控芯片读取频率。

  过采样:支持最高128倍的过采样率,以获取更稳定的数据

三:软件编写步骤:

MPL3115A2内部的工作原理可以简单概括为以下几个步骤:

传感:MEMS压阻式传感器感知外界气压变化,同时内部温度传感器进行温度监测。

转换:传感器信号经多路复用器(MUX)后,由高精度的24位ADC进行模数转换。

处理:数字信号处理(DSP)模块对数据进行温度补偿和校准,最终直接输出以帕斯卡(Pa)和摄氏度(°C)为单位的数字结果

四:软件代码:

#include <Adafruit_MPL3115A2.h>

Adafruit_MPL3115A2 mpl;

void setup() {
  Serial.begin(9600);
  while(!Serial);
  Serial.println("Adafruit_MPL3115A2 test!");
    //切换IIC的引脚地址
   Wire.begin(2, 1);
  if (!mpl.begin()) {
    Serial.println("Could not find sensor. Check wiring.");
    while(1);
  }

  // set mode before starting a conversion
  Serial.println("Setting mode to barometer (pressure).");
  mpl.setMode(MPL3115A2_BAROMETER);

}

void loop() {
  // start a conversion
  Serial.println("Starting a conversion.");
  mpl.startOneShot();

  // do something else while waiting
  Serial.println("Counting number while waiting...");
  int count = 0;
  while (!mpl.conversionComplete()) {
    count++;
  }
  Serial.print("Done! Counted to "); Serial.println(count);

  // now get results
  Serial.print("Pressure = ");
  Serial.println(mpl.getLastConversionResults(MPL3115A2_PRESSURE));
  Serial.print("Temperature = ");
  Serial.println(mpl.getLastConversionResults(MPL3115A2_TEMPERATURE));
  Serial.println();

  delay(1000);
}

实物验证:

串口接收数据图:

五:核心优势

无需软件补偿:传感器内部已完成所有补偿,输出即最终结果。

高精度:30厘米的海拔分辨率能满足许多对精度要求较高的应用。

超低功耗:非常适合电池供电的便携式或可穿戴设备。

高度智能化:内置FIFO和中断功能,可显著减轻主控芯片(MCU)的负担




关键词: stack     MPL3115A2    

院士
2026-07-21 22:34:06     打赏
2楼

这是啥时候开始玩起来arduino了。

而且,还是高中生版本的编程方式


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]