micropython 通过spi驱动LCD显示屏

    我呢一直对电路设计和程序设计有非常大的爱好,不好说有多精通,纯属个人弄着玩的,所以后面有时间可以和大家一起来交流一下,另外最近也接触了一些PCB,所以一些开发板之类的都自己设计制作了。

    今天讲的是通过micropython来驱动LCD显示,用的到设备主要是:一块SPI接口的显示屏、一块ESP32开发板、面包板,再加上一些跳线就够了。

    用到的东西的全家福^-^:

micropython 通过spi驱动LCD显示屏_第1张图片

     图中开发板是我自己打板的,所以有些对不上的没关系,在自己的开发板上找对应端口就好了。

     在连线之前,先发一张ESP32端口图,还有一些相关的知道就需要自己去学习了。

micropython 通过spi驱动LCD显示屏_第2张图片

来看看SPI端口定义

micropython 通过spi驱动LCD显示屏_第3张图片

    截图文档来源地址: https://docs.micropython.org/en/latest/esp32/quickref.html 

    从文档中可以看到ESP32有两个硬件SPI接口,这两组随便哪组都可以了,当然也有软件实现的SPI,在大部分接口上都可以,这个具体看文档就好了。

    接着最好能找到显示屏的驱动芯片型号,这样可以方便驱动起来,我的是ST7735,驱动文件在文章末尾。

    我们这里就使用第二组,实现代码如下

import machine
from machine import SPI,Pin

# 初始化屏幕显示
from ST7735 import TFT
from sysfont import sysfont
tft_spi = SPI(2, baudrate=20000000, polarity=0, phase=0, sck=Pin(18), mosi=Pin(23))
# 引脚对应关系
#  21 --- dc
#  22 --- rst
#  19 --- cs
#  5  --- blk 亮度控制,可以通过PWM控制LCD的亮度,当然可以不接,这样就是最大亮度
tft=TFT(tft_spi,dc=21,rst=22,cs=19,blk=5)
tft.initr()
tft.rgb(True)
tft.fill(TFT.BLACK)
# 调整亮度为50%
tft.light(50)


# 显示内容
tft.text((1,1),"Hello World !",TFT.YELLOW)

线接对的话基本上就没什么太大的问题了,只要搞明白之后就还是比较简单的了。

文末放了ST7735 MicroPython的驱动文件,需要可以直接下载。

下载地址:https://download.csdn.net/download/weixin_57604547/25674034

另外提供百度盘的下载地址:

链接: https://pan.baidu.com/s/1XhkzrQvw_LoGOtjO1Xv9Yw 提取码: nlk0

你可能感兴趣的:(MicroPython,ESP,python)