1.2.3.6.1.16 BMP280(气压和温度传感器)

优质
小牛编辑
128浏览
2023-12-01

更新时间:2018-09-15 11:03:03

功能说明

气压和温度传感器。bmp280 是一款用了测量气压值和温度值的传感器,它具有较高的精确度,通过 I2C 或 SPI 协议进行数据交互。

硬件资源

DevelopKit 开发板上自带有 bmp280 传感器:

image.png | left | 336x415

软件设计

根据 bmp280 的数据手册,在读取气压值和温度值前,首先需要读取传感器的测量参数 dig_T1-dig_T4,dig_P1-dig_P9,这些参数保存在对应的寄存器中,而气压值需要从寄存器 0xF7 中读取,这里读取的气压值仅仅是裸数据,最终的气压值计算需要结合测试参数进行计算;

驱动配置

开发板板级管脚配置(board.json) 示范:</span>

  "bmp280":{
    "type":"I2C",
    "port":2,
    "address_width":7,
    "freq":400000,
    "mode":1,
    "dev_addr":238
  }

应用示例

  1. 在嵌入式 JS 开发工作台上,创建测试工程并导入驱动模块 bmp280。
  2. 编写测试 index.js 文件。
var bmp280 = require('bmp280');
var handle = new bmp280('bmp280');
var t1 = setInterval(function() {

    var pressure = handle.getPressure();
    var temperature = handle.getTemperature();
    console.log('bmp280 pressure raw data:'+pressure);
    console.log('bmp280 temperature raw data:'+temperature);
}, 3000);

运行验证

该应用示例 每隔3秒读取bmp280的温度和大气压力的原始数据值,并打印出来。
如需计算实际的摄氏温度或大气压力,需要使用算法转换,这里只介绍读取raw原始数据。