在Raspberry Pi系列的上一个项目中,我向您展示了如何使用Raspberry Pi和Python程序眨眼。在该系列中展开,在这个项目中,我将向您展示与Raspberry Pi的16×2 LCD接口。
在此项目中,您可以看到将16×2 LCD与Raspberry Pi(例如电路图,组件,工作,Python程序和代码的说明)接口的所有步骤。
即使Raspberry Pi计算机能够执行许多任务,但它也没有显示在简单项目中的显示。16×2字母数字字符LCD显示是一种非常重要的显示类型,用于显示一些基本和重要信息。
Raspberry Pi和16×2 LCD显示屏的组合可以使用许多项目和应用。
在将16×2 LCD与Raspberry Pi接口之前,您需要了解如何以无头的方式设置覆盆子Pi(没有监视器和键盘)。
关于16×2 LCD的简短说明
16×2 LCD是业余爱好者,学生甚至电子专业人员中最受欢迎的显示模块之一。它支持每行16个字符,并有两个这样的行。市场上几乎所有16×2 LCD显示模块都基于日立的HD44780 LCD控制器。
通常,16×2 LCD模块由16个引脚组成。下表显示了16×2 LCD显示模块的引脚描述。
引脚号 | 姓名 | 功能 |
1 | VSS | gnd |
2 | VDD | +5V |
3 | vo | 对比度调整引脚 |
4 | 卢比 | 0时命令寄存器;和数据注册1时 |
5 | r/w | 0写;1读 |
6 | e | 当给出高低脉冲时,将数据发送到数据引脚 |
7 | DB0 | 数据别针 |
8 | DB1 | 数据别针 |
9 | DB2 | 数据别针 |
10 | DB3 | 数据别针 |
11 | DB4 | 数据别针 |
12 | DB5 | 数据别针 |
13 | DB6 | 数据别针 |
14 | DB7 | 数据别针 |
15 | 一个 | LED背光(+5V) |
16 | k | LED背光(GND) |
16×2 LCD与Raspberry Pi接口的电路图
上表中的引脚描述显示16×2 LCD具有8个数据引脚。使用这些数据引脚,我们可以在8 - 位模式或4位模式下配置16×2 LCD。我将显示两个模式的电路图。
油条电路
在8 - 位模式下,所有8个数据引脚即D0到D7用于传输数据。这种类型的连接需要在Raspberry Pi上更多的引脚。因此,我们选择了4-1位LCD模式。电路图(带有油条零件)如下所示。
电路原理图
下图显示了该项目的特征电路的接线图,即4 - 位模式下的LCD。在此模式下,仅使用4个数据引脚即D4到D7的LCD。
笔记:在这个项目中,我们使用了16×2 LCD显示屏的4个位模式。此处解释的Python代码也与此配置有关。如果在8 - 位模式下配置电路,则需要在Python程序中进行一些修改。
需要组件
- Raspberry Pi 3型B(任何覆盆子PI)
- 16 x 2 LCD模块
- 10kΩ电位器
- 迷你面包板
- 连接电线(跳线)
- 5V - 2A电源
- 其他(计算机,以太网电缆等)
电路设计
将16×2 LCD与Raspberry Pi接口的电路设计非常简单。首先,将LCD的引脚1和16连接到GND,并将销钉2和15至5V电源连接起来。
然后将10kΩ电位器连接到LCD的引脚3,这是对比度调节引脚。LCD的三个控制引脚即RS(引脚4),RW(引脚5)和E(引脚6)连接到GPIO引脚7(物理引脚26),GND和GPIO引脚8(物理引脚24)。
笔记:使用BCM编号方案表示Raspberry Pi引脚的编号。
现在,LCD的数据引脚。由于我们以4 - 位模式配置LCD,因此我们只需要4个数据引脚(D4至D7)。LCD的D4连接到GPIO25(物理引脚22),D5与GPIO24(物理引脚18),D6与GPIO24(物理引脚16)和D7与GPIO18(物理引脚12)。
Python与Raspberry Pi接口16×2 LCD的接口程序
项目的工作和代码解释
如何操作该项目?
将16×2 LCD与Raspberry Pi接口的项目的工作非常简单。根据电路图进行连接后,使用窗户中的putty这样的SSH客户端登录到Raspberry Pi。
另外,您可以使用任何VNC查看器软件,例如RealVNC。(注意:我使用了RealVNC软件来访问我的个人计算机上的Raspberry Pi的桌面)。
我在Raspberry Pi的桌面上创建了一个名为“ Python_progs”的文件夹。因此,我将保存我的Python程序,用于将16 x 2 LCD与Raspberry Pi接口。
使用终端中的“ CD”命令,更改为此目录。之后,使用终端中的以下命令打开一个带有名称“ lcdpi.py”的空python文件。
笔记:在上一个关于如何使用Raspberry Pi闪烁LED的教程中,我讨论了VIM编辑器。
现在,复制上述代码并将其粘贴到编辑器中。正确使用标签字符,因为它们有助于将指令分组为Python很重要。
保存文件并关闭编辑器。要测试代码,请在终端中键入以下命令。如果您的Connections和Python程序一切都很好,则应该能够在16×2 LCD上看到文本。
要退出程序,只需按终端中的CRTL+C即可。
代码说明
首先,我将rpi.gpio python软件包导入为gpio(此处称为GPIO软件包),并从时代包装中睡觉。然后,我为LCD分配了PIN,即RS,E,D4,D5,D6和D7。我遵循的编号方案是GPIO或BCM方案。
笔记:我还评论了相应引脚的物理销数。
然后,我使用了GPIO软件包的一些功能,例如gpio.setwarnings(false),gpio.setmode(gpio.bcm)和gpio.setup()。
最后,使用一些自己的功能,例如lcd_init,lcd_string,lcd_display等。
将16×2 LCD与Raspberry Pi接口的应用
- 通过将16×2 LCD与Raspberry Pi接口,我们可以为Raspberry Pi提供一个简单的显示选项,该选项可以显示一些基本信息,例如日期,时间,GPIO PIN的状态,等等。
- 覆盆子PI的许多简单且复杂的应用,例如气象站,温度控制,机器人车辆等。需要这个小的16×2 LCD显示屏。
限制
- 16×2 LCD模块只能显示简单的字母数字字符。
- 即使可以显示一些特殊字符和自定义字符,也无法显示图形密集的信息。
5个回应
Sudo Python的意思是什么
“ sudo”是超级用户
“ Python”是一种编程语言,或者在这种情况下是对程序的调用
就像在Windows上的“运行为管理员”一样。
Python将获得行政特权。
sudo表示超级用户。
我如何在中间或第五位置获得光标,并从其中显示消息
要设置光标位置LCD使用启动地址0x80,请将光标放在第一行5th位置,然后开始地址为0x84。您只需要将位置值添加到0x80地址,类似于第二行凝视地址为0xc0,
示例第二行8位置为0xC7。