2.8寸触控屏和ESP32使用ESP_IDF和C语言编译LVGL移植写自定义可点击按钮

bilibili-视频演示

点击本文字,打开哔哩哔哩APP

NO.1
本期内容

2.8寸触控屏和开发板

触控演示

img

正面LVGL图形化和触控演示

img

背面ESP32电路

img

NO.2
注意事项

x宝客服提供了百度云的资料下载

  1. 演示demo的源码

  2. 电路设计图和英文文档

  3. 演示demo的固件和刷入方式

img

但是经过实际操作

demo中的arduino方式和idf方法,能成功运行编译的不多

因为并没有文档描述制定的编辑器版本和编译环境

从代码和电路图可以看到屏幕和触控的接线

屏幕接线

img

#define TFT_MOSI 13 // In some display driver board, it might be written as "SDA" and so on.#define TFT_SCLK 14#define TFT_CS   15  // Chip select control pin#define TFT_DC   2  // Data Command control pin#define TFT_RST  12  // Reset pin (could connect to Arduino RESET pin)#define TFT_BL   21  // LED back-light

触控接线

img

#define XPT2046_IRQ      36#define XPT2046_MOSI    32#define XPT2046_MISO    39#define XPT2046_CLK      25#define XPT2046_CS      33

特别注意

如果使用MicroPython+LVGL+ILI9431+XPT2046

那么目前的方式只有

显示屏和触控的接线共享一个SPI

也就是MOSI+MISO+CLK是共用13,14,15,而不是触控独立接线32,39,25

所以使用这个开发板和屏幕,是无法MicroPython+LVGL同时触控的

NO.3
ESP-IDF

虽然无法MicroPython

但是使用ESP_IDF使用c语言开发是可以同时图形化和触控(LVGL)

这里并没有使用x宝给的资料

而是在网上找到真正厂家的文档和资料

img

原厂家视频

https://www.youtube.com/watch?v=d2OXlVcRYrU

img

原厂家商品

https://www.makerfabs.com/sunton-esp32-2-8-inch-tft-with-touch.html

img

原厂家文档

https://wiki.makerfabs.com/Sunton_ESP32_2.8_inch_240x320_TFT_with_Touch.html

img

完整的demo代码

https://drive.google.com/drive/folders/1WE6-deYVILK3k2NOrxQnq73NqyO18ksO

img

NO.4
Tips

总结如下

  1. x宝买了一个2.8寸电阻屏带开发板

  2. x宝客服一问三不知,给的资料也是无法编译,仅供参考,全英文,商品评论都是文不对货的描述

  3. 花了几天时间查看代码,查看电路图,找出了屏幕接线和触控接线,尝试使用MicroPython,尝试arduino和esp-idf编译

  4. 尝试ESP_IDF移植LVGL成功,自定义了一个可以触控的按钮

往期文章

3D打印[Fusion 360] : 螺纹柱(螺母)、螺纹孔(螺丝)固定屏幕

END