楼主: eagler8

【Arduino】168种传感器模块系列实验(27)---BMP280气压传感器

[复制链接]

签到天数: 226 天

[LV.7]常住居民III

 楼主| 发表于 2020-3-15 11:32 | 显示全部楼层
本帖最后由 eagler8 于 2020-3-15 11:34 编辑

感谢陌羽小Z的帮助!

今天补充实验测试:GY-BMP280的I²C连接方式和程序

12.jpg

签到天数: 226 天

[LV.7]常住居民III

 楼主| 发表于 2020-3-15 11:35 | 显示全部楼层
本帖最后由 eagler8 于 2020-12-10 09:28 编辑
  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料 +代码 +图形 +仿真)
  3.   实验二十七:GY-BMP280-3.3 高精度大气压强传感器模块(高度与温度计)
  4.   程序之二:IIC通信 Forced模式读取BMP280
  5.   实验接线
  6.   Arduino  BMP280
  7.   3.3V --- VCC
  8.   GND ---  GND
  9.   A5  ---  SCL
  10.   A4  ---  SDA
  11. */

  12. #include <BMP280_DEV.h>

  13. float temperature, pressure, altitude;//创建温度、压力和高度变量
  14. BMP280_DEV bmp280;  //实例化(创建)BMP280_DEV对象并设置I2C操作

  15. void setup()
  16. {
  17.   Serial.begin(115200);// 初始化串行端口
  18.   bmp280.begin(BMP280_I2C_ALT_ADDR);  // 使用可选I2C地址(0x76)进行默认初始化,将BMP280置于休眠模式
  19.   bmp280.setPresOversampling(OVERSAMPLING_X4);    // 将压力过采样设置为X4
  20.   bmp280.setTempOversampling(OVERSAMPLING_X1);    // 将温度过采样设置为X1
  21.   bmp280.setIIRFilter(IIR_FILTER_4);             // 将IIR滤波器设置为设置4
  22.   bmp280.setTimeStandby(TIME_STANDBY_1000MS);    // 将待机时间设置为1秒
  23.   bmp280.startNormalConversion();                // 在正常模式下启动BMP280连续转换
  24. }

  25. void loop()
  26. {
  27.   //唤醒BMP280,提出测量要求
  28.   bmp280.startForcedConversion();
  29.   //获取结果并输出
  30.   if (bmp280.getMeasurements(temperature, pressure, altitude))
  31.   {
  32.     Serial.print(temperature - 2);  
  33.     Serial.print(F("*C   "));
  34.     Serial.print(pressure * 98);
  35.     Serial.print(F("hPa   "));
  36.     Serial.print(altitude + 143);
  37.     Serial.println(F("m"));
  38.   }
  39. }
复制代码

签到天数: 226 天

[LV.7]常住居民III

 楼主| 发表于 2020-3-15 11:36 | 显示全部楼层
【Arduino】168种传感器模块系列实验(资料 +代码 +图形 +仿真)
  实验二十七:GY-BMP280-3.3 高精度大气压强传感器模块(高度与温度计)
  程序之二:IIC通信 Forced模式读取BMP280
  实验接线
  Arduino  BMP280
  3.3V --- VCC
  GND ---  GND
  A5  ---  SCL
  A4  ---  SDA

11.jpg



签到天数: 226 天

[LV.7]常住居民III

 楼主| 发表于 2020-3-15 12:55 | 显示全部楼层
还是有一定误差,需要校准

13.jpg

签到天数: 226 天

[LV.7]常住居民III

 楼主| 发表于 2020-3-15 18:25 | 显示全部楼层
安装 "BMP280_DEV.h"库  IDE-工具-管理库-搜索BMP280_DEV-安装

下载库  https://github.com/MartinL1/BMP280_DEV

14.jpg



附录:范例程式码
1、BMP280_I2C_Normal.ino:I2C接口,正常模式,标准I2C地址(0x77)
2、BMP280_I2C_Alt_Normal.ino:2C接口,普通模式,备用I2C地址(0x76)
3、BMP280_I2C_Forced.ino:I2C接口,强制模式,标准I2C地址(0x77)
4、BMP280_SPI_Normal.ino:SPI接口,普通模式
5、BMP280_SPI_Forced.ino:SPI接口,强制模式
6、BMP280_ESP32_HSPI_Normal.ino:ESP32 HSPI接口,普通模式
7、BMP280_SPI_Normal_Multiple.ino:SPI接口,正常模式,多个BMP280器件
8、BMP280_ESP8266_I2C_Normal_DefinedPins.ino:ESP8266 I2C接口,普通模式,用户定义管脚

该用户从未签到

发表于 2020-12-2 23:25 | 显示全部楼层
大佬我用esp8266连接bmp280,用您的这个程序,串口无法打印出正确的值

签到天数: 226 天

[LV.7]常住居民III

 楼主| 发表于 2020-12-3 18:42 | 显示全部楼层
lix123 发表于 2020-12-2 23:25
大佬我用esp8266连接bmp280,用您的这个程序,串口无法打印出正确的值

这个系列都是使用Arduino uno做的实验,esp8266没有试过

该用户从未签到

发表于 2020-12-3 22:41 | 显示全部楼层
eagler8 发表于 2020-12-3 18:42
这个系列都是使用Arduino uno做的实验,esp8266没有试过

好的好的

签到天数: 226 天

[LV.7]常住居民III

 楼主| 发表于 2020-12-4 09:02 | 显示全部楼层

有空多交流
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

arduino解码sbus
arduino解码sbus
市面上有很多sbus接收机,它只有一根线就可以实现很多通道的通信,其本质利用了串口通
【干货分享】mega2560原理图PCB图纸altium designer18
【干货分享】mega2560原理
分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
wemos d1 wifi具体叫啥名,我也迷糊了,无法上传程序
wemos d1 wifi具体叫啥名
淘宝入手一块这样的板,详情页提供了教程,还提供了 arduino iDE 1.6.5免安装版本,
求大佬帮忙arudino上传报错programmer is not responding
求大佬帮忙arudino上传报
报错信息avrdude: stk500_recv(): programmer is not responding avrdude: stk500_get
新手求助!端口不显示的问题
新手求助!端口不显示的问
我的板子连到电脑上没有显示端口,试过安装ch340和驱动精灵都识别不出来,数据线也换
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表