GY-BMP280-3.3

GY-BMP280-3.3 高精度大气压强传感器模块是个低功耗数字复合传感器,它可以测量环境温度和大气压强。气压敏感元件是一个低噪高精度高分辨率绝对大气压力压电式感应元件;温度感测元件具有低噪高分辨率特性,温度值可以对气压进行温度补偿自校正。通过配置采样率寄存器,可以设置敏感元件的采样率。非常适合空间有限的移动设备,如智能是手机、平板电脑、智能手表和可穿戴设备、天气预报、垂直速度指示、飞控设备、室内室外导航、智能家居装置。

代码

需要下载两个库:

  • Adafruit_BMP280_Library,用于BMP280传感器的Arduino库
  • Adafruit_Sensor

注意千万不要接5V的接口,会烧芯片

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/*
VCC 3.3v
GND gnd
SCL 13
SDA 11
CSB 10
SDO 12
备注:不要使用5V,可能会损坏BMP280传感器
*/

#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 10

 

Adafruit_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);

}