在本教程中,我们将学习如何接口诺基亚5110 LCD与ESP8266。我们将使用NodeMCU开发板来了解ESP8266 Nokia 5110 LCD显示接口如何工作,ESP8266和Nokia 5110 LCD之间有哪些必要的连接,以及在LCD上显示一些文本。
此外,我将向您展示如何使用电位器调整诺基亚5110液晶显示器的对比度。
如果你想学习如何使用界面带有ESP32的诺基亚5110液晶显示屏DevKit开发板,然后我做了一个单独的教程。过来看。
诺基亚5110 LCD的简要说明
基于PCD8544 LCD控制器的诺基亚5110 LCD显示屏是一款非常有用的图形显示屏,分辨率为84 x 48像素。它的运行电压为3.3V,因此,将其与ESP8266连接不会有问题。
它是可以与ESP8266接口的最简单的显示设备之一,只需极少量的设置。
为了与微控制器通信,PCD8544控制器使用类似SPI的串行接口。下图显示诺基亚5110 LCD显示屏的引脚。
![Interface-Nokia-5110-LCD-with-Arduino-2](http://www.051376.com/wp-content/uploads/2021/01/Interfacing-Nokia-5110-LCD-with-Arduino-2.jpg)
下表包含诺基亚5110 LCD所有引脚的引脚说明。命名可能不同,但接口与SPI非常相似。事实上,我们将使用ESP8266的SPI外围设备连接诺基亚5110。
销的名字 | 描述 |
RST | 重置 |
CE | 芯片启动 |
直流 | 数据/命令选择 |
喧嚣 | 数据输入 |
CLK | 时钟 |
VCC | 电源电压(3.3 v) |
提单 | 背光电源 |
接地 | 地面 |
NodeMCU ESP8266诺基亚5110 LCD接口
如前所述,诺基亚5110 LCD有一个串行通信接口,类似于SPI。因此,我们必须识别ESP8266 NodeMCU板的SPI引脚。ESP8266 SoC有两个SPI接口:
- SPI
- HSPI
ESP-12E模块上已经使用SPI接口SPI Flash。所以,我们只剩下HSPI了。如果你看一下NodeMCU ESP8266的引脚,那么GPIO引脚12到15与HSPI相关联。
HSPI销 | GPIO引脚 | NodeMCU销 |
HSPI_SCK | GPIO 14 | D5 |
HSPI_MISO | GPIO 12 | D6 |
莫西酒店 | GPIO 13 | D7 |
HSPI_CS | GPIO 15 | D8 |
在这里,我们将使用MOSI, SCK和CS引脚。此外,在诺基亚5110 LCD上有两个引脚称为RST和D/C。这些引脚与SPI硬件没有关联,因此我们可以使用任何免费的GPIO引脚。
因此,NodeMCU ESP8266和Nokia 5110 LCD之间的最终连接看起来像这样:
诺基亚5110液晶 | NodeMCU ESP8266 |
RST | D2(GPIO 4) |
CE (CS) | D8 (GPIO 15) |
直流 | D1 (GPIO 5) |
DIN(莫西人) | D7(GPIO 13) |
CLK (SCK) | D5 (GPIO 14) |
VCC | 3.3 v |
提单 | 3.3V(通过220Ω电阻) |
接地 | 接地 |
如果您注意到表中的内容,我还提到诺基亚5110 LCD的“BL”引脚通过220Ω限流电阻器连接到3.3V(为了安全起见),该引脚可启用背光。
所需组件
- ESP8266开发板
- 诺基亚5110液晶显示
- 220Ω电阻
- 试验板
- 连接线
- 10 KΩ电位器(用于设置对比度)
线路图
下图显示了ESP8266诺基亚5110 LCD接口的所有必要连接。
在诺基亚5110上显示文字
现在让我们看看在诺基亚5110 LCD上显示文本是多么容易。Adafruit_PCD8544 '库显著降低了PCD8544 LCD控制器IC的复杂性,并向用户暴露了简单的功能。
一些重要功能包括:
- 开始:设置SPI接口并初始化显示。
- display:更新显示。
- 打印:在屏幕上打印/显示文本。
- clearDisplay:清除整个显示。
- setContrast:设置显示的对比度。
- setCursor:设置文本光标位置
注意:访问github页面Adafruit_PCD8544“去图书馆查询更多信息。”
使用这些和许多其他功能,我们可以显示文本,ASCII字符,自定义字符,设置字体大小,改变字体等。
此外,“Adafruit_GFX”库允许你显示基本图形,如单个像素,线,圆,矩形,三角形等。
代码
下面是使用ESP8266 NodeMCU板在Nokia 5110 LCD上显示文本的简单代码。
调整诺基亚5110的对比度
接下来,我们将看到如何调整诺基亚5110 LCD的对比度。我们将使用10KΩ电位器来设置对比度。首先,我们将在LCD上显示一些文本,然后我们将连接到ESP8266的ADC引脚。
在程序中,我们将从电位器中读取模拟输入,将其转换为数字值(使用ADC),并将ADC的结果映射到适当的对比度值。这很简单。
这是一种调整显示器对比度的方法。您也可以使用其他方法,如按钮,串行通信等。
注意:ESP8266只有ADC通道,其分辨率为10位,即ESP8266的ADC输出将在0到1023的范围内。因此,使用Arduino的“映射”功能,我们可以将该范围转换为更适合对比度的范围(0到100)。
线路图
使用ESP8266和电位器调整诺基亚5110液晶显示器对比度的连接如下电路图所示。
代码
下面的图像显示较低的对比设置在诺基亚5110 LCD。
同样地,我们甚至可以通过转动电位器来增加对比度。下图显示了更高的对比度设置。
结论
一个简单的项目,了解如何接口诺基亚5110 LCD与ESP8266 NodeMCU板。您学习了诺基亚5110 LCD的pinout, ESP8266 NodeMCU和诺基亚5110之间的连接,NodeMCU ESP8266 NodeMCU显示界面如何工作,如何在LCD上显示一些文本,以及如何使用POT调整诺基亚5110的对比度。