在此Arduino LCD教程中,我们将学习如何将LCD(液晶显示器)连接到Arduino板。LCD这样的LCD非常受欢迎和广泛用于电子项目,因为它们有助于显示来自项目的传感器数据等信息,并且它们非常yabo7. com便宜。足彩网女欧洲杯
您可以观看以下视频或阅读下面的书面教程。
它有16个引脚,第一个从左到右是接地引脚。第二个引脚是VCC我们连接Arduino板上的5伏引脚。接下来是Vo引脚,我们可以附加一个电位器来控制显示的对比度。
接下来,RS引脚或寄存器选择引脚用于选择我们将发送命令或数据到液晶屏。例如,如果RS引脚设置在低状态或零电压,然后我们发送命令给液晶屏,如:设置光标到一个特定的位置,清除显示,关闭显示,等等。当RS引脚设置在高状态或5伏时,我们向LCD发送数据或字符。

接下来是R / W引脚,它选择我们将读取或写入液晶显示器的模式。这里的写模式是明显的,它被用来写或发送命令和数据到LCD。读取模式是在执行程序时由LCD本身使用的,我们不需要在本教程中讨论它。
接下来是e引脚,其使写入寄存器或从D0到D7的接下来的8个数据引脚。因此,通过此引脚我们在写入寄存器时发送8位数据,或者例如,如果我们想看到显示屏上的后一个大写A,我们将根据ASCII表向寄存器发送0100 0001。
和最后两个引脚A和K,或阳极和阴极用于LED背光。
毕竟,我们不必太担心液晶显示器的工作方式,因为液晶库几乎负责所有事情。在Arduino的官方网站上,你可以找到并看到该库的功能,使LCD易于使用。我们可以在4位或8位模式下使用该库。在本教程中,我们将在4位模式下使用它,或者我们将只使用8个数据引脚中的4个。
此Arduino LCD教程所需的组件
您可以从下面的任何网站获取这些组件:
- 16×2字符液晶 ..........................亚马逊/伯格多德
- 电位器.................................。亚马逊/伯格多德
- Arduino电路板 .................................亚马逊/伯格多德
- 面包板和跳线.........亚马逊/伯格多德
yaboAG娱乐城披露:这些是附属链接。作为一名亚马逊助理,我的收入来自符合条件的购买。
电路原理图
我们将使用Arduino板上的6个数字输入引脚。LCD从D4到D7的寄存器将连接到Arduino从4到7的数字插脚。使能引脚将连接到引脚2,RS引脚将连接到引脚1。R/W引脚将连接到地面,Vo引脚将连接到电位器。

源代码
我们需要做的第一件事是插入液晶库。我们可以这样做:草图>包括库>液晶。然后我们必须创建一个LC对象。此对象的参数应分别为LCD引脚的Arduino板的数字输入引脚的数量,如下所示:( RS,ENABLE,D4,D5,D6,D7)。在设置中,我们必须将接口初始化为LCD,并使用该显示器指定显示的尺寸开始()函数。
在循环中,我们编写了我们的主程序。使用PRINT()函数我们在LCD上打印。这setCursor()函数用于设置将显示写入LCD后续文本的位置。这眨眼()功能用于显示闪烁的光标和noblink()关闭功能。这光标()函数用于显示下划线光标和noCursor ()关闭功能。使用clear ()功能:我们可以清除液晶屏幕。
以下是来自视频的第一个示例的源代码:
/ * * arduino液晶教程* *由dejan nedelkovski叮叮当大号,* www.howtomechatroni亚搏手机版官方下载cs.com * * / #include//包括液晶库液晶LCD(1,2,4,5,6,7);//创建一个LC对象。参数:( RS,ENABLE,D4,D5,D6,D7)void setup(){lcd.begin(16,2);//初始化接口到LCD屏幕,并指定显示}} void循环(){lcd.print(“arduino”)的尺寸(宽度和高度);//打印LCD延迟(3000)的“Arduino”;// 3秒延迟lcd.setcursor(2,1);//设置将显示到LCD的后续文本的位置将显示LCD.Print(“LCD教程”);延迟(3000);lcd.clear();//清除display lcd.blink(); //Displays the blinking LCD cursor delay(4000); lcd.setCursor(7,1); delay(3000); lcd.noBlink(); // Turns off the blinking LCD cursor lcd.cursor(); // Displays an underscore (line) at the position to which the next character will be written delay(4000); lcd.noCursor(); // Hides the LCD cursor lcd.clear(); // Clears the LCD screen }
也可以向LCD写入自定义字符。它支持最多8个字符5×8像素。我们可以通过一个8字节的数组来指定每个字符的外观。在下面的源代码中,我们可以注意到如何通过将表示5×8像素的0更改为1来指定字符的外观。在设置中,我们必须使用crectechar()函数。此函数中的第一个参数是0到7之间的数字,或者我们必须保留8个支持的自定义字符之一。第二个参数是字节数组的名称。我们使用使用的显示器向显示器编写自定义字符write ()功能和作为参数,我们使用字符的数量。
以下是自定义字符的第二个示例的源代码:
#include字节斜杠[8] = {//字节数组B00001,// B代表二进制格式化器,5个数字是像素B00010,B00100,B01000,B10000,B00000,B00000,B00000,};液体LCD(1,2,4,5,6,7);//创建一个LC对象。参数:( RS,ENABLE,D4,D5,D6,D7)void setup(){lcd.begin(16,2);//初始化界面到LCD屏幕,并指定显示LCD.CreateChar(7,斜杠)的尺寸(宽度和高度);//创建一个自定义字符以用于LCD。支持最多八个字符的5x8像素} void循环(){for(int i = 0; i <= 15; i ++){lcd.setcursor(i,0);//设置写入LCD的后续文本的位置将显示LCD.WRITE(7);//将字符写入LCD延迟(1000);// 1秒延迟lcd.clear(); // Write a character to the LCD } }
请在下面的评论部分提出任何问题。





