----------------------------------------------------------------------------------------------------------------------

​​​​​​Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台

Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台(实验一)

Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台(实验二)玩具示波器

Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台(实验三)折腾 TFT_eSPI 库

Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台(实验四)直接显示网络图片

Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台(实验五)温湿度

----------------------------------------------------------------------------------------------------------------------

折腾TFT_eSPI.h

很早知道 TFT_eSPI.h 库,在本系列实验之前中为什么一直用 Adafruit_ST7735.h 这个库呢?那是走了些弯路,毕竟ST7735S相对来说不是最广泛使用,进入我的视线也是 合宙 这款 1.8‘ TFT只卖9.9 包邮。到手后测试发现用 Adafruit_ST7735.h 这个库显示很正常,但是用  TFT_eSPI.h 屏幕显示错位,按说明改参数后无法修复。再加上看了很多网文说 TFT_eSPI.h 接线需要按硬件SPI连线,当时用ESP8266测试的确也是,我又喜欢直接插这种自定义引脚的方式,正好 Adafruit_ST7735.h 就是支持的,那么就先这么用吧。

今天无聊又翻出 ESP32 来测试  TFT_eSPI , 依然还是显示错位,依然还是改参数无效,正准备又放弃时,发现参数列表后面还有一个看起来可能的没试,一试果然OK了。原来下图这种事真的有可能发生。

TFT_eSPI 库首次使用,需要配置库安装目录里的 User_Setup.h  (不同屏和开发板引脚配置不同。。。省略1万字)

把该文件改个名字做个备份,然后用下面内容替换里面所有文字。我只是配置测试通过后删除了注释和其他开发板的内容。只在 合宙1.8’ TFT 验证通过,其他的自己看着办。


#define USER_SETUP_INFO "User_Setup"#define ST7735_DRIVER
#define TFT_RGB_ORDER TFT_RGB
#define TFT_WIDTH  128
#define TFT_HEIGHT 160
#define ST7735_REDTAB// GND
// VCC
#define TFT_SCLK     2
#define TFT_MOSI    3
#define TFT_RST       10
#define TFT_DC        6
#define TFT_CS         7
#define SPI_FREQUENCY  40000000  // 不建议大于27M#define LOAD_GLCD   // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2  // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4  // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6  // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7  // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-.
#define LOAD_FONT8  // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT
#define LOAD_GFXFF  // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts
#define SMOOTH_FONT   // Comment out this will save ~20kbytes of FLASH

于是打开任意 TFT_eSPI 自带例程即可愉快的玩耍了。

ESP32 引脚略不同,看着引脚图, 确定 GND 3.3V 位置后 按上面配置修改其余5个引脚号即可。

比如我手里的 ESP32 这样改:


#define USER_SETUP_INFO "User_Setup"#define ST7735_DRIVER
#define TFT_RGB_ORDER TFT_RGB
#define TFT_WIDTH  128
#define TFT_HEIGHT 160
#define ST7735_REDTAB
#define SPI_FREQUENCY  40000000  // 不建议大于27M// GND
// VCC
#define TFT_SCLK   15
#define TFT_MOSI  2
#define TFT_RST     4
#define TFT_DC      16
#define TFT_CS       17 #define LOAD_GLCD   // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2  // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4  // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6  // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7  // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-.
#define LOAD_FONT8  // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT
#define LOAD_GFXFF  // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts
#define SMOOTH_FONT   // Comment out this will save ~20kbytes of FLASH

最后实测,引脚不变,单次清屏,用  TFT_eSPI.h 比  Adafruit_ST7735.h 竟然快50倍。一下子对合宙这块屏兴趣大增,以前因为太慢不敢想的图片视频类应用也排上了实验清单。

录了个视频,没必要长传优酷了,视频转Gif  意思意思。

-------------------------------------------------------------------------------------------------------------------------

折腾 LVGL

LVGL是基于 TFT_eSPI 的多平台GUI。

省略10万字。。。

折腾好一阵子,终于让 LVGL 跑起来,显示出一个蓝色按钮,蛮漂亮。

这里只开了个头,就不专文写了,因为这个可能要搁置了,暂时还没有用 arduino 玩大触摸屏的想法,而且SPI加触摸的大屏选择也不多。个人认为大触摸屏应用 android 或许要合适些。

注意,LVGL 需要触摸屏,本文前面写的引脚定义并不包含,单用 TFT_eSPI 没问题,跑 LVGL 需要增加下面一行到 User_Setup.h , 实测不加一定报错。引脚号任意,反正也没有可连接的。

