- 适用于
Micropython
的:高通用性,多功能,纯Micropython
实现的显示库 - 自用,顺便开源,希望能够推动
Micropython
生态的发展
- 可以通过导入
bmf
字体文件,显示非ASCII
字符,比如:中文 和 特殊符号 - 支持
P4
/P6
格式的PBM
图片显示,以及24-bit
的BMP
图片显示 - 初始化时可以设置默认参数,调用函数时更简洁,同时调用指定函数时,本次调用可覆盖默认参数
- 兼容大多数
MicroPython
官方和非官方版本,纯MicroPython
原生实现,不需要进行固件编译,同时尽可能保持了高效率 - 支持多种屏幕的多种工作模式
SSD1306
,ST7735
,ST7789
,支持低内存开发板驱动高分辨率屏幕(如ESP32C3
驱动240*240
ST7789
)
- 详见源码注释
dat
格式的图片在非 Framebuffer 驱动模式下,不得超出屏幕显示范围,否则图像可能无法正常显示
# 这是一个使用示例 This is an example of usage
import time
from machine import SPI, Pin
from driver import st7735_buf
from lib.easydisplay import EasyDisplay
# ESP32S3 & ST7735
spi = SPI(1, baudrate=20000000, polarity=0, phase=0, sck=Pin(18), mosi=Pin(17))
dp = st7735_buf.ST7735(width=128, height=128, spi=spi, cs=14, dc=15, res=16, rotate=1, bl=13, invert=False, rgb=False)
ed = EasyDisplay(dp, "RGB565", font="/text_lite_16px_2312.v3.bmf", show=True, color=0xFFFF, clear=True)
ed.bmp("/img/test.bmp", 0, 0)
time.sleep(3)
ed.pbm("/img/test.pbm", 0, 0)
time.sleep(3)
ed.text("你好,世界!\nHello World!\nこんにちは、世界!", 0, 0)
# 更多高级使用方式详见源码注释:/lib/easydisplay.py
# For more advanced usage, please refer to the source code comments: /lib/easydisplay.py
参考项目:
中文显示:https://github.com/AntonVanke/MicroPython-Chinese-Font
BMP图片显示:https://github.com/boochow/MicroPython-ST7735/blob/master/tftbmp.py
PBM图像显示:https://www.bilibili.com/video/av798158808/
PBM文件格式:https://www.cnblogs.com/SeekHit/p/7055748.html
PBM文件转换:https://blog.csdn.net/jd3096/article/details/121319042
灰度化、二值化:https://blog.csdn.net/li_wen01/article/details/72867057
感谢各位大佬对开源做出的贡献!
交流QQ群:748103265