文章目录[隐藏]
在这个项目中,我们将看到如何将I2C LCD与Arduino连接通讯。我们已经看到了如何将常规的:16×2 LCD与Arduino接口。通过将I2C LCD与Arduino一起使用,您可以保留Arduino UNO的所有数字I / O引脚,并通过I2C Communication与LCD一起使用。
下图所示的字母数字字符LCD是许多DIY项目中经常使用的组件之一。它通常与Arduino一起使用,以显示各种信息,例如传感器读数,GSM模块的消息或任何状态信息。
连接16×2或20×4字符LCD的最简单方法是选择所需大小的LCD模块,然后以4位模式将其连接到Arduino UNO。但是此设置的主要缺点是,即使在4位模式下,LCD也需要Arduino的6个数字IO引脚才能正常通信。
如果您的项目需要与多个传感器和其他IO设备接口,那么您可能需要尽可能多的Arduino IO引脚。如果LCD本身利用了可用的13个数字IO引脚中的6个,那么您只剩下7个用于连接其他组件的引脚。
解决方案是在Arduino上使用I2C LCD。为此,将基于I2C的GPIO扩展器与常规的16×2字母数字字符LCD配合使用。
下图显示了基于PCF8574 IC的模块,该模块专门配置用于LCD显示器。
您可以将此模块直接插入常规LCD的引脚,并通过与Arduino(或任何微控制器)的I2C通信来传输数据。
PCF8574是基于I2C的I / O扩展器IC,可为具有I2C接口的微控制器提供8位I / O扩展。仅使用I2C接口的两行,即SDA(串行数据)和SCL(串行时钟),就可以配置8个双向I / O引脚。
注意:将提供有关PCF8574 GPIO扩展器的单独教程。因此,我将在该教程中提供有关PCF8574 IC的更多详细信息。
带有Arduino的I2C LCD的电路图
下图显示了将I2C LCD与Arduino连接的电路图。
所需组件
-
Arduino UNO
-
16×2液晶显示器
-
PCF8574 I2C液晶背包
-
连接线
电路连接
首先,将PCF8574模块插入LCD显示器背面。检查两个模块的引脚。使用以下图像作为参考。
除了实验板,我们还需要ICD2(在线调试编程器),这个装置具有调试编程二合一的功能,利用它的调试功能,我们可以快速方便的查找程序中的错误,而利用它的编程功能,可以将调试无误的程序最终烧写到单片机内部。
通常,I2C引脚从LCD模块中出来,以便与Arduino轻松连接,如下图所示。
将I2C模块连接到LCD后,将PCF8574模块的GND和VCC引脚连接到Arduino的GND和5V引脚。最后是SDA和SCL引脚。将它们分别连接到Arduino UNO的A4和A5引脚。
代码:I2C从站地址代码
I2C通信中的重要步骤是弄清从设备的地址。基于PCF8574 IC的A0,A1和A2引脚,I2C从模块的地址是固定的。
不用从数据表中计算从设备地址,而是让我们使用一个简单的Arduino代码确定地址并将其显示在串行终端上。首先,按照上面的电路图进行连接。
然后上传以下代码以查看I2C从设备地址。
上载代码后,打开串行监视器,并将波特率设置为9600。在我的情况下,地址为0X3F。因此,在实际编程中(要在LCD上显示内容),我必须使用此地址。
LCD显示代码
在进入代码之前,您需要一个名为“ LiquidCrystal_I2C”的特殊库。它基于我们通常使用但针对I2C通信进行了修改的“ LiquidCrystal”库。您可以从下载库这个链接(https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library)。这里可以直接下载I2C库,长按二维码可直接进入:https://www.lanzous.com/iawj0lc
下载zip文件,解压缩内容并将目录重命名为“ LiquidCrystal-I2C”,然后将该文件夹放置在Arduino安装的库中(通常是C:\ Program Files(x86)\ Arduino \ libraries)。
以下是用于在LCD模块上显示文本的简单测试代码。
工作中
该项目的工作非常简单。它只是LCD扩展的I2C协议。由于I2C总线上的从站地址很重要,因此在计算它们时要非常小心,因为它们直接在程序中使用。除了I2C从站地址外,LCD的所有其他功能与常规LCD库类似。
应用领域
-
通过使用基于I2C的LCD,与LCD通信所需的数字IO引脚数将变为零。这将有助于将其他传感器和执行器连接到微控制器(在本例中为Arduino)。
-
由于使用的通信是I2C,因此您可以在同一I2C总线上最多连接8个类似的LCD显示器。这可以通过修改每个LCD的PCF8574 IC的地址引脚来实现。
除了上述单片机,比较常用还有AVR单片机、MSP430、飞思卡尔单片机,这些单片机都是8或16位单片机。你到公司就职,公司的项目用到什么单片机,你就得学什么单片机。如果你有不错的单片机基础,接触一款新的单片机,稍微看看单片机手册,看下对应的例程,两三天能上手。