使用 Adafruit 库通过 Raspberry PI 2 控制 16x2 LCD

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 63w+ 字,讲解图 2808+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2200+ 小伙伴加入学习 ,欢迎点击围观

作为一名爱好者,我开始使用 Netduino 处理嵌入式系统。这很有趣,但与此同时,Netduino 并没有提供我现在可以做的那么多事情。对于像我这样不懂电子学和 C/C++ 的人来说,这是一份礼物。现在,我正在使用 Raspberry PI 的最新版本,并且我在一个硬件上拥有我想要的一切。

为了开始使用 Python 和 Raspberry PI,我研究了“Hello World”类的 LED 闪烁示例。使用 LCD 是我想测试的第二件事,所以就在这里。在开始之前,这里是您需要的东西。

1. 1 个树莓派 2

2. 带 16x2 显示屏的 LCD - HD44780

3. 8 x 公母跳线

4. 5 x 公-公跳线

这是将 LCD 与 Raspberry PI 2 连接的简单接线

从接线图中可以看出,LCD 将占用 Raspberry PI 上的大约 6 个 GPIO 引脚。如果您插入了一些模块或您正计划插入,那么您可能会缺少 GPIO 引脚。要在您的板上保存 GPIO 引脚,您可以使用 MCP23008 或 MCP23017 。为简单起见,我暂时不使用任何端口扩展器。

现在是代码,目前我对 Python 知之甚少。因此,我将坚持使用我已阅读和测试过的内容。为了控制 LCD,我将使用 Adafruit 的 LCD 库,您可以 在此处 从 Github 获取它。我将使用 Adafruit_CharLCD.py 来控制我的 LCD。要记住的是,你不能开箱即用地使用这个库。您必须进行更改以在 __init__ 函数中设置正确的 GPIO 引脚。使用以下命令打开文件。


 $ sudo nano Adafruit_CharLCD.py

如果你使用和我一样的线路,那么改变 __init__ 函数像这样


 $ sudo nano Adafruit_CharLCD.py

保存更改,我们就可以开始了。要检查接线和代码更改是否正确完成,请在同一目录中执行以下命令。


 $ sudo nano Adafruit_CharLCD.py

让我们尝试使用这个简单的程序向显示器显示一些自定义消息。



 $ sudo nano Adafruit_CharLCD.py


这是另一个。该程序将要求您输入要显示的字符串。


 $ sudo nano Adafruit_CharLCD.py

我使用 Adafruit 库来控制显示的原因是因为它还有其他有用的功能来控制 LCD。以下是您可以尝试的功能列表。

clear() - 清除 LCD 并从内存中删除文本。

display()/noDisplay() - 切换 LCD 上的文本可见性。文本保留在内存中。

cursor()/noCursor - 切换光标可见性。

blink()/noBlink() - 切换光标闪烁。

home() - 将光标移动到 0,0 位置,即第一行的第一列。

setCursor(col, row) - 将光标设置到特定位置。使用 lcd.begin(col, rows) 设置显示器的列数和行数。

我希望这对刚开始使用 Raspberry Pi 的人有用。您还可以 在此处 从 Github 下载完整的源代码。

相关文章