ESP32诺基亚5110 LCD显示教程|显示文本,调整对比度

在这个项目中,我们将学习如何将诺基亚5110 LCD与ESP32 Devkit开发委员会接口。我们将看到一些有关诺基亚5110 LCD,Phillips的PCD8544驱动程序IC,ESP32诺基亚5110接口的工作方式,并使用ESP32在诺基亚5110 LCD上显示一些文本和图形。

ESP32-Nokia-LCD

介绍

如果您想显示动画,自定义符号,不同类型和大小的字体和许多其他相关内容(形状,符号),则图形显示非常有用。

如今,我们正在变得更大,色彩丰富的图形显示,有些甚至具有触摸屏功能。但是,如果您想要一个具有不错的分辨率而较低的简单显示,那就是成本呢?

诺基亚5110 LCD模块是为此目的的绝妙选择。诺基亚5110 LCD最初用于诺基亚3110和诺基亚5110手机,由于低成本,紧凑的尺寸和简单的界面,诺基亚5110 LCD已成为DIY社区中的流行显示器。

这以及Arduino社区(以及其他开源社区)为驾驶员提供的支持,使诺基亚5110 LCD成为我们项目中必须使用的显示设备。

诺基亚-5110-LCD-Display

诺基亚5110 LCD的简短说明

诺基亚5110 LCD模块基于Phillips的PCD8544 LCD控制器IC。它能够驾驶84列和48行,这是诺基亚5110 LCD的分辨率,即84×48像素。

PCD8544的SRAM内部504字节分为6个银行,每个银行都能存储84个字节数据。

因此,6个银行 * 84个字节= 504字节。

要记住的重要一件重要的事情是诺基亚5110 LCD和PCD8544控制器在3.3V电源上工作。这不是问题,因为我们正在使用ESP32,这也是3.3V设备。但是,如果您打算将诺基亚5110 LCD与Arduino(或其他5V微控制器)一起使用,则需要进行适当的逻辑级别转换。

我对将5110 LCD与Arduino接口进行了专用教程。如果您打算将诺基亚5110 LCD与Arduino一起使用,请检查一下。

NOKA-5110-lcd-backlight

此外,诺基亚5110 LCD模块配备了许多背光颜色选项,例如:红色,蓝色,白色,黄色和绿色。就我而言,我得到了蓝色背光模型。

ESP32诺基亚5110 LCD界面

足够的理论。让我们继续将诺基亚5110与ESP32接口。但是首先,让我们快速看一下诺基亚5110模块的插图。下表和图像显示了诺基亚5110 LCD的引脚。

引脚号

引脚名称

引脚描述

1

外部重置输入
2 CE

芯片启用

3

DC 数据 /命令
4 din

序列数据输入

5

clk 串行时钟输入
6 VCC

电源电压

7

bl 背光供应
8 gnd

地面

连接 - 诺基亚-5110-lcd-with-arduino-2
诺基亚5110 LCD与Pinout

从图像中可以看到,诺基亚5110 LCD(或PCD8544控制器)使用SPI之类的串行接口与微控制器进行通信。因此,我们必须使用ESP32微控制器的SPI引脚。

即使ESP32 SOC具有四个SPI接口,但其中两个与Flash IC绑定。因此,我们留下了两个硬件SPI接口。它们是:HSPI和VSPI。您可以将以下ESP32 PINOUT图像用作参考。

ESP32细节

我将在此项目中使用VSPI接口。我们需要硬件VSPI接口的MOSI,CLK(SCK)和CS引脚。诺基亚5110 LCD的重置(RST)和数据 /命令(DC)引脚可以连接到ESP32的任何GPIO引脚。

因此,ESP32和诺基亚5110 LCD之间的最终连接看起来像这样:

诺基亚5110 LCD

ESP32 Devkit板

GPIO 2(D2)
CE

GPIO 15(D15)

DC

GPIO 4(D4)
din

GPIO 23(D23)

clk

GPIO 18(D18)
VCC

3.3V

bl

3.3V(通过220Ω电阻)
gnd

gnd

笔记:我不使用vspi_cs,而是使用了hspi_cs。但是不用担心。

您可以另一个GPIO引脚来控制LCD的背光,但我始终选择了背光,因此我通过220Ω电流限制电阻将诺基亚5110 LCD的“ BL”引脚连接到3.3V供应。

需要组件

  • ESP32 Devkit开发委员会
  • 诺基亚5110 LCD模块
  • 面包板
  • 连接电线
  • Micro-USB电缆

电路原理图

下图显示了ESP32诺基亚5110 LCD接口的连接。

ESP32-Nokia-5110-LCD电路

准备Arduino IDE

您需要在Arduino IDE中为诺基亚5110 LCD下载两个库。它们是设备特定的“ Adafruit PCD8544诺基亚5110 LCD库”和支持的“ Adafruit GFX”库。如果您与诺基亚5110 LCD合作并以前安装了这些库,则可以跳过此步骤。

在Arduino IDE中,选择工具 - >管理库。。。打开图书馆经理。

诺基亚-ESP32-ARDUINO-IDE-1

使用搜索栏搜索“ PCD8544”,并安装“ Adafruit PCD8544诺基亚5110 LCD库”。

诺基亚-ESP32-ARDUINO-IDE-2

要显示小图形,例如不同的形状和符号,您必须使用Adafruit GFX库。搜索“ GFX”并安装“ Adafruit GFX”库。安装两个库后,您可以关闭库管理器。

诺基亚-ESP32-ARDUINO-IDE-3

用ESP32测试诺基亚5110 LCD

如前所述,进行所有连接,然后将ESP32连接到计算机。转到工具 - >董事会,并确保选择“ ESP32 DEV模块”。还使用正确的COM端口。

诺基亚-ESP32-ARDUINO-IDE-4

对于第一个程序,我只是在诺基亚5110 LCD上显示带有两种不同尺寸的文本。

代码

ESP32-Nokia-LCD-Text

这是一个简单的代码,可以证明使用ESP32在诺基亚5110 LCD上显示文本的容易性。您可以尝试其他选项,例如显示不同的形状,普通文本和倒文本,更改字体和大小等。

调整显示器的对比度

诺基亚5110 LCD的有用功能之一是,您可以使用函数“ setConcontast”来数字地调整显示的对比度。如果您想要对比度的软件控制而不是物理调整(例如16×2字符LCD),这将非常有帮助。

因此,我制作了一个小电路,将5kΩ锅连接到ESP32的ADC1通道6。并基于ADC的输出,我设置了诺基亚5110 LCD显示屏的对比度。

要记住的一件重要的事情是,ESP32中的ADC具有12位分辨率。这意味着ADC转换的输出数字值将在0-4095的范围内。但是诺基亚5110 LCD可以接受的对比度范围在0到100之间。

如果您之前在Arduino中使用了ADC和PWM,则有一个称为“ MAP”的函数,该函数将一个数字映射到另一个范围(在这种情况下,从0 - 4095到0-100)。我们必须在代码中使用此功能。

电路原理图

下图显示了使用电位器调整诺基亚5110 LCD对比度的电路。

ESP32-NOKIA-5110-LCD-CONTRAST-CIRCUT

代码

ESP32-Nokia-LCD-set对比

结论

一个涉及ESP32开发委员会和诺基亚5110 LCD的简单项目。您了解了诺基亚5110 LCD,PCD8544 LCD控制器,ESP32诺基亚5110 LCD接口如何工作以及如何使用ESP32在诺基亚5110上显示简单文本。

发表评论

您的电子邮件地址不会被公开。

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map