太感谢了!手中的李尔没有好得多,你让它完美!再次感谢!!!
听你这么说我很高兴。不客气!
我非常感谢液晶显示器的视频。我想知道你是否已经为液晶显示器上传了视频,但是i2c模块的概念?如果如此友好地传递给我一个链接(URL)
谢谢。对不起,但我还没有这样的教程。
为什么将DOE不编译的代码...... ???
代码运行正常。你可能做错了什么。得到的误差是多少?
奇怪的是使用D1引脚,
这是想要的还是特定于卢比的功能主义?
avrdude:ser_open():无法打开设备“\\。\ com13”:系统找不到指定的文件。
有一个错误。如何解决这个问题。
检查您的COM端口号。
先生,如果使用i2c,代码是什么?
这将是不同的。我没有那个代码。
我们能永久打印一些东西吗?我的意思是重启LCD后它会再次显示在LCD上?
在你再次运行编程之前再也没有改变了?
不是真的,你可以永久打印一些东西,但是当然,即使在重启LCD之后,也可以制作一个代码,例如,使用可以在电源关闭时存储数据的Arduino的EEPROM后,即使在重新启动LCD之后也可以显示所需的代码。
我做到了 !最后,它正在工作!
但是你不应该直接将阳极连接到VCC,因为有一个LED,所以可能会烧掉它。您需要220欧姆的电阻,您可以增加您想要调光的背光的阻力。我将电阻连接到PMW端口以控制代码的背光。
很好,将背光控制连接到PMW端口和电阻器是很酷的主意。
没有写作代码的经验,但你让你更容易理解基础知识,Ty dejan!
我很高兴听到这个。谢谢。
非常感谢你的工作!
为什么要用电位器,可以把电位器去掉吗?
是的,您可以删除它,但您需要将两个电阻设置为分压器,以获得正确的电压以获得LCD的正确对比度。
对于那些没有电位器的人,电位器是可选的,你可以使用' analogWrite() '函数:
void setup(){
这里有一些代码;
Amplwwrite(你的Vo Pin,50);
这里的一些代码;
}
我非常感谢能够理解如何使用LCD的帮助!
你好!我知道这是迟到的,但我必须问这个问题,我的液晶只显示蓝屏,我检查了电线吨,并试图调整电位计但不起作用。我希望你能帮助我
嘿,好吧,你已经尝试了推荐的东西,谈到这个问题,只有蓝屏。往往是对比的问题,但你说你已经尝试过电位器。通过使用两个电阻制作3.3V分压器,请尝试。问题可能是别的东西,也许你的液晶显示器在其板上有一个不同的驱动程序,可能与这个例子不兼容,我不知道。或者,您的液晶显示器是有问题的。