ESP8266-Arduino编程实例-BMP180气压温度传感器驱动

BMP180气压温度传感器驱动

1、BMP180介绍

BMP180 是用于测量气压和温度的最佳低成本传感解决方案。 传感器焊接在带有 3.3V 稳压器、I2C 电平转换器和 I2C 引脚上的上拉电阻的 PCB 上。 BMP180 取代了 BMP085。

BMP180有如下特点:

  • 压力感应范围:300-1100 hPa(海拔9000m至-500m)
  • 分辨率高达 0.03hPa / 0.25m
  • -40 至 +85°C 工作范围,±2°C 温度精度

在前面的文章中,对BMP180做了介绍,请参考:

2、硬件准备

  • ESP8266 NodeMCU开发板一块
  • BMP180气压温度传感器模块一个
  • 面板板一个
  • 杜邦线若干
  • 数据线一条

硬件接线图如下:

在这里插入图片描述

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:

ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:

4、代码实现

1)导入头文件

1
2
3
#include <Wire.h>
#include <Adafruit\_BMP085.h>

本次使用的BMP180驱动库如下:

2)定义BMP180传感器

1
2
Adafruit_BMP085 bmp;

3)在setup函数中配置串口及启动传感器

1
2
3
4
5
6
7
8
9
10
11
12
void setup() 
{
// 配置传感器
Serial.begin(115200);
// 启动传感器
if (!bmp.begin())
{
Serial.println("Could not find BMP180 or BMP085 sensor at 0x77");
while (1) {}
}
}

4)在loop函数中,读取传感器数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void loop() 
{
Serial.print("Temperature = ");
// 读取温度值
float temperature = bmp.readTemperature();
Serial.print(temperature);
Serial.println(" Celsius");

Serial.print("Pressure = ");
// 读取气压值
float pressure = bmp.readPressure();
Serial.print(pressure);
Serial.println(" Pascal");


Serial.println();
delay(5000);
}

文章来源: https://iotsmart.blog.csdn.net/article/details/126070631