Skip to content

一个针对于micropython编写的st7735s显示屏的驱动,实际测试用例为esp32wroom32与1.44寸tft屏幕

License

Notifications You must be signed in to change notification settings

FreeStar007/MicroPython-ST7735S-Driver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

基于MicroPython的ST7735S显示器驱动指南

建议针脚连接(以TFT显示器与ESP32-WROOM-32显示器为例)

TFT GND VCC SCL/SCK SDA RES/RST DC CS BL
ESP32 GND VCC GPIO18 GPIO23 GPIO4 GPIO21 GPIO5 GPIO22/不接

核心API

初始化:使用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就足够了

  1. 渲染

    • 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),含义为将整个屏幕渲染成黑色,在每次渲染新内容前执行此函数,否则上一次渲染的内容将会与新内容覆盖

  2. 字库

    • 导入gbk.py文件即可使用GBKFont()类来进行gbk字库的应用

    • 请务必将gbk16x16.btree放置于脚本同目录

  3. 命令

    • _write(),用于写入对st7735s显示器的命令,基础参数为_write(),例如_write(0x28),含义为关闭显示
  4. 待机

    • sleep(),用于使显示器进入睡眠模式,无基础参数,直接使用

    • wakeup()用于唤醒屏幕,无基础参数,直接使用

借鉴项目地址

感谢Gitee上作者CCH的ST7735项目提供的部分函数,如需其他拓展函数,请访问该项目地址

About

一个针对于micropython编写的st7735s显示屏的驱动,实际测试用例为esp32wroom32与1.44寸tft屏幕

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages