在本教程中,我们将学习如何将诺基亚5110 LCD与ESP8266接口。我们将使用NodeMCU开发板来了解ESP8266 Nokia 5110 LCD显示接口如何工作,ESP8266和Nokia 5110 LCD之间的必要连接是什么,并且在LCD上也显示了一些文本。
此外,我将向您展示如何使用电位计调整诺基亚5110 LCD显示屏的对比度。
如果您想学习如何接口诺基亚5110 LCD显示器带有ESP32Devkit开发委员会,然后我为此做了一个单独的教程。一探究竟。
诺基亚5110 LCD的简短说明
基于PCD8544 LCD控制器的诺基亚5110 LCD显示器是一个非常有用的图形显示,分辨率为84 x 48像素。它以3.3V的速度运行,因此,将其与ESP8266连接在一起不是问题。
它是您可以与ESP8266连接的最简单的显示器之一,并且需要非常最小的设置。
为了与微控制器进行通信,PCD8544控制器使用SPI之类的串行接口。下图显示了诺基亚5110 LCD显示屏的引脚。
下表包含诺基亚5110 LCD的所有引脚的引脚描述。命名可能不同,但界面与SPI非常相似。实际上,我们将使用ESP8266的SPI外围设备与诺基亚5110连接。
引脚名称 | 描述 |
第 | 重置 |
CE | 芯片启用 |
DC | 数据 /命令选择 |
din | 数据输入 |
clk | 钟 |
VCC | 电压电压(3.3V) |
bl | 背光供应 |
gnd | 地面 |
Nodemcu ESP8266诺基亚5110 LCD接口
如前所述,诺基亚5110 LCD具有类似于SPI的串行通信接口。因此,我们必须确定ESP8266 Nodemcu董事会的SPI引脚。ESP8266 SOC有两个SPI接口:
- spi
- HSPI
SPI已用于在ESP-12E模块上接口SPI闪光灯。因此,我们留下了HSPI。如果您看一下Nodemcu ESP8266的引脚,则GPIO引脚12至15与HSPI相关。
HSPI引脚 | GPIO PIN | nodemcu pin |
HSPI_SCK | GPIO 14 | D5 |
hspi_miso | GPIO 12 | D6 |
hspi_mosi | GPIO 13 | D7 |
HSPI_CS | GPIO 15 | D8 |
在此,我们将使用MOSI,SCK和CS引脚。此外,诺基亚5110 LCD上有两个销钉,称为rst和d/c。这些引脚与SPI硬件无关,因此我们可以使用任何免费的GPIO引脚。
因此,Nodemcu ESP8266和Nokia 5110 LCD之间的最终连接看起来像这样:
诺基亚5110 LCD | Nodemcu ESP8266 |
第 | D2(GPIO 4) |
CE(CS) | D8(GPIO 15) |
DC | D1(GPIO 5) |
DIN(MOSI) | D7(GPIO 13) |
CLK(SCK) | D5(GPIO 14) |
VCC | 3.3V |
bl | 3.3V(通过220Ω电阻) |
gnd | gnd |
如果您注意到该桌子,我还提到诺基亚5110 LCD的“ BL”引脚可通过220Ω电流限制电阻连接到3.3V(只是在安全的一侧)。
需要组件
- Nodemcu ESP8266开发委员会
- 诺基亚5110 LCD显示
- 220Ω电阻
- 面包板
- 连接电线
- 10kΩ电位器(用于设置对比度)
电路原理图
下图显示了ESP8266诺基亚5110 LCD接口的所有必要连接。
在诺基亚5110上显示文字
现在让我们看看在诺基亚5110 LCD上显示文本有多容易。“ ADAFRUIT_PCD8544”库大大降低了PCD8544 LCD控制器IC的复杂性,并将简单功能暴露于用户。
一些重要的功能是:
- 开始:设置SPI接口并初始化显示屏。
- 显示:更新显示。
- 打印:在屏幕上打印 /显示文本。
- ClearDisplay:清除整个显示。
- setContrast:设置显示的对比度级别。
- setCursor:设置文本光标位置
笔记:访问'ADAFRUIT_PCD8544’图书馆以获取更多信息。
使用这些和许多其他功能,我们可以显示文本,ASCII字符,自定义字符,设置字体的大小,更改字体等。
此外,“ adafruit_gfx”库允许您显示基本图形,例如单个像素,线,圆,矩形,针齿等。
代码
以下是一个简单的代码,可以使用ESP8266 nodemcu板在诺基亚5110 LCD上显示文本。
调整诺基亚5110的对比度
接下来,我们将看到如何调整诺基亚5110 LCD的对比度。我们将使用10kΩ电位器设置对比度。首先,我们将在LCD上显示一些文本,然后将锅连接到ESP8266的ADC PIN。
在程序中,我们将读取电位计中的模拟输入,将其转换为数字值(使用ADC),并将ADC的结果映射到适当的对比值。这很简单。
这是调整显示的对比度的一种方法。您还可以使用其他方法,例如按钮,串行通信等。
笔记:ESP8266has only ADC Channel and its resolution is 10 bits i.e., the output of ADC of ESP8266 will be in the range of 0 to 1023. So, using the Arduino’s ‘map’ function, we can convert this range to a more suitable range for contrast (which is 0 to 100).
电路原理图
以下电路图显示了用于使用ESP8266和电位计调整诺基亚5110 LCD显示屏的连接。
代码
下图显示诺基亚5110 LCD上的对比度设置较低。
同样,我们甚至可以通过转动电位计增加对比度。下图显示了更高的对比度设置。
结论
一个简单的项目,了解如何将诺基亚5110 LCD与ESP8266 Nodemcu板接口。您了解了诺基亚5110 LCD的引脚,ESP8266 Nodemcu和Nokia 5110之间的连接,Nodemcu ESP8266 Nokia 5110 LCD显示界面的连接工作,如何在LCD上显示一些文本以及如何调整诺基亚5110的对比度。