树莓派使用Python控制1602LCD模块

1602 使用Python控制LCD模块

树莓派使用Python控制1602LCD模块

一旦玩过LED,开关和步进电机,下一个自然步骤就是16×2字母数字LCD模块。这些模块便宜(少于10美元),并且易于与Raspberry Pi接口。它们有16个连接,但您只需要在Pi上使用6个GPIO引脚。

大部分16×2模块可与日立HD44780 LCD控制器兼容。这允许您购买几乎任何设备,并确保它将以与其他任何方式相同的方式工作。eBay上可以选择不同颜色的背光灯。我购买的那个有一个蓝色的背光。

LCD模块硬件

树莓派使用Python控制1602LCD模块

该模块的引脚分配是:

  1. 地面

  2. VCC(通常+ 5V)

  3. 对比度调整(VO)

  4. 寄存器选择(RS)。

    RS = 0:命令,RS = 1:数据

  5. 读/写(R / W)。

    R / W = 0:写,R / W = 1:读

  6. 启用

  7. 位0(4位运算时不需要)

  8. 位1(4位操作不需要)

  9. 位2(4位操作不需要)

  10. 位3(4位操作不需要)

  11. 位4

  12. 位5

  13. 位6

  14. 位7

  15. LED背光阳极(+)

  16. LED背光阴极( – )

通常,器件需要8条数据线才能向0-7位提供数据。然而,该设备可以设置为“4位”模式,允许您以4位的两个块(或半字节)的形式发送数据。这是很好的,因为它减少了与您的Pi连接时所需的GPIO连接数。

这是我如何连接我的LCD:

LCD引脚 功能 Pi功能 皮Pin
01 GND GND P1-06
02 + 5V + 5V P1-02
03 对比 GND P1-06
04 RS GPIO7 P1-26
05 RW GND P1-06
06 Ë GPIO8 P1-24
07 数据0
08 数据1
09 数据2
10 数据3
11 数据4 GPIO25 P1-22
12 数据5 GPIO24 P1-18
13 数据6 GPIO23 P1-16
14 数据7 GPIO18 P1-12
15 + 5V通过560ohm
16 GND P1-06

注意: RW引脚允许器件进入读写模式。我想要发送数据到设备,但不希望它向Pi发送数据,所以我把这个引脚绑在地上。Pi不能容忍其GPIO头上的5V输入。将RW连接到地,确保设备不会尝试将数据线拉至5V,从而损坏Pi。

为了控制对比度,您可以调整引脚3的电压。这必须在0到5V之间。我将这个引脚绑在地上。

引脚15为背光LED提供5V。在我的设备上不清楚是否可以直接连接到5V,所以我玩安全,并放置一个560ohm电阻符合这个引脚。

树莓派使用Python控制1602LCD模块

接线检查

在您第一次启动电路之前,请先进行一些健康检查:

  • 引脚1(GND),3(对比度),5(RW)和16(LED – )(应连接到地)。

  • 引脚2应连接到5V。引脚15应具有内置5V电阻以保护背光。

  • 引脚7-10未连接

  • 引脚11-14连接到Pi上的GPIO引脚

Python

您可以使用任何您喜欢的编程环境来控制HD44780风格的显示器,但我的选择武器是Python。我使用RPi.GPIO库来访问GPIO。

这是我的代码:

#!/usr/bin/python

此脚本可以使用此链接或直接下载到您的Pi使用以下命令:

wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/lcd_16x2.py

然后可以使用以下命令运行:

sudo lcd_16x2.py

如果您使用此代码,您需要更改的唯一的事情是GPIO引脚映射,取决于您在Pi GPIO头上使用的引脚。以下是一些照片:

注意事项:当发送命令到LCD时,RS为低电平,发送字符时为高电平。RW始终很低,以确保我们只将数据输入到模块中。8位字节一次发送4位。前4位,最后4位。在某些步骤之间添加延迟,以确保模块在更改之前对信号做出反应。

上面的代码灵感来源于“texy”在RaspberryPi.org论坛上提交的代码。我改变了字节被分解为位,因为这显着增加了显示的响应时间。

故障排除

如果您有问题,请尝试:

  • 仔细检查接线。

  • 尝试调整对比度引脚上的电压在0V和3.3V之间。

  • 将E_PULSE和E_DELAY参数从0.0005更改为0.001。一些屏幕对这些时间很敏感,如果它们太小,将不会初始化。

  • 使用Python 2.我还没有使用Python 3测试。

原文始发于:树莓派使用Python控制1602LCD模块

|

发表评论