## 项目17 I2C 128×32 LCD

**1. 项目介绍：**

在生活中，我们可以利用显示器等模块来做各种实验。你也可以DIY各种各样的小物件。例如，用一个温度传感器和显示器做一个温度测试仪，或者用一个超声波模块和显示器做一个距离测试仪。下面，我们将使用LCD_128X32_DOT模块作为显示器，将其连接到ESP32控制板上。将使用ESP32主板控制LCD_128X32_DOT显示屏显示各种英文文字、常用符号和数字。

**2. 项目元件：**

|![Img](./media/afc52f6616725ba37e3b12a2e01685ad.png)|![Img](./media/a2aa343488c11843f13ae0413547c673.png)|![Img](./media/c4b08ad87310ea27bc06383257cc7f8f.png)|
| :--: | :--: | :--: |
|ESP32*1|面包板*1|LCD_128X32_DOT*1|
|![Img](./media/4191d5454859076aa2a6c069185be177.png)|![Img](./media/b4421594adeb4676d63581a1047c6935.png)| |
|4P转杜邦线公单*1|USB 线*1| |

**3. 元件知识：**

![Img](./media/c4b08ad87310ea27bc06383257cc7f8f.png)

**LCD_128X32_DOT：** 一个像素为128*32的液晶屏模块，它的驱动芯片为ST7567A。模块使用IIC通信方式，它不仅可以显示英文字母、符号，还可以显示中文文字和图案。使用时，还可以在代码中设置，让英文字母和符号等显示不同大小。

**LCD_128X32_DOT原理图：**

![Img](./media/a6f56f3c6481d37dc0dcf9cf74587781.png)

**LCD_128X32_DOT技术参数：**

显示像素：128*32 字符

工作电压：DC 5V

工作电流：100mA (5V)

模块最佳工作电压：5V

亮度、对比度可通过程序指令控制

**4. 项目接线图：**

![Img](./media/229ce4e1ad8b01c71577d8f777e8195b.png)

**5. 代码说明：**

![Img](./media/img-20241029091418.png)

初始化LCD_128X32_DOT的管脚。

![Img](./media/img-20241029091523.png)

对LCD_128X32_DOT清屏

![Img](./media/img-20241029091630.png)

设置LCD_128X32_DOT显示内容的位置。

![Img](./media/img-20241029091724.png)

LCD_128X32_DOT显示字符串（数字，符号和字母等等）。

**6. 项目代码：**

你可以打开我们提供的代码，也可以自己编写代码，其如下：

1. 从 “![Img](./media/img-20241023140031.png)” 拖出 “![Img](./media/img-20241023140106.png)”。

2. 从 “![Img](./media/img-20241029081006.png)” 分别拖出 “![Img](./media/img-20241029092015.png)” 和 “![Img](./media/img-20241029092035.png)” 放入 “![Img](./media/img-20241023140106.png)” 。

![Img](./media/img-20241029092104.png)

3. 从 “![Img](./media/img-20241029081006.png)” 分别拖出 “![Img](./media/img-20241029094759.png)” 和 “![Img](./media/img-20241029094851.png)” ，设置第 0 行第4，将字符串 abcd 改成 KEYESTUDIO 。

![Img](./media/img-20241029095149.png)

4. 复制代码块 “![Img](./media/img-20241029095316.png)” 3次，将（0，4）分别改成（1，0）、（2，0）、（3，0）；将字符串 KEYESTUDIO 分别改成 ABCDEFGHIJKLMNOPQR 、123456789+-*/<>=$@ 、%^&(){}:;'|?,.~\\[] 。

![Img](./media/img-20241029095601.png)

完整代码：

![Img](./media/img-20241029095635.png)

**7. 项目现象：**

代码上传成功后，利用USB线上电，你会看到的现象是：128X32LCD模块显示屏第一行显示“KEYESTUDIO”、第二行显示“ABCDEFGHIJKLMNOPQR”、第三行显示“123456789+-*/<>=$@”、第四行显示“%^&(){}:;'|?,.~\\[]”。

![Img](./media/eeada568b7ef98fefa27e9f22435befd.png)





