大气压传感器模块 BMP180使用

作为一个高精度、超小体积的气压传感器,BMP180在很多应用场景下都能见到它的身影,比如航模等需要高度数据的场合;下面讲解在零知平台上该模块的使用。

一、模块说明

这里使用的模块如下图:

这个模块VCC是5v电压;该模块可以3.3v和5v两种供电模式。根据芯片说明书,大气压力与海拔高度对应关系如下:

二、模块接线:

三、代码


							
   /**
   *    文件: BMP180模块测试.ino      by 零知实验室([url=http://www.lingzhilab.com]www.lingzhilab.com[/url])
   *    -^^- 零知开源,让电子制作变得更简单! -^^-
   *    时间: 2018/10/18 11:16
   *    说明: 
   **/
    
   #include "BMP180.h"
    
   Adafruit_BMP085 bmp;
      
   void setup() {
     Serial.begin(9600);
     if (!bmp.begin()) {
           Serial.println("BMP180 传感器启动失败");
           while (1) {}
     }
   }
      
   void loop() {
       Serial.print("温度:");
       Serial.print(bmp.readTemperature());
       Serial.println(" ℃");
        
       Serial.print("压力:");
       Serial.print(bmp.readPressure());
       Serial.println(" Pa");
        
       // 标准气体时测量的数据 101325 Pa
       Serial.print("高度:");
       Serial.print(bmp.readAltitude());
       Serial.println(" m");
    
       Serial.print("海平面压力:");
       Serial.print(bmp.readSealevelPressure());
       Serial.println(" Pa");
    
     // 根据当地的海平面压强进行更精确的实际高度计算
       Serial.print("真实高度:");
       Serial.print(bmp.readAltitude(101400));
       Serial.println(" m");
        
       Serial.println();
       delay(500);
   }
						
						

上面测量真实高度时根据当地的实际气压进行校正,我在这里使用中央气象台查询到的作为依据:

注:1014hPa = 101400Pa,这里没有更精确的气压值,因此会有误差。

三、测量结果

在查询到当地的海拔高度为:

实际测量如下:(二十五层高度,室内,有些误差)

完整工程


BMP180模块测试.7z(点击下载)