Arduino使用16×2点阵的液晶显示屏

LCD可以做非常多有趣的事情,非常有用,现在让我们一起学习怎么用arduino驱动它。

有很多LCD板没有装引脚,需要我们把引脚焊上去,如果有引脚头和电焊机,这并不困难。如果你的LCD有引脚,可以跳过焊接引脚的部分。

我们需要在电路中装一个电位器来调节显示器的亮度,如果你发现lcd什么也不显示,或者看起来不太正常,可以试着调一下电位器看看。

设备清单

  • Arduino Uno
  • 16×2 LCD 显示器模块
  • 引脚
  • 面包板
  • 面包板连线
  • 10k欧姆的电位器

焊接液晶板引脚

Arduino液晶显示的电路是简单的,让人困扰的地方是要接很多线。

  1. 将头顶针放好,让短的一面从展示板上的孔中伸出来。
  2. 现在把引脚一个接一个地焊接,确保不要不小心把两个引脚连接在一起。如果你真的把两个引脚连接在一起了,那么就把焊料融化,然后用吸锡器吸锡。
  3. 做完之后就是下面的样子

arduino-lcd-16x2/LCD-Display-Solder

Arduino LCD电路

下面是连接显示器的步骤,你可以在步骤的下面看到完整的电路图。

  1. 首先,将Arduino的5V引脚与面包板上的正线连接。
  2. 将接地引脚与面包板上的地线连接。
  3. 将电位器连接到面包板上,并将正极引脚与正极轨相连。同时,将地线引脚与地线轨相连。
  4. 将下列导线接在液晶屏上,引脚1最靠近电路板边缘。
  • 接地线至LCD的1号引脚、5号引脚和16号引脚。
  • 正极5v轨至LCD的2号针脚和15号针脚。
  • 将电位器的中间线连接到LCD的3号针脚。
  1. 将以下Arduino数字引脚连接到LCD的引脚
  • 引脚12至引脚4
  • 11针至6针
  • 5号针至11号针
  • 4号针至12号针
  • 3号针至13号针
  • 2号针至14号针

完整电路图:

Arduino-LCD-Display-Circuit-Diagram

编码控制显示器的显示

与显示器通信的代码并不复杂,主要归功于Limor Fried的库,这个库已经包含在Arduino的主库中了。

要找到它,请到File->Examples->LiquidCrystal,里面还包含了一些代码示例。

首先,建议看一下hello世界的例子。这个例子的代码如下。

// include the library code:
#include <LiquidCrystal.h>

//initialise the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop() {
  // set the cursor to column 0, line 1
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis() / 1000);
}

设置LCD

在代码中,你需要设置一个类型为LiquidCrystal的变量。代码如下。

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

参数传递的数字是我们在显示板上连接的Arduino引脚号。下面再次以函数为例,它包含了LCD上对应的引脚。

LiquidCrystal(rs, enable, d4, d5, d6, d7)

液晶板的数据表将包含引脚号和类型。例如,下面是我的板子的数据表。(DB4 = D4, E = 启用,以此类推)

lcd-display-datasheet-part

上述功能可以扩展到总共8条数据线的读取。

LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7)

lcd.begin位于上述代码中的setup函数中,用于初始化LCD的接口。在这里你需要指定显示器上有多少列和多少行。

例如,我的显示器有16列和2行。这意味着我们需要设置为16列作为第一个参数,2列作为第二个参数 lcd.begin(cols, rows)

LCD的基本方法

如果你需要清除显示器,调用方法lcd.clear(); 这会擦除显示器,就可以在上面显示一个新的值。确保你事先有一个延迟,这样你就能看到屏幕上显示的东西。

如果你想把光标移回原点而不是清除显示,那么lcd.home();会把光标移到1号位置。

如果你想在LCD显示屏上打印一个字符串,那么打印方法就是你所需要的。只需像这样调用 lcd.print(“My String”)就可以了。

最后一个我将提到的基本方法叫做write方法。这个方法是用来将一个字符写到屏幕上。很像print,只需像这样调用它: lcd.write(‘I’)。

LCD的额外功能

以下是目前Arduino LCD显示的几乎所有方法。如果你想了解更多关于这些功能的信息,那么你可以在Arduino的官方网站上找到完整的文档。

Auto-acroll 自动滚动,向左或向右移动文字 autoscroll(): 每当添加一个新的字符时,会将文本向左移动一个空格 noAutoscroll():关闭自动滚动

Cursor 关闭和开启下划线光标 noCursor(): 关闭下划线光标 Cursor(): 打开下划线光标

Blink 打开和关闭光标, 开启或关闭光标的闪烁 noBlink(): 关闭闪烁 blink(): 打开闪烁

Display 在不丢失当前文本的情况下使显示变为空白 noDisplay(): 关闭显示 display(): 打开显示

Scroll 滚动, 允许向左或向右滚动文字。 scrollDisplayLeft():将向左滚动一个位置 scrollDisplayRight():将向右滚动一个位置

Serial Display 串行显示,可以设置板子接受来自串口显示器之类的串行输入,你可以将通过串口发送的文本打印在屏幕上 write(Serial.read())

Set Cursor 设置光标,将光标设置到特定的位置,(列,行) setCursor(0, 0):将光标设置为左上角 setCursor(15, 1):将光标设置为右下角

Text Direction 文本方向,设置文本从光标的那个方向流动 rightToLeft():强制让文字从光标的左边流向左边 leftToRight():强制文本从光标的右边流过

更深一步

有很多事情,可以用液晶屏来做。我将在下面谈一谈我想在未来的一些想法。

你可以做的一件事是将这个LCD项目与温度传感器捆绑在一起,让你的鱼缸、冰箱、房间、室外或任何你想知道温度的地方都有一个数字温度显示器。

如果你打算做一个Arduino时钟,你可能会想使用其中的一个。与温度传感器和一个按钮捆绑在一起,你可以制作一个智能时钟,在这里你可以按下一个按钮来获得当前的温度。更进一步的做法是添加一个扬声器,让它也能作为一个闹钟。

我之前已经介绍过一个Arduino骰子电路,但你可以用LCD来显示滚动结果,而不是用LED来代替。只要保留开关,其余的部分用屏幕代替就可以了。

现在,希望你的LCD显示器已经正常工作了,如果有什么疑问请留言讨论。

平均: 0 / 5. votes: 0

到目前为止还没有投票!成为第一位评论此文章。

欢迎转载,请留下出处链接:Labno3 » Arduino使用16×2点阵的液晶显示屏

赞 (0)

评论

5+4=