物联网开发103 – Micropython ESP32用增强固件驱动st7735s显示屏显示日期时钟和汉字

  • Post author:
  • Post category:python



一、目的

这一节我们来学习如何使用SP32使用加强版本的固件,加载中文字库,驱动st7735显示屏来显示汉字。


二、环境

ESP32开发板(MicroPython v1.15-13-g530c76f6c-dirty on 2021-04-30)+ 增强固件(esp32_1.15_fb_boost_4M_ULAB.bin) + st7735显示屏 + Win10商业版

接线方法:


三、示例代码

from machine import Pin,SPI,PWM,RTC
from st7735 import ST7735
import time

#设置屏幕亮度
BL = PWM(Pin(19),duty = (900),freq = (1000))

#创建SPI对象
spi = SPI(2,baudrate = 60_000_000,polarity = 0,sck = Pin(18),mosi = Pin(23))
#创建TFT液晶驱动对象
tft = ST7735(128,160,spi,dc = Pin(15,Pin.OUT), rst = Pin(4,Pin.OUT), cs = Pin(5,Pin.OUT), rot=2, bgr=0)
#挂载字库
tft.font_load("GB2312-24.fon")

#RTC时钟函数
def RTC_DataTime():
    # 创建时钟对象
    rtc = RTC()
    
    xingq = ['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
    
    if(rtc.datetime()[0] != 2023):
        rtc.datetime(('2023,01,08,6,12,41,0,0'))
    # 获取时钟
    data = rtc.datetime()
    print(data)
    nian = data[0]
    yue  = data[1]
    ri   = data[2]
    xq   = data[3]
    shi  = data[4]
    fen  = data[5]
    miao = data[6]
    us   = data[7]
    
    # 屏幕背景设为黑色
    tft.fill(tft.rgb(0,0,0))
    # 显示汉字,并设置字体颜色
    tft.text("魔都飘雪",30,6,tft.rgb(0,0,255))
    # 显示横线,并设置颜色
    tft.hline(0,25,128,tft.rgb(0,255,255))
    tft.hline(0,30,128,tft.rgb(0,255,255))
    # 显示日期-年月日
    tft.text("%d年%.2d月%.2d日"%(nian,yue,ri),24,45,tft.rgb(255,255,255))
    # 显示日期-时分秒星期
    tft.text("%.2d时%.2d分%.2d秒 - %s"%(shi,fen,miao,xingq[xq]),2,66,tft.rgb(255,200,100))
    # 显示汉字
    tft.text("欢迎来到上海",2,84,tft.rgb(100,255,255))
    tft.text("愿您玩开心!",60,100,tft.rgb(0,0,255))
    # 微秒显示,1秒等于1000000us
    tft.text("毫秒: %3d" % (us),40,120,tft.rgb(255,255,0))
    tft.show()
    
#主函数   
def main():
    tft.fill(tft.rgb(0,0,0))
    tft.show()
    
    while True:
        RTC_DataTime()
           
           
if __name__ == "__main__":
    main()


四、示例效果


五、增强字库和st7735驱动

请看我的上一篇文章获取。大家根据自己的ESP32开发板的存储大小,选择4M,8M还是16M的固件进行烧录!以及你的ESP32是否支持SPIRAM来选择带SPIRAM的固件。


六、屏幕购买




https://item.taobao.com/item.htm?spm=a1z09.2.0.0.7bb82e8djoNWJg&id=623153984122&_u=up01rcha0a0


icon-default.png?t=N2N8
https://item.taobao.com/item.htm?spm=a1z09.2.0.0.7bb82e8djoNWJg&id=623153984122&_u=up01rcha0a0




版权声明:本文为zhusongziye原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。