TFT | GND | VCC | SCL/SCK | SDA | RES/RST | DC | CS | BL |
---|---|---|---|---|---|---|---|---|
ESP32 | GND | VCC | GPIO18 | GPIO23 | GPIO4 | GPIO21 | GPIO5 | GPIO22/不接 |
初始化:使用st7735s包下的ST7735S
与machine包下的SPI
对象进行初始化,SPI基础参数为SPI(总线位置, 波特率, 时钟极性, 时钟相位, 时钟引脚, 主机输出引脚, 主机输入引脚)
,ST7735S基础参数为ST7735S(spi对象, 显示器宽度, 显示器高度, DC引脚位置, RES/RST引脚位置, CS引脚位置, BL引脚位置, 旋转角度, 偏移x地址, 偏移y地址)
,例如SPI为spi = SPI(1, baudrate=20_000_000, sck=Pin(18), mosi=Pin(23), miso=None)
,ST7735S为tft = st7735s.ST7735S(spi, dc=21, rst=4, cs=5, bl=22, rotate=2, width=128, height=128, xo=1, yo=3)
,若您与我上述推荐接线位置相同,则可直接应用该例子,上述展示的参数中,偏移x地址与偏移y地址用来校准内容在显示器上的位置,用于移动显示器内容整体,一般显示器周围有噪点、花边等异常,可以通过这两个偏移地址进行调节,例如右边有花边就慢慢将x调高以覆盖,而旋转角度一般选2就足够了
-
渲染:
-
show()
,用于刷新整个屏幕内容,所有渲染函数调用后需接上此函数以达成刷新屏幕的目的 -
text()
,此为framebuf自带,用于渲染英文信息,基础参数为text(英文信息, 坐标x, 坐标y, 颜色)
,例如text("ST7735S", 0, 0, 0x0000)
,含义为在0,0坐标渲染黑色字体的“ST7735S” -
draw_text()
,用于渲染字库信息,基础参数为draw_text(中文信息, 坐标x, 坐标y, 字库文件, 颜色, 是否透明)
,例如draw_text("你好", 0, 0, gbk.GBKFont(), 0x0000, False)
,含义为在0,0坐标渲染黑色字体的“你好”,关于字库文件,稍后会介绍 -
draw_image()
,用于渲染转化成RGB565图片,基础参数为draw_image(图片数据, 图片宽度, 图片高度, 坐标x, 坐标y, 格式)
,例如draw_image(data, 128, 128, 0, 0, format)
,含义为将data图片渲染128x的像素,其中x与y默认为0,format默认为framebuf.RGB565,这三项一般format无需填写,除非您有GS8的格式需求,data数据可以使用我提供的trgb565.py
脚本来转化,使用方式为python trgb565.py [源图片路径] [输出路径]
,在使用此脚本前需执行pip install pillow
以安装需要的前置包,请记住该脚本需要在标准Python环境执行,后将输出的RGB565文件烧录至MicroPython设备 -
fill()
,此为framebuf自带,用于渲染整个屏幕,基础参数为fill(颜色)
,例如fill(0x0000)
,含义为将整个屏幕渲染成黑色,在每次渲染新内容前执行此函数,否则上一次渲染的内容将会与新内容覆盖
-
-
字库
-
导入
gbk.py
文件即可使用GBKFont()
类来进行gbk字库的应用 -
请务必将
gbk16x16.btree
放置于脚本同目录
-
-
命令
_write()
,用于写入对st7735s显示器的命令,基础参数为_write()
,例如_write(0x28)
,含义为关闭显示
-
待机
-
sleep()
,用于使显示器进入睡眠模式,无基础参数,直接使用 -
wakeup()
用于唤醒屏幕,无基础参数,直接使用
-
感谢Gitee上作者CCH的ST7735项目提供的部分函数,如需其他拓展函数,请访问该项目地址