ハードウェアの準備
Arduino Uno
(Arduinoは限定されておらず、Mege2560、nanoなどに適しています)
BMP280大気圧センサー
配線部
BMP280ピン表示
Arduino | BMP280 |
---|---|
3.3V | VCC |
GND | GND |
13 | SCL |
12 | SDA |
11 | CSB |
10 | SDO |
知らせ!!! BMP280を焼き尽くさないように、5Vに接続しないでください。
コードセクション
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に設定すると、現在の検出データを表示できます
(上記のデータは、適合に近い現在の百度地図に従って照会されます。私が住んでいる場所は高原地域です)
幸運を!!!