设计简介
该设计使用ESP32连接BMP280使用IC通信协议采集大气压值、温度值、海拔高度值,下面是该设计电路连接图
SCL——D34、SDA——D33、VCC——3.3V(IC线可以根据自己的需要自己更改)
BMP280简介
BMP280是一款高精度、小体积、低能耗的压力传感器,可以用在移动设备中。
产品特点:
压力范围:300~1100hPa(海拔9000米~-500米)
电源电压:1.71V~3.6V
LCC8封装:无铅陶瓷载体封装(LCC)
高精度:低功耗模式下,分辨率为0.06hPa(0.5米)
高线性模式下,分辨率为0.2Pa(1.7厘米)
温度输出
12C接口,SPI接口
温度补偿
尺寸:1.5cmx1.15cm
低功耗:2.7μA
无需外部时钟电路
BMP280对应库安装
在Arduion IDE加载库中安装Adafruit_BMP280库(对应的名称直接复制粘贴过去即可)
代码实现部分
#include <Arduino.h>
#include <Wire.h>
#include <Adafruit_BMP280.h>
#define BMP_SDA 33 //IC引脚定义
#define BMP_SCL 34 //IC引脚定义
Adafruit_BMP280 bmp280;
void setup() {
Serial.begin(115200); //串口初始化
Serial.println("Initializing BMP280"); //串口打印字符
boolean status = bmp280.begin(0x76); //器件的IC地址是0X76或0X77
if (!status) {
Serial.println("Not connected");
}
}
void loop() {
float temp = bmp280.readTemperature(); //定义变量读取温度值
float press = bmp280.readPressure() / 100; //定义变量读取大气压值
float Altitude= bmp280.readAltitude(); //定义变量读取海拔值
Serial.print("Temperature: ");
Serial.print(temp); //打印温度值
Serial.println(" *C");
Serial.print("Pressure: ");
Serial.print(press); //打印大气压值
Serial.println(" hP");
Serial.print("Altitude: ");
Serial.print(Altitude); //打印海拔高度值
Serial.println(" m");
Serial.println("-------------------");
delay(2000); //每两秒刷新一次
}
大家参考如果发现什么问题,欢迎大家积极指正 ,评论区留言讨论 ^ ,^