博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
玩转X-CTR100 l STM32F4 l BMP280气压计传感器
阅读量:5884 次
发布时间:2019-06-19

本文共 1711 字,大约阅读时间需要 5 分钟。

我造轮子,你造车,创客一起造起来!塔克创新资讯【塔克社区 】【塔克博客 】

    

本文介绍X-CTR100控制器 扩展BMP280气压计传感器,模块型号为GY-BM E/P280,淘宝上可以买到。

气压计可用于海拔高度测量,常用于无人机中,实现定高功能。

原理

BMP280是一款绝对的气压传感器,专为移动应用而设计。传感器模块采用极其紧凑的封装。其小尺寸和低功耗允许在诸如移动电话,GPS模块或手表的电池供电设备中实现。

作为其前身BMP180,BMP280基于博世经过验证的压阻式压力传感器技术,具有高精度和线性度以及长期稳定性和高EMC稳健性。众多器件操作选项提供了最高的灵活性,可针对功耗,分辨率和滤波器性能优化器件。为开发人员提供了一组经过测试的默认设置(例如用例),以便尽可能简化设计。

应用

- 增强GPS导航(例如,时间改进,航位推算,斜率检测)

- 室内导航(楼层检测,电梯检测)

- 户外导航,休闲和运动应用

- 天气预报

- 医疗保健应用(例如肺活量测定法)

- 垂直速度指示(例如上升/下降速度)

引脚说明:

Pin1:VCC(3.3V供电)

Pin2:GND

Pin3:SCL(I2C通信模式时钟信号)

Pin4:SDA(I2C通信模式数据信号)

Pin5:CSB(SPI通信模式下用到的引脚,本次没用到,可以悬空)

Pin6:SDO(传感器地址控制位,接GND的时候I2C中器件地址为0xEC,接高电平为0xEC+ 1,本次接GND)

传感器测试范围:

温度:-45℃~+85℃

大气压强:0~20000hPa(百帕)

测量主要模式:

Sleep Mode:作电流达到uA级别,典型值为0.1uA,最大值为0.3uA,所有测量工作都停止。

Normal Mode: 正常工作,相关工作间隔时间可以通过寄存器控制。

Forced Mode:主控发起一次采集命令,传感器采集一次信号,然后进入Sleep Mode,等待下次唤起(本次没用到)。

BMP280传感器内部所有寄存器及其地址如下图所示,更详细说明,请参考数据手册。

例程

初始化BMP180,采集气压值和温度数据并输出显示。

硬件说明

硬件资源:

  • 串口UART1
  • LF接口(IIC2接口)
  • 扩展模块BMP180气压计(需自备)

硬件连接:

模块连接到LF IIC2接口,连接如下图所示。

    

软件生态

X-SOFT软件生态,X-API文件如下。

ax_bmp280.c——X-CTR100 扩展BMP280气压计源文件

ax_bmp280.h——X-CTR100 扩展BMP280气压计头文件

操作函数如下:

uint8_t AX_BMP280_Init(void); //BMP280传感器初始化

uint32_t AX_BMP280_GetPressure(void);    //BMP280获取气压值

uint32_t AX_BMP280_GetTemperature(void);    //BMP280获取温度值

软件说明

主程序代码如下。

int main(void)

{

    uint32_t temp, press;

 

    //X-CTR100初始化

    AX_Init(115200);

    printf("***X-CTR100 BMP280气压传感器例程***\r\n\r\n");

 

    //模块初始化及配置

    AX_BMP280_Init();

 

    while (1)

    {

        press = AX_BMP280_GetPressure();

        temp = AX_BMP280_GetTemperature();

 

        printf("压力值:%d(0.1Pa) 温度:%d (0.01℃)\r\n", press, temp);

 

        AX_Delayms(1000);

        AX_LEDG_Toggle();

    }

}

实现效果

运行效果如下图所示。

    

参考

https://blog.csdn.net/sunshinebooming/article/details/79637822

转载于:https://www.cnblogs.com/xtark/p/9429289.html

你可能感兴趣的文章
在Jenkins中配置运行远程shell命令
查看>>
代码杂记
查看>>
linux中防CC攻击两种实现方法(转)
查看>>
《Programming WPF》翻译 第9章 4.模板
查看>>
hdu2159
查看>>
Windows7+VS2012下OpenGL 4的环境配置
查看>>
Maven for Eclipse 第一章 ——Maven的介绍
查看>>
Linux Kernel中断子系统来龙去脉浅析【转】
查看>>
Linux NFS服务器的安装与配置
查看>>
Ada boost学习
查看>>
Unity中SendMessage和Delegate效率比较
查看>>
Linux下EPoll通信模型简析
查看>>
react-native 制作购物车ShopCart
查看>>
Linux服务器 java生成的图片验证码乱码问题
查看>>
【转】QT中QDataStream中浮点数输出问题
查看>>
AD RMS之Windows 内部数据库迁移到 SQL 服务器
查看>>
记录我第一次在Android开发图像处理算法的经历
查看>>
mongodb3.2配置文件yaml格式 详解
查看>>
git设置默认编辑为vim
查看>>
android api (82) —— InputConnection [输入法]
查看>>