ESP32 C3连接并使用LCD屏幕

前端时间买了个ESP32 C3的开发板,合宙的经典版,Arduino和MicroPython下均能正常运行,而且价格便宜,还算不错。

至于合宙搭配出售的Air101 LCD,分辨率80*160,要连接并通过MicroPython驱动,参考了这篇之后,能够驱动并显示文字、图片等内容。

完事做个总结。

C3开发板和I2C屏幕的一般连接法:

LCD ESP32-C3
GND GND
VCC 3.3V
SCL GPIO 02
SDA GPIO 03
RES GPIO 10
DC GPIO 06
CS GPIO 07
BL

合宙的C3用此法连接直接就是连着的7个针脚,很好辨认。果云的C3也可以,唯独IO03针脚被RED灯占用,换IO08即可。

里面用到了st7735的驱动,源代码及示例见Github 。用TFT_eSPI也可以,它支持的范围更广,包括但不限于ST7735,但是只能用在Arduino,不支持MicroPython。

注意:ST7735的库默认不支持中文,中文字体的显示另外参考这篇,我自己没有测试。

另可选别的st7735驱动的TFT屏,比如1.8寸的,分辨率一般为128*160.

在更高级的芯片上,如ESP32和S3,可选规格更高的屏,甚至是带触摸的。

由于所使用的ST7735库是Python代码软驱,所以渲染效率奇差,基本上渲染一屏字体都要两三秒,图片就更不用说了。这就使得它的应用范围极其狭小。

若想提高渲染效率,途径如下

  1. 换更高规格的开发板;
  2. 使用lv_micropython,但编译有问题;
  3. 换开发环境,用Arduino & (TFT_eSPI || LVGL);

合宙官方的LuatOS通用性差,文档写的又太随意,就不考虑了。

Leave a Comment

豫ICP备19001387号-1