要做个能显示图形、还能显示彩色的界面,OLED那种单色屏就不够用了。ST7735是一块1.8英寸的TFT彩屏,能显示160×128像素的16位彩色,接上Arduino就能画图、显示文字和滚动信息,比普通LCD高级不少。这篇文章把接线讲清楚。

先认清八个脚:SPI为主、三根控制线
1.8寸ST7735模块引出的引脚一般有8个:VCC、GND、BL(背光)、SCK(时钟)、SDA(数据)、A0/DC(数据/命令切换)、RESET(复位)、CS(片选)。它不是那种插上就能用的屏,这8根线每一根都要接对,是第一次上手的难点所在。
其中跟SPI有关的SCK、SDA走数据,CS负责选中这块屏,而A0/DC用来告诉屏幕“你保存这个命令还是这个数据”,RESET用来复位屏幕状态,缺一不可,接错就花屏。
接线示范:一字排开接进Uno
标准的Uno接法:VCC接5V、GND接地、BL背光接5V(或接PWM脚做亮度控制)、SCK接13、SDA接11、A0/DC接9、RESET接8、CS接10。这套是配合Adafruit ST7735库最常用的接线,方便以后照库示例来。
接完之后,代码里初始化屏时要把CS、DC、RST三个脚的编号填对(一般就是10、9、8),再指定屏的类型是1.8寸的ST7735,程序才能正确“叫醒”这块屏。

显示中文和图像:库折腾两下就顺
驱动ST7735用Adafruit_ST7735和Adafruit_GFX这两个库最省心:初始化后就能用它画点、画线、画矩形、画圆,还能用内置字体显示英文和数字。要显示中文,得另外做字库,把要用的汉字按16×16的取模数据塞进去,写一个“按点阵画字符”的辅助函数,就能逐字拼出中文。
显示图像则用16位RGB565的色深,把一张图转成数组放进程序,再按行列画上去就能显示彩色图片。做仪表界面、做游戏画面、做数据可视化,都是这块屏的拿手好戏。
能做点啥:从仪表盘到迷你游戏机
接传感器就能做成一块实时仪表:温度、电量、速度用数字和色块显示出来,比OLED高级也直观。再进阶可以做简单的菜单界面、计分小游戏,或者做一块能滚动显示消息的信息屏。ST7735是入门彩色图形界面最好的一块屏。
花屏、无显示,按顺序查这几点
最常见的故障是花屏或无显示。先确认CS/DC/RST三个脚在代码里和实际接法一致,这是头号原因;再查背光脚有没有点亮;然后看SPI引脚SCK和SDA有没有接错反;最后供电要给足,别让屏和主控抢电。初始化顺序也影响很大,复位后要稍微延时再初始化。
ST7735是一块能把Arduino从“单色小字”带进“彩色图形界面”的进阶屏。八个脚按套路接对、两个库初始化好,画图、中文、图像就能跑起来,界面感瞬间上一个档次。







改成仪表盘显示温度和电量,比OLED高级多了
八个脚每个都要接对,第一次花屏基本都是CS/DC/RST没对上
Keil库初始化填对引脚编号,屏就老实亮了
中文要自己做字库取模,会了点阵就能拼汉字了