首页

如何设计Arduino诺基亚5110液晶菜单?

在这个项目中,我将向您展示如何在诺基亚5110液晶显示器的帮助下设计一个简单的图形用户界面系统。我将设计一个最小的诺基亚5110菜单界面的帮助Arduino和几个按钮。

使用这个Arduino诺基亚5110液晶菜单界面作为参考,您可以设计甚至复杂的GUI系统在几个图形液晶显示器,如诺基亚5110液晶,128×64图形液晶等。

Arduino-Nokia-GUI-Image1

简介

如果您还记得我之前的Arduino项目,我已经实现了使用Arduino连接诺基亚5110 LCD的基本指南。这个项目只是介绍了LCD模块以及如何使用Arduino显示一些简单的文本。

由于诺基亚5110 LCD是一个图形LCD模块,我们可以控制它的单个像素,有很多我们可以做的,而不是简单地显示一些文本。我们能做的一件事就是以位图的形式显示图像。

但是,如果你真的想提取诺基亚5110 LCD的84×48分辨率的最佳效果,那么设计一个图形用户界面来与Arduino(或任何其他微控制器)交互是一个很好的选择。

所以,让我们设计一个简单的Nokia 5110 Menu系统,我们可以用3个按钮来控制它,并以更直观的方式与Arduino交互。

这个项目的目的是在诺基亚5110 LCD上显示一个简单的菜单,并使用三个按钮在菜单项中导航。

在之前的教程中,我已经讨论了诺基亚5110 LCD以及如何将其与Arduino连接的重要信息。因此,我将不再重复所有这些步骤,而是将本教程的重点放在Arduino诺基亚5110 LCD菜单界面的设计上。

接口-诺基亚5110 - lcd和arduino - 2

Arduino诺基亚5110液晶菜单

图形用户界面或简称GUI是一种使用显示屏幕与硬件交互的方式。GUI使与硬件的交互变得更容易,因为我们可以从硬件得到可视化的反馈。

例如,您正在设计一个简单的远程监控系统,以检查灯是开着还是关着。如果我们在设计系统时,将灯光(可能位于很远的地方)的状态显示在我们附近的屏幕上,那么工作就会变得非常容易。

本Arduino诺基亚5110菜单界面教程的目的是概述如何容易使用Arduino,诺基亚5110 LCD和三个按钮设计我们自己的GUI系统。

我们将在诺基亚5110 LCD上显示一个“菜单”,并使用按钮进行导航。使用这个设置,我们可以通过Nokia 5110菜单与Arduino交互,并控制不同的参数(如LCD的背光和显示器的对比度)。

线路图

下图是Arduino诺基亚5110 LCD菜单界面系统的电路图。

Arduino-Nokia-Menu-Circuit-Diagram

组件的要求

  • Arduino UNO
  • 诺基亚5110液晶
  • 电平转换模块x 2
  • 按钮x 3
  • 220Ω电阻
  • 10 KΩ x 3(可选,用于外部引体向上)
  • 电路试验板
  • 试验板电源
  • 连接电线

硬件连接

硬件连接类似于Arduino和诺基亚5110 LCD的基本接口。但为了适应按钮和背光控制,我稍微修改了连接(确切地说,是Arduino的引脚)。

重要提示:诺基亚5110 LCD支持的最大逻辑电压为3.6V。因此,我使用了一对逻辑电平转换器模块,使Arduino和诺基亚5110之间的连接。更多信息和如何建立电路没有逻辑电平转换器,查看Arduino诺基亚5110液晶教程。

我们知道诺基亚5110液晶显示器的通信模式是SPI式串行接口。因此,我选择Arduino的硬件SPI来控制诺基亚5110 LCD。下表显示了诺基亚5110 LCD模块和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的BL(背光)引脚连接到3.3V(或5V),而是将其连接到Arduino的Digital IO引脚7上(通过220Ω限流电阻)。这使得我们可以根据需要控制显示器的背光。

此外,我们需要三个按钮来实现“上”、“下”和“选择”功能。按钮的一端连接到GND上,另一端分别连接到数字IO引脚4,2,3上。

我有一个IO板,由一堆按钮和LED组成。板上的按钮使用10KΩ上拉电阻拉高。这意味着按钮所连接的Arduino引脚被外部拉高。我不需要在代码中做任何事情。

