在这个项目中,我们将学习如何使用ESP32开发板接口PCF8574 I2C LCD。我们将看到如何配置i2在ESP32中的C引脚,下载Arduino IDE的必要库,了解ESP32 I2C LCD接口的工作方式,并在16×2 LCD上显示一些数据。
如果要将I2C LCD与ESP8266 Nodemcu板连接,那么我为此进行了单独的教程。看看这个。
介绍
有许多显示设备如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总线将数据发送到显示。
如果您注意到这款I2C LCD模块的电路板布局和引脚,您可以观察到它是常规IO扩展模块的修改版本,也基于PCF8574 IC。
该I2C LCD模块包括锅,以调整LCD和SDA和SCL线的LCD和上拉电阻的对比度。因此,您不需要任何其他连接。
只需在16×2 LCD背面插入I2C LCD模块,并在微控制器和I2C LCD模块之间进行连接。就是这样。
ESP32 I2C LCD接口
我们需要弄清楚ESP32 I2C LCD接口的第一件事就是我2ESP32的C引脚。如果您记得,在ESP32引脚教程中,我提到ESP32微控制器有两个2C接口和任何GPIO引脚都可以配置为用作I2C引脚。
但是在使用所有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接口的电路图。
准备Arduino IDE
您必须下载一个名为“LiquidCryStal_I2C”的库,以便使用I2C LCD模块。如果您已安装此库,则可以跳过此步骤。如果没有,那就跟随。打开Arduino IDE并通过选择Tools - >管理库来打开库管理器。。。
将在“库管理器”窗口打开后,搜索“FilementCryStal I2C”并由Frank de Brabander安装库“LiquidcryStal I2C”。还有其他图书馆为I2C LCD。你也可以尝试一下。
关闭图书馆经理。根据电路图制作所有必要的连接,并将ESP32板插入计算机。在Arduino IDE中,选择正确的板(ESP32 DEV模块),也可以是正确的COM端口。
找到I2C LCD模块的从地址
因为我们正在与我合作2C接口,从地址是我们需要注意的重要事项之一。在这里,ESP32微控制器是主设备,PCF8574 I2C LCD模块是从设备。
您可以参考PCF8574 IC的数据表并计算从地址,但现在我们将以简单的方式使用即将自动确定从地址的小程序。
事实上,我们使用与Arduino和ESP8266的相同代码,为其他我2C相关项目。在ESP32和I2C LCD模块之间进行所有必要的连接后,上传以下代码并打开Arduino IDE的串行监视器。
您可以从串行监视器的屏幕截图看,PCF8574 I2C LCD模块的从地址为0x3F。
显示简单的文本
让我们使用此从地址,并使用I2C LCD模块在16×2 LCD显示屏上显示一些基本文本。使用以下代码并查看输出。
代码
显示ADC导致LCD
对于下一个代码,让我们制作一个涉及eSP32电位器和ADC的小型电路。我将10kΩ锅连接到ESP32的ADC 2通道3。它与GPIO 15引脚(ESP32 Devkit板上的D15)相关联。
在代码中,I配置GPIO 15作为模拟输入引脚,并显示LCD上的ADC的结果。
电路原理图
以下图像显示了用于将10kΩ电位器连接到ESP32开发板的电路图,并在I2C LCD上显示ADC的结果。
代码
结论
具有ESP32开发板的PCF8574 I2C LCD模块的简单教程。你了解了I2C LCD模块的重要性,我2C引脚在ESP32上,ESP32 I2C LCD接口如何工作以及如何在LCD上显示一些文本。
您甚至可以显示一些特殊字符或制作滚动文本。
一个反应
最好使用电平移位器将5.0 VDC TTL设备接口到3.3VDC ESP处理器否则您运行销毁ESP32设备的可能性