我造轮子,你造车,创客一起造起来!塔克创新资讯【塔克社区 www.xtark.cn 】【塔克博客 www.cnblogs.com/xtark/

    

本文介绍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

玩转X-CTR100 l STM32F4 l BMP280气压计传感器的更多相关文章

  1. 玩转X-CTR100 l STM32F4 l ADC 模拟数字转换

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 AD转换接 ...

  2. 玩转X-CTR100 l STM32F4 l MPU6050加速度陀螺仪传感器

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 板载加速度 ...

  3. 玩转X-CTR100 l STM32F4 l X-CTR100与树莓派搭建机器人平台

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器与树莓派Linux系统 ...

  4. 玩转X-CTR100 l STM32F4 l 舵机控制

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器的舵机控制,X-CTR ...

  5. 玩转X-CTR100 l STM32F4 l DRV8825 A4988 步进电机控制

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器控制步进电机 ...

  6. 玩转X-CTR100 l STM32F4 l 基础例程printf、LED、蜂鸣器、拨码开关、位带操作

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器基础板载资源 ...

  7. 玩转X-CTR100 l STM32F4 l PS2无线手柄

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] SONY的PS2无线手柄是索尼游戏机的遥控手柄,控制 ...

  8. 玩转X-CTR100 l STM32F4 l DSP指令集性能测试

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 DSP库的 ...

  9. 玩转X-CTR100 l STM32F4 l FPU单精度浮点性能测试

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器如何开启ST ...

随机推荐

  1. Tempter of the Bone(dfs+奇偶剪枝)题解

    Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  2. 到底二级域名和一级域名哪个更利于SEO

    到底二级域名和一级域名哪个更利于SEO呢?本文是从百度官方转载详细的介绍:二级域名和一级域名的区别,请各位认真阅读. 二级域名和子域名的区别可以通过以下3点来解读: 一,二级域名的特点 搜索引擎往往将 ...

  3. 【Android实验】 UI设计-ListView

    目录 实验目的 实验要求 实验内容 实现效果 实验代码 实验总结 实验目的 学习使用ListView 学习使用menu 实验要求 实现一个列表,其中显示班级学号姓名,提供添加功能,如需要删去某一项,长 ...

  4. HDU 6143 Killer Names(容斥原理)

    http://acm.hdu.edu.cn/showproblem.php?pid=6143 题意: 用m个字母去取名字,名字分为前后两部分,各由n个字符组成,前后两部分不能出现相同字符,问合法的组成 ...

  5. 关于ExtJS Row editing 行编辑 后 获取 编辑后记录值 的方法

    listUsersGrid.on('edit', function(editor, e) { var pass = editor.record.data.password; editor.record ...

  6. cannot marshal None unless allow_none is enabled

    今天运行一个launch文件的时候出现了以下报错 load_parameters: unable to set parameters (last param was [/robot_state_pub ...

  7. Android中getLocationOnScreen和getLocationInWindow 获取屏幕大小

    需要确定组件在父窗体中的坐标时,使用getLocationInWindow,需要获得组件在整个屏幕的坐标时,使用getLocationOnScreen. 其中location [0]代表x坐标,loc ...

  8. HTTP URL 字符转义 字符编码 、 RFC 3986编码规范

    一.为什么要编码转义 通常如果一样东西需要编码,说明这样东西并不适合传输.原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义. 例如Url参 ...

  9. Phonetics: Lecture Three 语音 第三课 Teacher:Patrick

    元音字母: [u]   put [pʊt]  push [pʊʃ]  full [fʊl]  sugar ['ʃʊgɚ]  cook [kʊk]  look [lʊk]   took [tʊk] (v ...

  10. LeetCode--203--删除链表中的节点

    问题描述: 删除链表中等于给定值 val 的所有节点. 示例: 输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3 ...