「雕爷学编程」Arduino动手做(27)——BMP280气压传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来—小小的进步或是搞不定的问题,希望能够抛砖引玉。
【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
实验二十七:GY-BMP280-3.3 高精度大气压强传感器模块
BMP280
博世Sensortec - BMP280 是一种专为移动应用设计的绝对气压传感器。该传感器模块采用极其紧凑的封装。得益于小尺寸和低功耗特性,这种器件可用在如移动电话、GPS 模块或手表等电池供电型设备中。与上代产品相同,BMP180、BMP280 也基于Bosch 成熟的压阻式压力传感器技术,具有高确度和线性度,以及长期稳定性和很高的 EMC 稳健性。多种设备工作选择带来了最高灵活性,可以在功耗、分辨率和滤波性能方面对设备进行优化。
BMP280是博世最新推出的数字气压传感器,具有卓越的性能和低廉的价格,相对精度为±0.12 hPa(相当于±1米),传感器功耗仅有2.7μA。BMP280具有业界最小封装,采用极其紧凑的8引脚金属盖LGA封装,占位面积仅为2.0×2.5mm2,封装高度为0.95 mm。包括有压力和温度测量功能。该气压传感器支持SPI和IIC通信接口,相比上一代的BMP180,精度已有相当大的提升,非常适合应用于低成本的多旋翼飞行器飞行控制器上,价格仅有目前流行的MS5611的四分之一。传感器模块它的小尺寸和2.74μA@ 1Hz的低功耗允许在电池驱动的设备中实现。门内导航,医疗保健以及GPS改进的新兴应用需要高相对精度和低TCO。
BMP280芯片结构图
BMP280非常适用于地板水平检测等应用,因为传感器具有±0.12 hPa的优异相对精度,相当于±1m高度差,偏移温度系数(TCO)仅为1.5 Pa / K(相当于12.6厘米/ K)。作为广泛实施的BMP180的继承者,BMP280最初在2011年开始大量使用手机中的气压测量,BMP280在所有需要精确压力测量的应用中实现了高性能。同时,BMP280具有更高的应用灵活性,新的滤波器模式和SPI接口,而且相对于BMP180,占位面积缩小了63%。
应用范围
1、GPS 导航增强(例如改进初次定位时间、航位推算、斜率检测)
2、室内导航(室内检测、电梯检测)
3、户外导航,休闲和运动应用
4、天气预报
5、健康保健应用(如肺活量测定)
6、垂直速度指示(如上升/下沉速度)
GY-BMP280-3.3 高精度大气压强传感器模块
是个低功耗数字复合传感器,它可以测量环境温度和大气压强。气压敏感元件是一个低噪高精度高分辨率绝对大气压力压电式感应元件;温度感测元件具有低噪高分辨率特性,温度值可以对气压进行温度补偿自校正。通过配置采样率寄存器,可以设置敏感元件的采样率。非常适合空间有限的移动设备,如智能是手机、平板电脑、智能手表和可穿戴设备、天气预报、垂直速度指示、飞控设备、室内室外导航、智能家居装置。
模块电原理图
Adafruit_BMP280_Library,用于BMP280传感器的Arduino库
下载地址
https://github.com/adafruit/Adafruit_BME280_Library
https://github.com/mahfuz195/BMP280-Arduino-Library
https://github.com/adafruit/Adafruit_BMP280_Library/releases(最新版本1.0.3)
还要下载这个库–Adafruit_Sensor
https://github.com/adafruit/Adafruit_Sensor
需要的材料和硬件连接
注意的是这块板子的额定电压是3.3v,且同时支持两种连接方式: I²C 和 SPI ,下面的连接方式是SPI的连接方式和程序。
左边的是BMP280的6个接口,右边是Arduino的6个接口,两者用杜邦线连接即可。将USB线缆连接到电脑,选择好合适的开发板以及端口,上传并打开串口监视器,查看数值变化。
GY-BMP 280 Arduino UNO
VCC 3.3v
GND gnd
SCL 13
SDA 11
CSB 10
SDO 12
备注:不要使用5V,可能会损坏BMP280传感器
/*【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)实验二十七:GY-BMP280-3.3 高精度大气压强传感器模块(高度与温度计)*/#include <Wire.h>#include <SPI.h>#include <Adafruit_Sensor.h> #include <Adafruit_BMP280.h>#define BMP_SCK 13 #define BMP_MISO 12#define BMP_MOSI 11 #define BMP_CS 10Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK); void setup() {Serial.begin(9600);Serial.println(F("BMP280 测试"));if (!bmp.begin()) { Serial.println(F("找不到对应的传感器"));while (1);}}void loop() {Serial.print(F("温度 = "));Serial.print(bmp.readTemperature());Serial.println(" *C");Serial.print(F("气压 = "));Serial.print(bmp.readPressure());Serial.println(" Pa");Serial.print(F("海拔 = "));Serial.print(bmp.readAltitude(1013.25));Serial.println(" m");Serial.println();delay(2000);}
I²C 的连接方式和程序
「雕爷学编程」Arduino动手做(27)——BMP280气压传感器相关推荐
- 「雕爷学编程」Arduino动手做(15)——手指侦测心跳模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- arduino loar_「雕爷学编程」Arduino动手做(15)---手指侦测心跳传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的 ...
- 「雕爷学编程」Arduino动手做(38)——joystick双轴摇杆模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- 「雕爷学编程」Arduino动手做(36)——WS2812B 4位彩灯模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- 「雕爷学编程」Arduino动手做(33)——ESP-01S无线WIFI模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- 「雕爷学编程」Arduino动手做(26)——4X4矩阵键盘模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- 「雕爷学编程」Arduino动手做(22)——8X8 LED点阵MAX7219屏
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- 「雕爷学编程」Arduino动手做(18)---太阳能电池模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- 「雕爷学编程」Arduino动手做(31)——ISD1820语音模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- 「雕爷学编程」Arduino动手做(39)——DS18B20温度传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
最新文章
- instancing render
- python如何在exel中编程_如何使用Python以编程方式将行添加到现有Excel表中
- 信息学奥赛C++语言: 求小数的某一位
- Matlab--绘图及坐标轴命令使用示例
- c# 再次尝试 连接失败_手机投屏电视连接不上怎么回事?
- [CentOs7]搭建ftp服务器(2)——添加用户
- xshell远程控制(连接)两个VMware同时启动的Linux操作系统
- java编译异常有哪些_java编译时异常有哪些?java常见异常有哪些?
- Node.js使用jszip实现文件夹操作
- 简易论坛代码源码(php+css+js+mysql)完整的代码源码,系统使用B/S架构
- IM“扫一扫”功能很好做?看看微信“扫一扫识物”的完整技术实现
- 【老生谈算法】基于matlab指纹识别系统设计与算法原理详解(论文+程序源码)——指纹识别
- 集结Android开发里的各种大神
- 项目组内个角色的职责说明,仅针对当前项目组,其他项目组慎用,呵呵
- h0131. 钞票 (15 分)
- 工业母机扶持政策汇总来了,国家-广东省-深圳市
- Linux proxy 设置
- 2019年几大主流的前端框架(UI/JS)框架
- easyExcel 导出无数据
- 什么是机器学习? 来自数据的情报