在这个项目中,我将向您展示如何设计一个简单的图形用户界面系统的帮助下诺基亚5110液晶显示。我将设计一个最小的诺基亚5110菜单界面的帮助下Arduino和几个按钮。
使用这个Arduino诺基亚5110液晶菜单界面作为参考,你甚至可以设计复杂的GUI系统在多个图形像诺基亚5110 LCD液晶显示器,128×64图形液晶等。
介绍
如果你还记得我以前Arduino项目,我实现了一个基本的诺基亚5110 LCD和Arduino联播指南。这个项目只是介绍LCD模块和如何使用Arduino显示一些简单的文本。
由于诺基亚5110 LCD图形液晶模块,我们能够控制它的每个像素,还有很多我们可以做的不仅仅是显示一些文本。我们可以做的一件事就是显示一个图像位图的形式。
但是如果你真的想要提取的最佳分辨率84×48的诺基亚5110 LCD,然后设计一个图形用户界面与Arduino(或任何其他单片机)是一个很好的选择。
所以,让我们设计一个简单的诺基亚5110菜单系统,我们可以使用3按钮和控制与Arduino更直观的方式进行交互。
这个项目的目的是在诺基亚5110 LCD显示一个简单的菜单和导航菜单项使用三个按钮。
我已经讨论了关于诺基亚5110液晶的重要信息和如何在我以前的接口和Arduino教程。所以,我不会再重复这些步骤,而是本教程关注Arduino诺基亚5110液晶菜单界面的设计。
Arduino诺基亚5110液晶菜单
图形用户界面GUI或仅仅是一种使用一个屏幕上显示与硬件交互。GUI更易于与硬件交互,我们得到一个视觉反馈的硬件。
例如,您正在设计一个简单的远程监控系统检查灯是否打开或关闭。如果我们设计系统,光的状态(可能位于遥远的)是我们附近显示在屏幕上,那么这份工作就变得非常容易。
本Arduino诺基亚5110菜单界面教程的目的是给的概述是多么容易使用Arduino设计自己的GUI系统,诺基亚5110 LCD和三个按钮。
我们将显示一个“菜单”的诺基亚5110液晶使用按钮和导航。使用这个设置,我们可以通过诺基亚5110与Arduino交互菜单和控制不同的参数(比如背光的LCD和对比显示)。
线路图
下图显示了Arduino的电路图诺基亚5110液晶菜单界面系统。
组件的要求
- Arduino UNO
- 诺基亚5110液晶
- 水平x 2转换器模块
- 按钮x 3
- 220Ω电阻
- 10 KΩx 3(可选的外部上拉)
- 电路试验板
- 试验板电源
- 连接电线
硬件连接
硬件连接是类似于Arduino和诺基亚5110液晶的基本接口。但为了适应按钮和背光控制,我稍微修改了联系(或者说Arduino的别针,精确)。
重要提示:诺基亚5110 LCD支持最大逻辑电压为3.6 v。所以,我用两个逻辑电平转换器模块Arduino和诺基亚5110之间的联系。的更多信息以及如何构建电路没有逻辑电平转换器,看看Arduino诺基亚5110 LCD教程。
我们知道,诺基亚5110液晶的通信模型是SPI串行接口。所以,我选择的硬件SPI Arduino控制诺基亚5110 LCD。下面的表显示了销连接对应于诺基亚5110液晶模块和Arduino UNO。
诺基亚5110液晶 | Arduino UNO |
RST | 数字IO 8 |
CE | 数字IO 10 |
直流 | 数字IO 9 |
喧嚣 | 数字IO 11 |
CLK | 数字IO 13 |
VCC | 3.3 v |
提单 | 数字IO 7 |
接地 | 接地 |
可以看到从上面的表中,而不是连接提单(背光)LCD的销3.3 v(或5 v),我将其连接到数字IO销7的Arduino(通过220Ω限流电阻)。这允许我们我们需要控制显示器的背光。
此外,我们需要三个按钮实现“上”、“下”和“选择”功能。按钮的一端连接到接地,另一终端连接到数字IO针4,分别为2和3。
我有一个IO板,由一些按钮和领导。板上的按钮被高使用10 kΩ上拉电阻。这意味着什么Arduino针的按钮连接外部高。所以,我不需要在代码中做任何事情。
如果你不使用任何外部上拉电阻与按钮,然后你需要在代码中使用内部上拉功能。
诺基亚5110设计菜单
诺基亚5110菜单系统的设计是非常简单的。最初,液晶显示主菜单页面(我们称之为第1页)和一个标题上紧随其后的是三个菜单项。
我给的标题为“诺基亚菜单”和“对比”三个菜单项,“背光”和“默认”。菜单项给出数字1、2和3分别(内部的代码)。默认情况下,第一个菜单项将突出显示在系统复位(或启动)。
导航菜单
我们可以浏览菜单使用适当命名的三个按钮,并选择。所以,如果我们在第1页如果菜单项1目前高亮显示,然后我们可以突出(或导航到)其他菜单项按向上或向下的按钮。
显然,如果你按“上升”按钮,将突出显示的下一个项目如果你按“向下”按钮,前一项将被突出显示。
如果你到达极端即。,either menu item 1 or 3 and press up or down, then the menu items will be circled (or looped) back. For example, if menu item 1 is currently highlighted and if you press the up button, then menu item 3 will be highlighted.
类似地,如果菜单项3目前强调如果你按下按钮,菜单项1将被突出显示。
对比度调整
现在,让我们看看如何设置不同的值。假设你目前在第1页和菜单项1(设置对比)突出显示。如果你按“选择”按钮,那么第二页将被激活。这一页是致力于调整显示器的对比。
在第二页中,您可以增加或减少的对比分别按向上或向下按钮。将调整后的对比即飞。,当你按下向上或向下按钮。在任何时候,如果你按“选择”按钮,你将返回到1和菜单项1页将被突出显示。
控制背光
你可以把后面的诺基亚5110液晶使用菜单项打开或关闭2(背光)。默认情况下,背光打开。在第1页,突出菜单项2按向上或向下按钮。
一旦突出显示菜单项2,你可以按“选择”按钮切换背光。当前状态的背光。,ON or OFF is printed next to the menu item 2.
恢复默认值
第三个菜单项被称为“默认”。这个选项将恢复默认值。,the display contrast is set to “60” and the backlight is turned ON.
代码
如果你跟随前面的教程下载库,然后又不需要经历这些步骤。但是让我再次解释。接口Arduino的诺基亚5110液晶模块,您需要下载的库。
Arduino的IDE,去…选择工具- >管理库。搜索“PCD8544诺基亚”并安装“Adafruit PCD8544诺基亚5110 LCD图书馆”。也安装“Adafruit GFX图书馆”通过搜索相同。我们必须包括这些库代码。
下面的代码在诺基亚5110液晶显示菜单。
结论
教程上设计一个简单的GUI(图形用户界面)系统的帮助下基于Arduino的诺基亚5110菜单显示在这个项目中实现。
这是一个非常小的设计但你可以扩大成一个成熟的GUI系统。此外,而不是使用按钮,您可以使用一个旋转编码器模块,使得事情更加有趣。
2反应
你好。我打算让它为我的小项目。我真的需要你的帮助来做这个项目。这是完全操作吗?和请让我知道这将是更好的诺基亚5110和arduino或esp32 lcd接口吗?
是的。这是操作。有限的编码来让事情变得简单。
关于Arduino vs ESP32,这取决于您的应用程序。如果你只是想要一个单片机驱动液晶显示屏和接受来自用户的输入(浏览菜单),然后Arduino就足够了。但ESP32有更强大的处理器使用wi - fi连接的额外能力。如果这是你需要在您的应用程序,然后ESP32是好的。看着Arduino和ESP32的成本,我建议你去与ESP32为它所提供的功能很便宜(Arduino相比)。