Arduino液晶教程

在这个Arduino LCD教程中,我们将学习如何连接LCD(液晶显示器)到Arduino板。像这样的液晶显示器非常受欢迎,在电子项目中广泛使用,因为它们可以很好地显示来自项目的传感器数据等信息,而且必威lol它们非常便宜。bet188me

你可以观看下面的视频或阅读下面的书面教程。

LCD引出线


它有16个引脚,第一个从左到右是接地引脚。第二个引脚是VCC我们连接Arduino板上的5伏引脚。接下来是Vo引脚,我们可以附加一个电位器来控制显示的对比度。

接下来,RS引脚或寄存器选择引脚用于选择我们将发送命令或数据到液晶屏。例如,如果RS引脚设置在低状态或零电压,然后我们发送命令给液晶屏,如:设置光标到一个特定的位置,清除显示,关闭显示,等等。当RS引脚设置在高状态或5伏时,我们向LCD发送数据或字符。

液晶线图

接下来是R / W引脚,它选择我们将读取或写入液晶显示器的模式。这里的写模式是明显的,它被用来写或发送命令和数据到LCD。读取模式是在执行程序时由LCD本身使用的,我们不需要在本教程中讨论它。

下一个是允许写入寄存器的E引脚,或者从D0到D7的下一个8个数据引脚。所以通过这个引脚,我们发送8位数据当我们写入寄存器时,例如,如果我们想在显示器上看到后面的大写字母A我们将发送01000001到寄存器根据ASCII表。最后两个引脚A和K,也就是阳极和阴极是用于LED背光的。

毕竟,我们不必太担心液晶显示器的工作方式,因为液晶库几乎负责所有事情。在Arduino的官方网站上,你可以找到并看到该库的功能,使LCD易于使用。我们可以在4位或8位模式下使用该库。在本教程中,我们将在4位模式下使用它,或者我们将只使用8个数据引脚中的4个。

组件需要这个Arduino LCD教程


你可以从下面的任何网站获得这些组件:

必威外围提钱披露:这些是附属链接。作为一名亚马逊助理,我的收入来自符合条件的购买。

电路原理图


我们将使用Arduino板上的6个数字输入引脚。LCD从D4到D7的寄存器将连接到Arduino从4到7的数字插脚。使能引脚将连接到引脚2,RS引脚将连接到引脚1。R/W引脚将连接到地面,Vo引脚将连接到电位器。

Arduino LCD教程电路原理图

源代码


我们需要做的第一件事是插入液晶库。我们可以这样做:素描>包括图书馆>液晶。然后我们必须创建一个LC对象。该对象的参数应该是Arduino板上的数字输入引脚对LCD引脚的编号,分别为(RS, Enable, D4, D5, D6, D7)。在设置中,我们必须初始化LCD的接口,并使用开始()函数。

在循环中,我们编写主程序。使用print()函数可以在LCD上打印。的setCursor ()功能用于设置写入LCD的后续文本的显示位置。的眨眼()功能用于显示闪烁的光标和noBlink ()关闭功能光标()函数用于显示下划线光标和noCursor ()关闭功能。使用clear ()功能:我们可以清除液晶屏幕。

这是视频中第一个例子的源代码:

/* * Arduino LCD教程* *由Dejan Nedelkovski创建,* www.HowToMechatronicsbet188官方网站.com * */ #include <液晶。h> //包含液晶库lcd(1,2,4,5,6,7);//创建一个LC对象。参数:(rs, enable, d4, d5, d6, d7) void setup() {lcd.begin(16,2);//初始化LCD屏幕的接口,并指定显示的尺寸(宽度和高度)}}//在LCD延时(3000)上打印"Arduino";// 3秒延时lcd.setCursor(2,1);//设置写入LCD的后续文本将在LCD上显示的位置。打印(“LCD教程”);延迟(3000);lcd.clear ();//清除显示器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来指定字符的外观。在设置中,我们必须使用createChar ()函数。这个函数的第一个参数是一个0到7之间的数字,否则我们必须保留支持的8个自定义字符中的一个。第二个参数是字节数组的名称。函数将自定义字符写入显示write ()函数,并使用字符的编号作为参数。

下面是第二个自定义字符示例的源代码:

# include < LiquidCrystal。h>字节斜杠[8]={//字节数组B00001, // B表示二进制格式化器,5个数字为像素B00010, B00100, B01000, B10000, B00000, B00000, B00000,};液晶显示(1,2,4,5,6,7);//创建一个LC对象。参数:(rs, enable, d4, d5, d6, d7) void setup() {lcd.begin(16,2);//初始化LCD屏幕的界面,并指定显示LCD的尺寸(宽度和高度)。createChar(7、削减);//创建一个自定义字符在LCD上使用。最多支持8个5x8像素的字符}void loop() {for(int i=0;i<=15;i++) {lcd.setCursor(i,0);//设置写入LCD的后续文本显示的位置LCD .write(7);//写入一个字符到LCD延时(1000); // 1 second delay lcd.clear(); // Write a character to the LCD } }

请在下面的评论部分提出任何问题。

24的反应

  1. 布莱恩

    非常感谢!我用自己的双手学到了很多东西,你为我做了完美的!再次感谢! !

    回复
  2. 玛丽亚

    avrdude: ser_open(): can 't open device " \\。\COM13 ":系统无法找到指定的文件。

    有一个错误。如何解决这个问题。

    回复
  3. lioooo

    我们能永久打印一些东西吗?我的意思是重启LCD后它会再次显示在LCD上?
    并且在再次运行程序之前不会再改变吗?

    回复
    • 德扬Nedelkovski

      并非如此,您可以永久打印一些东西,但可以确定的是,即使在重新启动LCD后,您也可以制作一个代码来显示您想要的东西,例如,使用Arduino的EEPROM,它可以在断电时存储数据。

      回复
  4. 哈姆萨

    我做到了!终于,它起作用了!
    但是你不应该直接把阳极连接到Vcc上,因为有一个LED,所以可能会烧了它。你需要一个220欧姆的电阻,你可以增加你想要一个更暗的背光的电阻。我把我的电阻器连接到PMW端口来控制代码中的背光。

    回复
  5. 约翰•麦格劳

    没有编写代码的经验,但您已经使其更容易理解的基础,TY Dejan!

    回复
  6. 我总是提到

    对于那些没有电位器的人,电位器是可选的,你可以使用' analogWrite() '函数:

    无效的设置(){
    一些代码;
    analogWrite(你的VO pin, 50);
    这里也有一些代码;
    }

    回复
  7. 郑伊健

    你好!我知道这是晚了,但我必须问这个问题,我的液晶只显示蓝色屏幕,我检查电线无数次,试图调整电位器,但没有工作。我希望你能帮助我

    回复
    • 德扬

      嘿,好吧,你已经尝试过推荐的东西,当涉及到这个问题时,只有蓝屏。通常是对比的问题,但你说你试过用电位器。也试着用两个电阻器做3.3v的分压器。问题也可能是其他的东西,也许你的LCD有一个不同的驱动程序在它的板上,可能不兼容这个例子,我不知道,也许。或者,你的液晶显示器有问题。

      回复

留下一个回复

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

推荐

2019年最佳入门级示波器为初学者和爱好者

最好的示波器为初学者和爱好者

推荐

8个最好的Arduino入门工具包,适合2019年初学者

8个最好的ARDUINO初学者工具包

推荐

最好的3D打印机为初学者和爱好者- 3D打印

最好的3D打印机为初学者和业余爱好者