与ESP32接口I2C LCD |ESP32 I2C LCD教程

在这个项目中,我们将学习如何使用ESP32开发板接口PCF8574 I2C LCD。我们将看到如何配置i2在ESP32中的C引脚,下载Arduino IDE的必要库,了解ESP32 I2C LCD接口的工作方式,并在16×2 LCD上显示一些数据。

如果要将I2C LCD与ESP8266 Nodemcu板连接,那么我为此进行了单独的教程。看看这个。

ESP32-I2C-LCD

介绍

有许多显示设备如OLED显示器,128×64图形显示,诺基亚5110显示等。但是为了显示简单的文本和数字,我们所需要的只是一个16×2或20×4字符显示。

16×2 LCD显示器的主要缺点是它需要至少6个微控制器的GPIO引脚才能正常运行。这甚至不是8位模式,而是降低了4位模式(添加了另外4个GPIO引脚,用于8位模式)。

使用MicroController的许多引脚仅适用于简单的字符LCD显示器,特别是如果您设计具有许多传感器和连接到微控制器的设备的项目,则不可取。

PCF8574 I2C LCD模块旨在克服此缺点。

关于PCF8574 I2C LCD模块的简要说明

顾名思义,PCF8574 I2C LCD模块是PCF8574 IC基于基于PCF8574 IC模块,旨在转换常规16×2(或20×4)字符LCD显示器2基于C的设备,而不是使用8位或4位并行接口发送数据,我们可以使用i2C总线将数据发送到显示。

PCF8574-I2C-LCD模块

如果您注意到这款I2C LCD模块的电路板布局和引脚,您可以观察到它是常规IO扩展模块的修改版本,也基于PCF8574 IC。

该I2C LCD模块包括锅,以调整LCD和SDA和SCL线的LCD和上拉电阻的对比度。因此,您不需要任何其他连接。

I2C-LCD-Module-16x2-LCD

只需在16×2 LCD背面插入I2C LCD模块,并在微控制器和I2C LCD模块之间进行连接。就是这样。

ESP32 I2C LCD接口

我们需要弄清楚ESP32 I2C LCD接口的第一件事就是我2ESP32的C引脚。如果您记得,在ESP32引脚教程中,我提到ESP32微控制器有两个2C接口和任何GPIO引脚都可以配置为用作I2C引脚。

ESP32-PINOUT.

但是在使用所有GPIO引脚以外的各种目的,如SPI,uart.,ADC等,GPIO 22和GPIO 21是免费的(没有任何重要的替代功能)。因此,在这个项目中,我们将使用GPIO 22作为SCL和GPIO 21作为IDA的SDA2C接口。

另一个重要的要点是,16×2 LCD在标准TTL电压水平上运行,即4.7V至5.3V。即使PCF8574 IC适用于此电压,我们也无法将3.3V作为VCC应用于I2C LCD模块。

因此,请记住这一点,下表显示了I2C LCD模块和ESP32之间的所有连接

PCF8574 I2C LCD模块

ESP32 Devkit.
GND.

GND.

vcc.

vin.
SDA.

GPIO 21(D21)

SCL.

GPIO 22(D22)

从表中可以看出,I2C LCD模块的VCC连接到ESP32开发板的VIN PIN。当ESP32通过USB供电时,这与USB电源连接到USB电源。所以,我们将在此引脚上达到5V。

所需的组件

  • ESP32 Devkit开发板
  • 16×2字符液晶显示屏
  • PCF8574 I2C LCD模块
  • 面包板
  • 连接电线
  • 微型USB电缆

电路原理图

以下图像显示了用于演示ESP32 I2C LCD接口的电路图。

ESP32-I2C-LCD电路

准备Arduino IDE

您必须下载一个名为“LiquidCryStal_I2C”的库,以便使用I2C LCD模块。如果您已安装此库,则可以跳过此步骤。如果没有,那就跟随。打开Arduino IDE并通过选择Tools - >管理库来打开库管理器。。。

I2C-LCD-ESP32-Arduino-IDE-1

将在“库管理器”窗口打开后,搜索“FilementCryStal I2C”并由Frank de Brabander安装库“LiquidcryStal I2C”。还有其他图书馆为I2C LCD。你也可以尝试一下。

I2C-LCD-ESP32-Arduino-IDE-2

关闭图书馆经理。根据电路图制作所有必要的连接,并将ESP32板插入计算机。在Arduino IDE中,选择正确的板(ESP32 DEV模块),也可以是正确的COM端口。

I2C-LCD-ESP32-Arduino-IDE-3

找到I2C LCD模块的从地址

因为我们正在与我合作2C接口,从地址是我们需要注意的重要事项之一。在这里,ESP32微控制器是主设备,PCF8574 I2C LCD模块是从设备。

您可以参考PCF8574 IC的数据表并计算从地址,但现在我们将以简单的方式使用即将自动确定从地址的小程序。

事实上,我们使用与Arduino和ESP8266的相同代码,为其他我2C相关项目。在ESP32和I2C LCD模块之间进行所有必要的连接后,上传以下代码并打开Arduino IDE的串行监视器。

I2C-LCD-Slave-Address

您可以从串行监视器的屏幕截图看,PCF8574 I2C LCD模块的从地址为0x3F。

显示简单的文本

让我们使用此从地址,并使用I2C LCD模块在16×2 LCD显示屏上显示一些基本文本。使用以下代码并查看输出。

代码

ESP32-I2C-LCD文本

显示AD​​C导致LCD

对于下一个代码,让我们制作一个涉及eSP32电位器和ADC的小型电路。我将10kΩ锅连接到ESP32的ADC 2通道3。它与GPIO 15引脚(ESP32 Devkit板上的D15)相关联。

在代码中,I配置GPIO 15作为模拟输入引脚,并显示LCD上的ADC的结果。

电路原理图

以下图像显示了用于将10kΩ电位器连接到ESP32开发板的电路图,并在I2C LCD上显示ADC的结果。

ESP32-I2C-LCD-ADC电路

代码

结论

具有ESP32开发板的PCF8574 I2C LCD模块的简单教程。你了解了I2C LCD模块的重要性,我2C引脚在ESP32上,ESP32 I2C LCD接口如何工作以及如何在LCD上显示一些文本。

您甚至可以显示一些特殊字符或制作滚动文本。

一个反应

  1. 最好使用电平移位器将5.0 VDC TTL设备接口到3.3VDC ESP处理器否则您运行销毁ESP32设备的可能性

发表评论

您的电子邮件地址不会被公开。必需的地方已做标记*

电子机器Favicon.
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map