(SKU:SEN0236)BME280 Environmental Sensor

来自DFRobot Product Wiki
跳转至: 导航搜索
BME280 (SKU: DFR0236)

目录

简介

BME280是一款集成温度、湿度、气压,三位一体的环境传感器。具有高精度,多功能,小尺寸等特点。DFRobot Gravity I2C BME280环境传感器采用Gravity-I2C接口设计,同时预留预留SPI接口,可以方便快捷的搭建产品原型,应用于环境监测,楼层高度检测,物联网控制等各种应用场景。
Gravity I2C BME280环境传感器使用BOSCH最新MEMS微机电传感器,具备良好的稳定性。气压测量在整个温区非常稳定的,偏置温度系数±1.5 pa/k,当温度变化时,1摄氏度的温度变化导致的误差仅在12.6厘米。这种稳定性,连同其多功能的特点,使得BME280可以适用于各种应用场景。

产品参数

  • 工作电压:3.3~5V
  • 工作电流:2mA
  • 工作温度:-40℃~+85℃
  • 温度检测范围:-40℃~+85℃,分辨率0.1℃,误差±0.5℃
  • 湿度检测范围:0~100%RH,分辨率0.1%RH,误差±2%RH
  • 压力检测范围:300~1100hPa
  • 湿度测量响应时间:1s
  • 模块尺寸:22 * 25 mm
  • 安装孔尺寸:内径3.1mm/外径6mm
  • 重量:12g


引脚说明

引脚说明
引脚说明
标号 名称 功能描述
+ VCC 3.3~5V
- GND GND
C SCL I2C-SCL
D SDA I2C-SDA


使用教程

下载Arduino库文件,点击下载

示例中提供了I2C和SPI接口方式,根据不同的连线方式,选择不同的串行接口,示例如下:

I2C连接图

请务必注意线序,VCC接电源,GND接地
BME280 I2C连线图

样例代码

运行后将会看到串口打印相关数据

IDE串口打印: Temperature,Pressure,Altitude
/*!
 * raed_data_i2c.ino
 *
 * Download this demo to test read data from bme280, connect sensor through IIC interface
 * Data will print on your serial monitor
 *
 * Copyright   [DFRobot](http://www.dfrobot.com), 2016
 * Copyright   GNU Lesser General Public License
 *
 * version  V1.0
 * date  12/03/2019
 */

#include "DFRobot_BME280.h"
#include "Wire.h"

typedef DFRobot_BME280_IIC    BME;    // ******** use abbreviations instead of full names ********

BME   bme(&Wire, 0x77);   // select TwoWire peripheral and set sensor address

#define SEA_LEVEL_PRESSURE    1015.0f

// show last sensor operate status
void printLastOperateStatus(BME::eStatus_t eStatus)
{
  switch(eStatus) {
  case BME::eStatusOK:    Serial.println("everything ok"); break;
  case BME::eStatusErr:   Serial.println("unknow error"); break;
  case BME::eStatusErrDeviceNotDetected:    Serial.println("device not detected"); break;
  case BME::eStatusErrParameter:    Serial.println("parameter error"); break;
  default: Serial.println("unknow status"); break;
  }
}

void setup()
{
  Serial.begin(115200);
  bme.reset();
  Serial.println("bme read data test");
  while(bme.begin() != BME::eStatusOK) {
    Serial.println("bme begin faild");
    printLastOperateStatus(bme.lastOperateStatus);
    delay(2000);
  }
  Serial.println("bme begin success");
  delay(100);
}

void loop()
{
  float   temp = bme.getTemperature();
  uint32_t    press = bme.getPressure();
  float   alti = bme.calAltitude(SEA_LEVEL_PRESSURE, press);
  float   humi = bme.getHumidity();

  Serial.println();
  Serial.println("======== start print ========");
  Serial.print("temperature (unit Celsius): "); Serial.println(temp);
  Serial.print("pressure (unit pa):         "); Serial.println(press);
  Serial.print("altitude (unit meter):      "); Serial.println(alti);
  Serial.print("humidity (unit percent):    "); Serial.println(humi);
  Serial.println("========  end print  ========");

  delay(1000);
}

SPI连接图

请务必注意线序,VCC接电源,GND接地
BME280 SPI连线图

常见问题

还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!


更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。


更多


DFshopping car1.png DFRobot商城购买链接

个人工具
名字空间

变换
操作
导航
工具箱