在本文中,我们将探索什么是气压计,以及如何接口气压BMP180传感器与Arduino。我们也将探索它的一些重要规范,最后我们将学习如何使用气压读数来预测天气。
气压计是什么呢?
气压计是测量大气压力的仪器。大气压力是地球大气所施加的力的大小。地球的大气压力是随时间变化的,大气压力的变化可以预测局部地区的短期天气状况。
在现代,我们可以通过智能手机、电视、收音机等,用指尖就能得到天气预报。但在早期,大约17世纪,天气预报是依靠气压计,它是用汞等有毒化学元素制作的。
水银气压计是科学家和农民的方便工具。它相当准确地预测天气,它帮助科学家进行大气科学实验,农民知道什么时候该在正确的时间种庄稼。
后来发明了机械气压计,它不使用任何液体。幸运的是,我们生活在一个技术先进的时代,气压传感器很便宜,大小也不超过我们的拇指指甲。
气压传感器示意图:
现在,你知道气压计是什么,它在哪里使用。
规格:
•它可以测量300hPa至1100hPa (1hPa=100Pa)的压力,“Pa”表示帕斯卡,hPa表示百帕斯卡。
•工作温度从-40到+85摄氏度。
•测量温度范围从0到65摄氏度。
•典型工作电压3.3V。
•功耗5微安。
现在,让我们深入研究电路图。
它是如何工作的
使用Arduino的气压BMP180传感器电路实际上非常简单,它采用了i2C总线,这是两线通信。该芯片使用3.3V Arduino板上稳压电源。它可以测量当地的大气压力和环境温度。
作者的原型:
该程序还可以计算其他参数,如大气压力和海拔高度,我们可以从IDE的串行监视器见证。
在开始编程之前,请从以下链接下载库文件:github.com/adafruit/Adafruit_BMP085_Unified.git并将其添加到Arduino库文件夹中。
程序代码:
//----------- 项目由R.Girish ----------------//
# include < Wire.h >
# include < Adafruit_BMP085.h >
Adafruit_BMP085 bmp;
无效的设置()
{
Serial.begin (9600);
如果(! bmp.begin ())
{
系列。println("找不到有效的BMP085传感器,检查接线!");
而(1){}
}
}
无效循环()
{
系列。打印(“温度= ");
并同时bmp.readTemperature ());
系列。println(“* C”);
系列。打印(“压力= ");
并同时bmp.readPressure ());
系列。println(“逾越节”);
系列。打印("高度= ");
并同时bmp.readAltitude ());
系列。println(“米”);
系列。print("海平面压力(计算)= ");
并同时bmp.readSealevelPressure ());
系列。println(“逾越节”);
系列。print("实际高度= ");
并同时bmp.readAltitude (101500));
系列。println(“米”);
以();
延迟(10000);
}
//----------- 项目由R.Girish ----------------//
库文件的链接最初是为BMP085创建的,但它与BMP180兼容。
注意:在编译程序时,IDE会给出一个警告,请忽略它,代码和库工作正常。
如何预测天气?
电视和收音机上播放的天气预报是从海平面而不是当地的气压来测量的,这是因为海拔高度会影响各个地方的读数,在海平面上测量会给所有气压计一个标准值。因此,我们在串行监视器上关注海平面压力水平(计算)。
大气压力不断变化,不能得到恒定值。但是,人们可以通过监测某一段时间的读数来确定天气。
看读数并做笔记,等半个小时再做一次笔记,如果读数高,这意味着天气将会晴朗。如果读数下降,我们可以预测暴风雨或降雨。
这在所有气压计上都是一样的。初始读数和当前读数之间的差值越大,天气条件变化的可能性越大。
你如何校准当前的压力以确保你的高度是正确的。
它的性能规范是什么。我能用它做气象气球吗?