ESP32 BMP180传感器教程|如何与ESP32接口BMP180?

在本教程中,我们将学习如何与ESP32 Devkit开发委员会接口BMP180。如果您想使用ESP32构建基于Web的压力和温度监测系统,那么BMP180是最便宜的选择之一(例如,肯定比BMP180更好,例如BME280)。尽管如此,了解ESP32 BMP180压力和温度传感器界面如何工作,设置Arduino IDE,在LCD上显示压力和温度数据。此外,您可以设计一个简单的ESP32 Web服务器,该服务器连续显示BMP180传感器的压力和温度。

ESP32-BMP180-Image-2

BMP180传感器的简短说明

我们已经在Arduino BMP180教程中看到了BMP180传感器。但是,让我们回顾一些有关传感器的重要信息。BMP180是Bosch的数字气压传感器。它是基于压电电阻MEMS设备的超低动力设备。它可以测量300 hPa至1100 hPa的大气压。

除了测量压力外,BMP180传感器还可以测量0的温度0C至650C.由于BMP180测量了大气压力,因此您可以轻松地扣除点的高度(因为它们都是相关的)。

BMP180模块前

实际的BMP180传感器是一个微型设备,尺寸为3.6mm x 3.8mm。它可在7 PIN LGA包中使用,并通过I与微控制器进行通信2C或SPI(最终传感器中只有一个)。

传感器的一个重要点是其校准。传感器需要正确校准以产生可接受的结果。幸运的是,所有Bosch BMP180气压传感器均已出厂校准,以便它们可以使用。

许多第三方模块和传感器制造商都采用了小型BMP180传感器,并设计了一个小模块,非常适合Arduino和其他DIY项目。今天可用的大多数模块使用i2C沟通。[[ESP32初学者的项目这是给予的

BMP180的针图

下图显示了BMP180传感器的引脚。该模块标记了背面的引脚。

BMP180模块背

如您所见,BMP180模块上有四个引脚:

  • Vin
  • gnd
  • SCL
  • SDA

ESP32 BMP180接口

现在,我们已经看到了一些有关BMP180压力和温度传感器的信息,现在让我们继续了解如何与ESP32接口BMP180。您要记住的第一件事是BMP180是数字传感器。

要记住的下一个重要的事情是BMP180传感器使用i2C巴士与微控制器通信。如果您还记得ESP32的引脚,则默认2ESP32的C引脚是GPIO 21(SDA)和GPIO 22(SCL)。它们在ESP32 Devkit开发委员会上分别标记为D21和D22。

因此,我们必须使用这些引脚与BMP180传感器相互作用。

需要组件

  • ESP32 Devkit开发委员会
  • BMP180压力和温度传感器(模块)
  • 16×2 LCD
  • PCF8574 I2C LCD模块
  • 面包板
  • 连接电线
  • 微型USB电缆

电路原理图

下图显示了ESP32和BMP180之间的连接。BMP180模块具有车载3.3V调节器。因此,您可以用5V为董事会供电。连接vBMP180到ESP32板的VIN。还将BMP180的GND引脚连接到ESP32的任何GND引脚。

现在,来到我2C引脚,将SDA连接到ESP32的GPIO 21(板上标记为D21),将SCL连接到GPIO22(标记为D22)。这完成了所有连接。

ESP32-BMP180电路

准备Arduino IDE

您需要下载一个与BMP180传感器关联的库,以便ESP32与传感器进行正确通信。转到工具 - >在Arduino IDE中管理库…。

BMP180-图1

在搜索栏中,输入“ BMP180”,然后安装Adafruit的“ Adafruit BMP085库”。

BMP180-图2

在串行显示器上显示压力和温度

在建立正确的连接并如上所述安装必要的库后,我们将看到如何使用ESP32读取BMP180传感器的压力和温度数据,并在串行显示器上显示结果。

代码

BMP180传感器使用i2C与微控制器通信的C总线。我编写了一个简单的代码,该代码将初始化BMP180传感器并读取传感器的压力和温度数据。

为了查看结果,我只是使用串行监视器将HPA中的压力值和摄氏度的温度打印。

ESP32-BMP180-Image-3

下图显示了串行显示器的屏幕截图,该串行显示器每3秒连续打印压力和温度读数。

ESP32-BMP180串行

ESP32 BMP180与我2C LCD

在串行监视器上显示BMP180传感器的压力和温度数据仅对于测试连接和代码本身而言。要构建实用的“嵌入式系统”应用程序,您必须使用某种形式的显示模块(OLED,16×2字符LCD,诺基亚5110 LCD,图形LCD等)来查看压力和温度读数。

我使用了常规的16×2字符LCD显示模块与PCF8574 I2C LCD模块结合使用,以显示ESP32 BMP180传感器接口的压力和温度读数。

我对如何使用i进行了专门的教程2C LCD与ESP32。查看该教程以获取深入的信息。我还讨论了您已下载的必要库,以成功将I2C LCD与该教程中的ESP32连接起来。

笔记:我还解释了如何获得我的奴隶地址2该教程中的C LCD模块。此步骤非常重要。

电路原理图

您需要的其他组件是16×2 LCD显示屏和I2C LCD模块(基于PCF8574)。插入16×2 LCD显示屏背面的I2C LCD模块。I2C LCD模块仅需要四个连接(其中两个是用于电源,两个用于数据)。

以下电路图显示了ESP32和I2C LCD模块以及ESP32和BMP180压力和温度传感器之间的所有必要连接。

ESP32-BMP180-LCD电路

代码

I2C LCD的ESP32 BMP180传感器接口的代码非常简单。传感器的初始化部分与先前的代码相似。另外仅添加了与LCD相关的代码。

ESP32-BMP180-Image-1

结论

这里实施了有关将BMP180压力传感器与ESP32接口的完整初学者指南。您了解了有关BMP180传感器的一些基本信息,ESP32 BMP180传感器接口如何工作,与BMP180通信的必要库,如何在串行输出上显示压力和温度数据,以及如何将I2C LCD与ESP32连接到ESP32以及显示压力和温度读数。

就使用ESP32和BMP180传感器的基于Web的压力和温度监控系统而言,我将在短期内使用Web服务器代码更新此页面。

一个回应

发表评论

您的电子邮件地址不会被公开。

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map