如何在TFT屏幕上显示GIF动图教程(ESP32MicroPython)240x240TFT-st7789驱动

在这里插入图片描述

我们的项目是在240x240屏幕上显示下面这张动态图片

请添加图片描述

效果演示

由于esp32内存大小关系每次屏幕最多只能刷新72行,肉眼看到的效果有些割裂感
请添加图片描述

关于ST7789

ST7789是由Sitronix公司研制的一款高度集成的液晶显示控制器芯片,它被广泛用于驱动LCD屏幕。这款芯片支持RGB565、RGB666以及RGB888格式的彩色显示,具有240x320像素的分辨率和最大60帧/秒的刷新率。在市场上,采用ST7789驱动IC的屏幕并不少见,例如1.3寸和1.54寸的屏幕均采用了这款驱动芯片。此外,值得注意的是,尽管驱动芯片相同,由于不同TFT厂家在设计接口时各有不同,所以使用体验可能会有所差异。

240x240屏幕介绍

请添加图片描述
请添加图片描述
有8个引脚,说明如下
在这里插入图片描述
和esp32接线方面
请添加图片描述
请添加图片描述

代码部分

在ESP32上使用ST7789驱动模块显示13张图片的。首先,它导入了必要的库,然后初始化了ST7789驱动模块,将背景设置为黑色。接着,它创建了一个包含13个文件对象的列表,这些文件对象分别对应13张图片。show_img()函数是一个无限循环,它会遍历这13个文件对象,每次读取一张图片的数据,并将其显示在屏幕上。为了控制图片切换速度,代码中添加了一个0.1秒的延时。最后,main()函数调用了show_img()函数,程序开始执行。

项目源码以及库和文件点击下方链接
ESP32 单片鸡,记得开庭的时候带上你的单片鸡

from machine import Pin, SPI
import st7789_itprojects
import time


tft = st7789_itprojects.ST7889_Image(SPI(2, 60000000), dc=Pin(2), cs=Pin(5), rst=Pin(15))
tft.fill(st7789_itprojects.color565(0, 0, 0))  # 背景设置为黑色

# 因为用到了13张图片,所以这里创建13个文件对象 放到列表中
f_list = [open("text_img{}.dat".format(i), "rb") for i in range(0, 13)]


def show_img():
    while True:
        for f in f_list:  # 遍历13个文件,显示图片
            f.seek(0)	#文件指针拉回到开始处
            for row in range(0, 240, 24*3):
                buffer = f.read(11520*3)
                tft.show_img(0, row, 239, row+24*3, buffer)


def main():
    show_img()

if __name__ == "__main__":
    main()



  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宁子希

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值