有人知道有关此主题的任何资源吗?
我正在为 2x16 LCD 显示器开发嵌入式应用程序。理想情况下,我希望有一个通用(独立于显示器)框架,几乎可以在任何显示器上使用 - 一个或多个段 LED、1x16、2x16 LCD 等。还想了解此类小型显示器的一般指南用户界面。
编辑:我对高级功能感兴趣,如何组织用户界面——菜单、选项和用户输入。我们不在这里讨论 LCD 控制器的问题。
有人知道有关此主题的任何资源吗?
我正在为 2x16 LCD 显示器开发嵌入式应用程序。理想情况下,我希望有一个通用(独立于显示器)框架,几乎可以在任何显示器上使用 - 一个或多个段 LED、1x16、2x16 LCD 等。还想了解此类小型显示器的一般指南用户界面。
编辑:我对高级功能感兴趣,如何组织用户界面——菜单、选项和用户输入。我们不在这里讨论 LCD 控制器的问题。
我会为单行界面设计它,使用更多的行会给你更多的空间。
我会选择至少 4 个按钮:
如果您指定线宽(如 16),那么这将适用于 16x2、16x1 和 16 个 7 段显示器......您在设计菜单上的文本时会考虑到这一点。
如果您添加更多按钮,UI 会更有用,我会考虑这些,按优先级排序,但这些不是必需的:
您将拥有一个主菜单,它将带您进入嵌套的子菜单或操作项。
我举个例子,假设你正在做一个可以在 16x1 或 16x2 上工作的数字时钟。
主屏幕类似于 08:15P SUN101908 当您按菜单键时,它会显示一个菜单(设置时间、设置日期、设置闹钟、设置显示),用 UP&DOWN 移动项目,然后 OK 选择一个项目.
如果您选择“设置时间”,向上和向下箭头将更改小时,确定将接受并移至分钟选择...等。
如果你有一个数字小键盘,使用起来会更简单。
如果您指的是 2 行 x 16 字符显示器,它们通常是基于像素的,并且将具有集成控制器,因为它们的控制要复杂得多。我过去使用的 2x16 和 4x16 LCD 设备实际上具有半字节宽的接口,并且命令以<command>[<address>][<data>]
样式发送到设备,有效命令所需的半字节数由命令本身决定。如果您链接到目标设备会有所帮助,因为制造商之间似乎确实没有标准。
对于分段 LED 和 LCD,所谓的七段器件有一个标准布局,该布局从像素管开始。这是显示此细分的图表:
a
---
f| g |b
---
e| |c
---
d
另一个问题是您是想直接驱动显示器还是使用控制器 IC。驱动七段 LED 非常容易,因为它们通常有一个共同的阴极或阳极,您只需要能够吸收或提供足够的电流。直接驱动 LCD 稍微复杂一些,因为施加到像素或段的极性必须不断翻转以避免损坏设备。找到具有执行此功能的集成时钟的控制器要容易得多。
我认为 1x16 和 2x16 LCD 之间的差异如此之大,以至于您不应该努力创建一个可以同时处理两者的 GUI 库 - 就像您不尝试创建一个可以同时处理 CURSES 和 Cocoa 作为后端的 GUI 库一样(好吧,有人这样做了,但这是……错误的)。
由于显示如此之少,您的 GUI 应该是非常面向领域的……也就是说,如果不知道您的领域是什么,我无法告诉您什么是好的概念。
显示器的尺寸将对用户界面产生巨大影响。
1 行只够容纳一个单级菜单,尽管我认为即使这样也能推动它。我会将所有功能作为按钮,而显示器仅用于显示数据。
对于多级菜单,2 行就足够了。在菜单模式下,第一行用于指示它们在菜单树中的位置,第二行可用于菜单选择。我不会向菜单推荐很多级别,否则用户会忘记他们在哪里,并且也很难记住菜单树中的内容。在功能模式下,第一行可用于指示所选功能,第二行可用于指示数据。您可以使用按钮的向上向下菜单确定,但我会考虑仍然使用专用于功能的按钮。
4 行适合菜单。与上面的布局类似,额外的行帮助用户记住他们在菜单树中的位置。它可以帮助他们在空间上对其进行可视化。在这种情况下,我会推荐向上向下菜单确定按钮,而不是特定的功能键。特定的功能键有时会使用户对菜单范例感到困惑。
我不会为 1 行或 2 行显示器的数字键盘而烦恼,并完全放弃 QWERTY 键盘。如果您能负担得起将这么多按钮放在前面的空间,那么您应该为用户提供更大的显示!想象一下带有 1 x 16 显示屏的 QWERTY。荒谬的。UI 的复杂性应该反映设备的复杂性。
考虑 Osama 的单线时钟示例。这可以通过两个按钮和无菜单来实现。这些按钮可以称为“设置”和“调整”。
操作将是:
数字键盘将是多余的,从工程的角度来看,更多的硬件和更多的成本。这就是为什么闹钟上没有数字键盘的原因。
我不知道为此明确目的而构建的任何“项目”或库。
我建议您采用在屏幕和字段概念上运行的“显示层”代码的方法。屏幕负责“拥有”屏幕上的所有字段,字段负责指定显示的内容、字段影响的变量以及影响字段值的输入法。这些字段还存储指向前和后字段设置/验证函数的任何函数指针。
这样做将帮助您保持相当一致的 UI。代码也将集中在一个地方,因此可能更容易调试。
类似任天堂的控制器制作简单,几乎可以用于任何应用程序。您只需要 8 把钥匙;4 个用于方向键,2 个在中间,2 个用于 A 和 B 按钮。创建这种控制器非常简单,对用户来说非常直观。它也是用户可以握在手中的东西,使其比安装的控件更加用户友好。
SONY 的缓动盘也是一个不错的选择:上/下/按(进入)/按住(退出)。如果 jogdial 模块不可用。然后尝试拆卸鼠标滚轮。