亲爱的朋友们欢迎来到另一个 Arduino 项目教程!
在本教程中,我们将首先了解新型 BME280 传感器,这是一种非常有趣的新型传感器。我们将构建一个简单但非常准确的气象站项目。我在 2 年前建立了一个类似的项目,使用不同的传感器。现在我们有一个新的传感器可以使事情变得更容易,是时候更新项目了。如您所见,在 LCD 显示屏上我们可以看到温度、湿度和气压。读数每两秒更新一次。这是一个非常容易构建的项目,因此非常适合初学者!让我们来建造吧!
构建此项目所需的部分如下:
该项目的成本约为 18 美元。
BME280 采用博世的新型出色传感器。到目前为止,我使用的是可以测量温度和气压的 BMP180 传感器。BME280传感器可以测量温度、湿度和气压!多么酷啊!我们只需要一个传感器就可以建立一个完整的气象站!
除此之外,该传感器尺寸非常小且非常易于使用。我们今天要使用的模块,使用 I2C 接口,因此与 Arduino 的通信非常容易。我们只需连接电源和另外两根电线即可使其工作。
已经有很多为这个传感器开发的库,所以我们可以很容易地在我们的项目中使用它!
传感器的成本约为 5 美元。
你可以在这里得到它▶ http://bit.ly/bme280
注意:我们需要 BME280 传感器。还有一个不提供湿度测量的 BMP280 传感器。请小心订购您需要的传感器。
LCD 屏蔽是一个非常有用的屏蔽。它提供了一个 16x2 LCD 显示屏和一些按钮。它还提供了一个电位器来控制显示器的对比度。
虽然这个盾牌上没有太多的东西,但在我看来它是一个很好的盾牌。您可以轻松地将它连接到 Arduino 并立即在其上显示一些东西。你甚至不需要安装一个库来让它工作。当您安装 Arduino IDE 时,所需的 LiquidCrystal 库已安装在您的机器上。
如果您是 Arduino 的新手,或者如果您需要一个易于使用的显示器来开始使用它进行原型设计,那么这个 LCD 扩展板就是您所需要的。除此之外,它的成本不到 5 美元!
你可以在这里得到它 ▶ http://bit.ly/ArduinoKeypadDisplay
让我们将传感器连接到 Arduino。
我们今天使用的是 Arduino Mega,但如果您将一些排针焊接到 LCD 屏蔽罩上,您也可以使用 Arduino Uno。Arduino Mega 让初学者更轻松。
首先,我们将 LCD 屏蔽连接到 Arduino Mega。这非常简单,您可以像连接任何其他防护罩一样进行连接。
然后我们将传感器的 Vin 引脚连接到 Arduino Mega 5V 输出。接下来我们将传感器的 GND 引脚连接到 Arduino Mega GND。下一步是将传感器的 SCL 引脚连接到 Arduino Mega 的 SCL 引脚,并将传感器的 SDA 引脚连接到 Arduino Mega 的 SDA 引脚。检查所附照片。
就是这样,如果我们加载代码并启动项目,我们可以看到 2 秒后传感器的读数显示在屏幕上。我们的项目准备好了!您现在可以为它建造自己的围栏,并且您有一个非常准确的气象站!现在让我们看一下项目的代码。
该项目的代码使用了 3 个库。
现在我们已经安装了库,我们需要以米为单位定义我们所在位置的海拔高度,以便获得准确的气压读数。
#define ALTITUDE 216.0 // Altitude in Sparta, Greece
如您所见,代码非常简单。
void setup(void) { lcd.begin(16, 2);
lcd.print("Reading sensors"); bool status;
// default settings
status = bme.begin(0x76); //The I2C address of the sensor I use is 0x76 if (!status) {
Serial.println("Could not find a valid BME280 sensor, check wiring!");
while (1);
}
}
首先我们初始化传感器和显示器。
然后在循环函数中每 2 秒读取一次传感器。读取传感器后,我们将值打印在显示屏上。
delay(2000); getPressure();
getHumidity();
getTemperature();
lcd.clear();
//Printing Temperature
String temperatureString = String(temperature,1);
lcd.print("T:");
lcd.print(temperatureString);
lcd.print((char)223);
lcd.print("C ");
在这个版本的代码中,我们以摄氏度显示温度,但我还准备了一个以华氏度测量温度的代码版本。您可以找到本教程附带的项目代码的两个版本。
这就是今天的项目。带有新 BME280 传感器的 Arduino 气象站项目。
新型 BME280 传感器使用 I2C 接口,非常易于使用。我将在未来的项目中大量使用它,因为它在一个封装中提供了温度、湿度和压力传感器。这使我们的气象站项目更易于构建且更紧凑。我很想听听您对此传感器的看法。你打算在你的任何项目中使用它吗?如果是,您打算使用此传感器构建什么样的项目?请在下面发表您的想法,我很乐意阅读它们。谢谢!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !