Arduino大气压强传感器BMP280实验

硬件准备

Arduino Uno
在这里插入图片描述(Arduino不限同时适用于Mege2560,nano等)
BMP280大气压强传感器
在这里插入图片描述

接线部分

BMP280引脚展示
在这里插入图片描述

Arduino BMP280
3.3V VCC
GND GND
13 SCL
12 SDA
11 CSB
10 SDO

注意!!! 不要接入5V电压,以免烧坏BMP280

代码部分

BMP280库文件配置

在Arduino管理库中下载BMP280库文件
在这里插入图片描述

代码部分

定义引脚使用(不同型号,或者有需要可以修改引脚的定义)

/*定义BMP280引脚*/
#define BMP_SCK 13   //SCL引脚 
#define BMP_MISO 10   //SDO引脚
#define BMP_MOSI 12   //SDA引脚
#define BMP_CS 11     //CSB引脚

Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);  

BMP280大气压强传感器有一个初始化检测SPI通讯步骤

void setup() {
    
    
  Serial.begin(9600);     //设置波特率
  Serial.println(F("BMP280传感器初始化检测"));
  Serial.println(F("BMP280传感器检测成功"));
  /*检测SPI总线通讯*/
  if (!bmp.begin()) {
    
      
    Serial.println(F("BMP280传感器初始化失败"));
    while (1);
  }
}

大气压强串口读取计算

Serial.print(F("当前海拔高度 = "));
    Serial.print(bmp.readAltitude(1013.25));
    Serial.println(" M");   

完整代码

#include <Wire.h>     
#include <SPI.h>      //SPI总线库

#include <Adafruit_Sensor.h>  
#include <Adafruit_BMP280.h>      //BMP280库

/*定义BMP280引脚*/
#define BMP_SCK 13   //SCL引脚 
#define BMP_MISO 10   //SDO引脚
#define BMP_MOSI 12   //SDA引脚
#define BMP_CS 11     //CSB引脚

Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);  

/*传感器初始化检测*/
void setup() {
    
    
  Serial.begin(9600);     //设置波特率
  Serial.println(F("BMP280传感器初始化检测"));
  Serial.println(F("BMP280传感器检测成功"));
  /*检测SPI总线通讯*/
  if (!bmp.begin()) {
    
      
    Serial.println(F("BMP280传感器初始化失败"));
    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");   
    delay(800);     //延时检测
}

打开串口监视器。设置波特率9600,可以查看当前检测数据
在这里插入图片描述
以上数据根据当前百度地图查询,接近符合,我本人住的地方就是高原地区

祝你顺利!!!

猜你喜欢

转载自blog.csdn.net/weixin_50679163/article/details/119636651