Skip to main content

Grove - 气压传感器 (BMP280)

pir

Grove - Barometer Sensor (BMP280) 是一款基于 Bosch BMP280 高精度、低功耗数字气压计的扩展板。该模块可用于精确测量温度大气压。由于大气压会随海拔变化,它还可以测量某一地点的大致海拔高度。它可以通过集成 Grove 接口的 I2C 总线或 SPI 总线连接到微控制器。我们还提供了高度抽象的库,使该产品更易于使用。

BMP280 是 BMP180 的升级版本,相比 BMP180 有了显著提升。BMP280 具有更小的尺寸、更低的功耗、更低噪声的测量结果、更高分辨率的气压和温度测量、更低的 RMS 噪声、新增的 SPI 接口、更多测量模式、更高的测量速率以及新增的环境干扰滤波功能。由于大气压读数会受到海拔和温度的影响,我们在库中加入了补偿功能。因此,Grove - Barometer Sensor (BMP280) 在提供精确温度、大气压数值和大致海拔数据方面会更加可靠。

pir

可升级为工业级传感器

借助 SenseCAP S2110 controllerS2100 data logger,你可以轻松将 Grove 转变为 LoRaWAN® 传感器。Seeed 不仅帮助你完成原型开发,还通过 SenseCAP 系列坚固耐用的工业传感器为你的项目扩展提供可能。

SenseCAP S210x 系列工业传感器为环境感知提供开箱即用的体验。对于空气质量监测,请参考性能和可靠性更高的 S2101 无线温湿度传感器。该系列包括用于土壤湿度、空气温度和湿度、光照强度、CO2、EC 以及一体化 8 合 1 气象站的传感器。尝试最新的 SenseCAP S210x,用于你下一个成功的工业项目。

SenseCAP 工业传感器
S2101 空气温度与湿度

预备阅读

如果你对什么是气压传感器以及它是如何工作的还不熟悉,强烈建议你先阅读相关介绍。请访问我们的博客获取详细信息。

特性

  • 获取更精确的温度、大气压数值以及大致海拔数据
  • 兼容 Grove,且易于使用
  • 高度抽象的库,可更快速地构建项目
tip

关于 Grove 模块的更多信息,请参考 Grove System

规格参数

参数数值
输入电压3.3V 或 5V
I/O 电压3.3V 或 5V
工作电流0.6mA
工作温度-40 - 85 ℃
有效气压测量范围300 - 1100 hPa(1 hPa = 一百 Pa),精度为 ±1.0 hPa
温度测量精度±1.0°C
测量模式压力与温度,强制或周期性
芯片BMP280 (datasheet)
可能的采样率182 Hz(典型值)
接口总线SPI,I2C(两者选其一)
重量3 g(扩展板)
尺寸40(宽)× 20(深)mm
I2C Address0x77()default or 0x76

注意

1. 我们很快会展示/说明如何选择接口总线。

2. 海拔高度是通过温度和大气压的组合计算得出的,并没有专门用于海拔测量的元件。

应用

  • GPS 导航增强
  • 室外/室内导航
  • 天气预报
  • 植物管理

支持的平台

ArduinoRaspberry Pi

pir

pir

caution

上述所提到的支持平台仅表示该模块在软件或理论上的兼容性。在大多数情况下,我们只为 Arduino 平台提供软件库或代码示例。不可能为所有可能的 MCU 平台提供软件库/演示代码,因此用户需要自行编写软件库。

入门指南

使用 Arduino 进行体验

所需材料

Seeeduino V4.2Base ShieldGrove-Barometer_Sensor-BMP280

pir

pir

pir

立即获取立即获取立即获取

硬件概述

pir

  • SPI 焊盘,带有电压监测电路。
  • 接口总线选择焊盘,若要选择 I2C 总线,通过焊接将两个焊盘连接起来(默认已连接);若要选择 SPI 总线,用锋利的小刀或电烙铁将两个焊盘切断。
  • 从板地址选择焊盘,用于选择从板地址以避免地址冲突。
tip
  • 如果你选择了 I2C 总线,从板的默认地址是 0x77(右侧两个焊盘相连)。如果你想使用地址 0x76,只焊接左侧两个焊盘(断开右侧两个)。

  • 你可以只用一把锋利的小刀就将焊盘切断。

  • 如果你选择了 SPI 总线,从板的默认地址是 0x77(右侧两个焊盘相连)。如果你想使用地址 0x76,请断开全部三个焊盘。

Note

当产品工作时,请不要触摸、摇晃或让其处于振动状态。这会产生干扰并影响采集数据的精度。

步骤 1. 将 Grove-Barometer_Sensor-BMP280 连接到 Grove-Base Shield 的 I2C 端口。

步骤 2. 将 Grove - Base Shield 插到 Seeeduino 上,并通过 USB 线将 Seeeduino 连接到电脑。

pir

note

If you don't have a Grove Base Shield, you can also directly connect this module to Seeeduino as below.

Seeeduino_v4Grove-Barometer_Sensor-BMP280
5VVCC
GNDGND
SDASDA
SCLSCL

软件

步骤 1. 从 Github 下载

步骤 2. 参考如何安装库为 Arduino 安装库。

步骤 3. 新建一个 Arduino 草稿并将下面的代码粘贴进去,或者直接通过路径:File -> Example ->bmp280_example->bmp280_example 打开示例代码。

代码如下:

/*
* bmp280_example.ino
* Example sketch for BMP280
*
* Copyright (c) 2016 seeed technology inc.
* Website : www.seeedstudio.com
* Author : Lambor, CHN
* Create Time:
* Change Log :
*
* The MIT License (MIT)
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "Seeed_BMP280.h"
#include <Wire.h>

BMP280 bmp280;

void setup()
{
Serial.begin(9600);
if(!bmp280.init()){
Serial.println("Device error!");
}
}

void loop()
{
float pressure;

//get and print temperatures
Serial.print("Temp: ");
Serial.print(bmp280.getTemperature());
Serial.println("C"); // The unit for Celsius because original arduino don't support speical symbols

//get and print atmospheric pressure data
Serial.print("Pressure: ");
Serial.print(pressure = bmp280.getPressure());
Serial.println("Pa");

//get and print altitude data
Serial.print("Altitude: ");
Serial.print(bmp280.calcAltitude(pressure));
Serial.println("m");

Serial.println("\n");//add a line between output of different times.

delay(1000);
}

步骤 4. 上传代码。如果你不知道如何上传代码,请查看如何上传代码

步骤 5. 打开串口监视器以接收传感器的数据,包括温度、气压值和海拔高度。

success

如果一切顺利,结果将如下所示显示在串口上。

pir

资源

项目

使用 BBG(物联网)制作的智能报警系统

智能农作物监控系统 设计并构建一个系统,使用 Netduino 3 WiFi 监控作物的状态。

技术支持与产品讨论

Loading Comments...