BMP280简介

BMP280是一个二合一数字环境检测传感器,传感器采用非常紧凑的封装。它是基于博世经过验证的压阻式压力传感器技术,可以测量所处周围环境的温度、气压。由于气压随高度变化,可以估算高度,因此对于无人机和导航应用来说非常方便。在导航方面,气压计也可以用来增强GPS定位效果或者配合IMU传感器,实现三维(3D)室内导航。支持IIC和SPI通信接口。

敏感元件 测量范围 误差
温度 0 to 65 ºC +/- 1 ºC
气压 300 to 1100 hPa +/- 1.7 hPa

相对精度:±0.12hPa(±1m)
绝对精度:±1hPa(±8.33m)
温度测量精度: 0.01℃
更多详细的技术规格信息请参见BMP280数据手册

接口说明



VCC 供电正极3.3V
GND 供电负极
SCL SPI/IIC模式时钟信号输入
SDA SPI模式的MOSI数据信号的输入,IIC模式的数据信号的输入和输出
SDO SPI模式的MISO数据信号的输出,IIC模式时为IIC器件地址设置引脚,接GND时器件地址为1110110(0x76),接VCC时器件地址为1110111(0x77),此模块默认接的GND
CSB SPI/IIC模式的选择引脚,当接VCC时为IIC模式,当接GND时为SPI模式,此模块默认接的VCC

BMP280与Arduino UNO接线与程序

BME280 SPI接线方式 IIC接线方式
SCL D13 A5
SDA D11 A4
SDO D12 /
CS D10 /

Arduino IDE库管理器安装 DFRobot_BMP280

打开示例代码

#include "DFRobot_BMP280.h"
#include "Wire.h"typedef DFRobot_BMP280_IIC    BMP;    // ******** use abbreviations instead of full names ********BMP   bmp(&Wire, BMP::eSdoLow);#define SEA_LEVEL_PRESSURE    1015.0f   // sea level pressure// show last sensor operate status
void printLastOperateStatus(BMP::eStatus_t eStatus)
{switch(eStatus) {case BMP::eStatusOK:    Serial.println("everything ok"); break;case BMP::eStatusErr:   Serial.println("unknow error"); break;case BMP::eStatusErrDeviceNotDetected:    Serial.println("device not detected"); break;case BMP::eStatusErrParameter:    Serial.println("parameter error"); break;default: Serial.println("unknow status"); break;}
}void setup()
{Serial.begin(115200);bmp.reset();Serial.println("bmp read data test");while(bmp.begin() != BMP::eStatusOK) {Serial.println("bmp begin faild");printLastOperateStatus(bmp.lastOperateStatus);delay(2000);}Serial.println("bmp begin success");delay(100);
}void loop()
{float   temp = bmp.getTemperature();uint32_t    press = bmp.getPressure();float   alti = bmp.calAltitude(SEA_LEVEL_PRESSURE, press);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.println("========  end print  ========");delay(1000);
}

打开串口监视器显示出传感器测量的数据

总结

通过本实验了解了BMP280传感器的基本使用,并测量出温度、气压、高度数据。

Arduino UNO测试BMP280温度气压传感器相关推荐

  1. Arduino UNO测试BMP388温度气压传感器

    原文链接:https://www.yourcee.com/newsinfo/2929077.html BMP388传感器简介 BMP388是一个二合一数字传感器,可以测量温度,绝对大气压.由于气压随高 ...

  2. Arduino UNO测试BME680环境传感器

    原文链接:https://www.yourcee.com/newsinfo/2929148.html BME680简介 BME680是一个四合一数字环境检测传感器,可以测量所处周围环境的温度.湿度.气 ...

  3. Arduino UNO测试MH-Z16二氧化碳CO2传感器

    原文链接:https://www.yourcee.com/newsinfo/2928917.html MH-Z16二氧化碳传感器简介 利用非色散红外(NDIR技术)原理对空气中存在的CO2 进行探测, ...

  4. 初出茅庐的小李第36篇博客之读取旋转编码器正反转状态(arduino uno 测试)

    旋转编码器的引脚 CLK(A相) DATA(B相) SWITCH VCC GND 工作原理 旋转编码器的工作原理以及如何在Arduino中使用 https://www.yiboard.com/thre ...

  5. 从0 开始 DIY你的Arduino UNO

    简 介: 通过实验,验证了利用CH340C制作Arduino UNO最小系统的电路正确性.利用Arduino的IDE对于制作的电路板下载Bootloader的时候,选择开发板为Arduino UNO, ...

  6. Arduino UNO驱动ADS1115模数转换模块

    Arduino UNO驱动ADS1115模数转换模块 简介 ADS1115模块原理图 Arduino UNO与ADS1115接线图 Arduino UNO测试代码 总结 原文链接:https://ww ...

  7. Arduino uno 连接 LCD1602A显示18B20监测温度

    ##Arduino uno 连接 LCD1602A显示18B20测试温度 面包板接线图 代码 #include <LiquidCrystal.h> //引入依赖 #include < ...

  8. 时间间隔感测试器(下):Arduino uno

    本文是上篇的延续,可以测量从LED亮到按下按钮的具体时长,并显示出来.但在功能增加的同时,占用的晶体管资源增加了多少呢?得到有效利用的又有多少呢? 目录 一.Arduino是什么? 二.部件 1.Ar ...

  9. Arduino UNO控制带AB相磁通量式编码器电动推杆(测试阻尼)实录(L289N电机驱动)

    前段时间为了测试实验器材的阻尼,需要去开发一套装置来测试.提出用Arduino单片机来控制电动推杆(Linear Actuator)来制造相应速度的运动,搭配上测力计,从而根据来测得阻尼,在这里简单记 ...

最新文章

  1. Mobileye REM地图
  2. RabbitMQ核心概念
  3. 四. 常见H.264视频编解码器(X264和JM)及参考软件JM的下载与编解码
  4. POJ2226 不错的最小顶点覆盖
  5. MongoDB shell 操作
  6. content-type对照表
  7. mongodb java id 查询数据_java 用 _id 查找 MongoDB 下的数据
  8. java IO(四):键盘录入
  9. ML《决策树(二)C4.5》
  10. 树莓派安装python3.8_在树莓派(Raspberry Pi)上编译安装更新版本的Python
  11. html页面阅读pdf,在HTML中查看PDF文件的最佳阅读器-HTML PDF Viewer
  12. 如何有效提升软件测试质量?
  13. 学习笔记 | 通用能力提升
  14. 【深度学习概念】感受野
  15. 关于linux fc多路径巡检
  16. Android之模仿微信登陆界面(一)
  17. RoI Pooling 和 RoI Align
  18. 镭速传输荣获“2021年度优秀软件产品”称号
  19. 恒讯科技分析:国内游戏服务器租用市场的大致情况怎么样呢?
  20. 什么样的教育是真正有意义的?---范美忠

热门文章

  1. 代码托管从业者 Git 指南
  2. WebRTC in the real world: STUN, TURN and signaling
  3. 毕设项目-基于人脸识别的高校课堂考勤微信小程序及系统
  4. 基本数据类型和String相加结果一定是字符串型
  5. MAC地址的老化时间
  6. 我是如何一步步被Asch征服的
  7. 【操作系统学习笔记(一)】对x86汇编知识做了粗略补充,以及尽力读懂代码片段
  8. mt7601u linux驱动编译,移植MT7601U AP Linux 驱动至Orangepi-PC2开发板
  9. java并发包CountDownLatch的用法
  10. 校园表白墙微信小程序