#define TOUCH_CS 11

参考了以下博文:

arduino-esp32:使用LVGL_扶我起来我还有头发的博客-CSDN博客_esp32 lvglhttps://blog.csdn.net/unclejin_/article/details/123994267

Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台(实验三)折腾 TFT_eSPI 库相关推荐

  1. WOKWI - Arduino/ESP32/树莓派等在线Pico仿真学习平台

    WOKWI 是一个很酷的支持Arduino.ESP32.树莓派Pico在线仿真学习的网站. 软件官网:https://wokwi.com/ WOKWI 官方帮助文档:https://docs.wokw ...

  2. 《嵌入式基础》实验三 ARM编程模型和ARM指令

    零.前言 本人不擅长写汇编相关的东西,所以以下内容也是不断摸索(百度 ) 整出来的,和linux的实验报告的质量相比较低. 一. 实验目的 掌握ARM微处理器的汇编指令的使用方法. 掌握使用 LDM/ ...

  3. Hadoop3.0基础平台搭建(三节点),以及案例运行并使用python生成词云

    一.设备配置列表,软件包 二.主机名映射 三.生成密钥 四.将密钥发送到各个节点 五.注意事项及验证 六.关闭防火墙和SeLinux安全模块(所有主机均需操作 七.解压JDK.hadoop包,设置Ja ...

  4. Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台(实验二)玩具示波器

    ---------------------------------------------------------------------------------------------------- ...

  5. Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台(实验四)直接显示网络图片

    ---------------------------------------------------------------------------------------------------- ...

  6. Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台(实验六)手机控制 DDS AD9851 (70MHz 正弦波 方波 )

    ---------------------------------------------------------------------------------------------------- ...

  7. ESP32:使用TFT_eSPI库驱动TFT串口屏

    目录 实验条件 软件部分 TFT_eSPI库的安装 配置文件 硬件部分 esp32 LCD串口屏 接线方式 实验部分 参考文章 本文使用 esp32结合 TFT_eSPI库点亮了一块 ILI9341驱 ...

  8. 【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏

    实验使用的硬件,软件平台使用Arduino IDE(见<[花雕体验]15 尝试搭建Beetle ESP32 C3之Arduino开发环境>) WS2812B 是一个集控制电路与发光电路于一 ...

  9. Esp32 C3 Arduino 串口开发(1)

    网上合宙的esp32 C3 的测试版 9.9元,简洁小巧,用于学习测试非常方便.原来是装的Luatos,可以直接用Arduino开发.Arduino安装的为最新版 V2.00RC8,有点类似 vSco ...

最新文章

  1. 先考学历还是先提升能力?
  2. 《零基础入门学习Python》学习过程笔记【013元组】
  3. python3 scrapy 教程_Scrapy 教程
  4. iOS 真机调试包集合 包含 iOS 12.4 不断更新
  5. SAP CDS view里如何定义association
  6. ansbile--playbook剧本案例
  7. Windows平台RTMP多实例推送探讨
  8. 动态切换view视图viewflipper组件
  9. java 中缀式转后缀式
  10. haoi2018奇怪的背包题解
  11. 考研:无穷小微积分的不适症
  12. 没有人能拒绝这个网站,没有人!!!
  13. ZC公司员工评分系统——前台排版算法
  14. Element UI 前端分页
  15. t分布f分布与样本均值抽样分布_常见的统计分布--数据分析
  16. 循序渐进大数据组件之--【Zookeeper 03】进阶(选举机制以及ZBA协议)
  17. 博士申请 | 香港大学赵恒爽老师招收CV/ML/AI方向全奖博士/博后/RA
  18. MATLAB 如何做16进制运算
  19. Flutter Container 组件
  20. 读IDEO 设计改变一切的思考

热门文章

  1. python图片表格单元格切分
  2. EXCEL05:文本函数
  3. Mac OS版本如何重置mysql密码
  4. 恢复出厂设置在哪里?抓住这份官方指南(Win10电脑)
  5. 前端html标签总结,前端面试准备之html知点总结(一)
  6. Spring - java http get请求,返回字符串多加了一层引号“
  7. 宋劲彬《从C到C++》视频
  8. AirBuddy让你在Mac上像iPhone一样使用AirPods
  9. ubuntu 添加用户指定登录shell修改登录shell
  10. AndroidStudio手机开发——校园广告APP