具体讲解
这是一个专为测量大气压力而设计的基本传感器,对两件事确实很有用。
当我们从海平面到山顶旅行时,气压会降低。这意味着通过测量压力,我们可以确定高度。因此,我们可以将此传感器用作高度计。
因为大气压随天气变化,所以我们可以用它来监测天气的变化。
电路连接
VCC 是模块的电源,可以在3.3V至5V之间的任何范围内。
地线 应该连接到Arduino的地面。
SCL 是I2C接口的串行时钟引脚。
SDA 是I2C接口的串行数据引脚。
代码实现
从BMP180模块读取温度和气压
#include <Wire.h>
#include <Adafruit_BMP085.h>
#define seaLevelPressure_hPa 1013.25
Adafruit_BMP085 bmp;
void setup() {
Serial.begin(9600);
if (!bmp.begin()) {
Serial.println("Could not find a valid BMP085 sensor, check wiring!");
while (1) {
}
}
}
void loop() {
Serial.print("Temperature = ");
Serial.print(bmp.readTemperature());
Serial.println(" *C");
Serial.print("Pressure = ");
Serial.print(bmp.readPressure());
Serial.println(" Pa");
Serial.print("Altitude = ");
Serial.print(bmp.readAltitude());
Serial.println(" meters");
Serial.print("Pressure at sealevel (calculated) = ");
Serial.print(bmp.readSealevelPressure());
Serial.println(" Pa");
Serial.print("Real altitude = ");
Serial.print(bmp.readAltitude(seaLevelPressure_hPa * 100));
Serial.println(" meters");
Serial.println();
delay(500);
}