如果你没有使用任何外部上拉电阻的按钮,那么你必须在代码中使用内部上拉功能。

设计诺基亚5110的菜单

诺基亚5110菜单系统的设计非常简单。最初,LCD显示一个主菜单页面(我们称其为第1页),顶部是一个Title,后面是三个菜单项。

Arduino-Nokia-GUI-Design1

我给的标题是“诺基亚菜单”,三个菜单项是“设置对比度”,“背光”和“默认”。菜单项分别被赋予数字1、2和3(在代码内部)。默认情况下,第一个菜单项将在系统重置(或启动)时突出显示。

导航菜单

我们可以使用三个按钮在菜单中导航,它们被恰当地命名为向上、向下和选择。因此,如果我们在第1页,如果菜单项1当前是高亮显示的,那么我们可以通过按上或下按钮高亮显示(或导航到)其他菜单项。

显然,如果你按下“上”键,下一项将被突出显示,如果你按下“下”键,上一项将被突出显示。

如果你达到了极端情况,即菜单项1或3,按上或按下,那么菜单项将被圈(或圈)回来。例如,如果菜单项1当前高亮显示,如果您按下向上按钮,那么菜单项3将高亮显示。

类似地,如果菜单项3当前高亮显示,如果您按下向下按钮,那么菜单项1将高亮显示。

对比度调整

现在,让我们看看如何设置不同的值。假设您当前位于第1页,菜单项1(设置对比度)突出显示。如果您按下“选择”按钮,那么第2页将被激活。此页面用于调整显示的对比度。

arduino design2——诺基亚- 5110菜单

在第2页中,您可以通过分别按向上或向下按钮来增加或减少对比度。对比度将在飞行中调整,即,当你按上或下按钮。在任何时候,如果您按下“选择”按钮,您将返回到第1页,菜单项1将被突出显示。

控制背光

您可以使用菜单项2(背光)打开或关闭诺基亚5110 LCD的背光。默认情况下,背光是打开的。在第1页中,通过按上或下按钮突出显示菜单项2。

arduino design3——诺基亚- 5110菜单

一旦菜单项2高亮显示,您可以按“选择”按钮切换背光。背光的当前状态,即ON或OFF被打印在菜单项2的旁边。

恢复默认值

第三个菜单项叫做“Default”。该选项将恢复默认值,即,显示对比度设置为“60”,并打开背光。

arduino design4——诺基亚- 5110菜单

代码

如果您已经按照前面的教程下载了库,那么就不需要再重复这些步骤了。让我再解释一遍。要将Nokia 5110 LCD模块与Arduino连接,您需要下载几个库。

在Arduino IDE中,进入“Tools -> Manage Libraries…”选项。搜索“PCD8544诺基亚”并安装“Adafruit PCD8544诺基亚5110液晶库”。同时通过搜索安装“Adafruit GFX库”。我们必须在代码中包含这两个库。

下面是在诺基亚5110 LCD上显示菜单的代码。

结论

在本项目中实现了一个教程,在基于Arduino的Nokia 5110菜单显示的帮助下设计一个简单的GUI(图形用户界面)系统。

这是一个非常小的设计,但您可以将其扩展为一个完整的GUI系统。此外,你可以使用旋转编码器模块,而不是使用按钮,这使事情更有趣。

2反应

  1. 你好。我打算用这个做我的小项目。我真的需要你的帮助来做这个项目。这完全可行吗?请让我知道哪一个更好的诺基亚5110 lcd接口arduino或esp32?

    1. 是的。这是操作。这里的编码只是为了简单起见。
      关于Arduino vs ESP32,这取决于你的应用程序。如果你只是想要一个微控制器来驱动LCD并接受用户的输入(浏览菜单),那么Arduino就足够了。但ESP32拥有更强大的处理器,具有额外的Wi-Fi连接能力。如果您的应用程序中需要这一点,那么ESP32是很好的选择。看看Arduino和ESP32的成本,我建议您选择ESP32,因为它提供的功能非常便宜(与Arduino相比)。

留下一个回复

您的电邮地址将不会公布。

Electronicshub图标
Baidu
map