ESP32-S3-Touch-LCD-1.28 V2

来自Waveshare Wiki
跳转至: 导航搜索


ESP32-S3-Touch-LCD-1.28
{{{name2}}}
{{{name3}}}
功能简介
特性 无特性,不解释
主控 ESP32-S3R2
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 Type C USB

说明

产品简介

ESP32-S3-Touch-LCD-1.28(以下统称开发板) 是一款微雪 (Waveshare) 设计的低成本,高性能的微控制器开发板。其中板载了 1.28 英寸电容触摸 LCD 屏、锂电池充电芯片、六轴传感器(三轴加速度计与三轴陀螺仪)等外设,采用的 ESP32-S3R2 是集成了低功耗 Wi-Fi 和 BLE 5.0 的系统级芯片(SoC),此外还具有外部 16MB Flash 和 2MB PSRAM。Soc内部的硬件加密加速器、RNG、HMAC 和数字签名 (Digital Signature) 模块,可以满足物联网的安全要求。多种低功耗工作状态满足在物联网 (IoT)、移动设备、可穿戴电子设备、智能家居等应用场景的功耗需求。

产品特性

  • 搭载高性能 Xtensa® 32 位 LX7 双核处理器,主频高达 240 MHz
  • 支持 2.4 GHz Wi-Fi (802.11 b/g/n) 和 Bluetooth® 5 (LE),板载天线
  • 内置 512KB 的 SRAM 和 384KB ROM,叠封 2MB PSRAM 和外接 16MB Flash
  • 采用 Type-C 接口,紧跟时代潮流,无需纠结正反插
  • 板载 1.28 英寸电容触摸 LCD 屏,240×240 分辨率,65K 彩色
  • 板载 QMI8658 六轴惯性测量单元 (3 轴加速度、3 轴陀螺仪),可检测运动姿态
  • 板载 3.7V 锂电池充放电接口和引出 6 个 GPIO 的 SH1.0 连接器
  • 支持灵活时钟,模块电源单独设置等精准控制,实现多场景低功耗模式
  • 集成 USB 串口全速控制器,GPIO 可灵活配置外设功能

产品参数

LCD参数
触摸芯片 CST816S 触摸接口 I2C
显示芯片 GC9A01A 显示接口 SPI
分辨率 240(H)RGB x 240(V) 显示尺寸 Φ32.4mm
显示面板 IPS 像素大小 0.135(H)x0.135(V)mm


IMU参数
传感器名称 QMI8658
加速度计特性 分辨率:16 位
量程 (可选):±2、±4、±8、±16g
陀螺仪特性 分辨率:16 位
量程 (可选):±16、±32、±64、±128、±256、±512、 ±1024、±2048°/sec

硬件说明

接口说明

Esp32-s3-touch-lcd-1.28-003.jpg

  • Type-C 接口 : 开发板使用CH343P芯片进行USB转UART,连接ESP32-S3的UART_TXD(GPIO43)和UART_RXD(GPIO44),用于固件烧录和日志打印。搭配自动下载电路,接上Type-C线缆后可直接下载固件。
  • SH1.0 连接器 : 开发板引出6个GPIO用于外部连接,GPIO可配置成I2C、SPI等外设功能,VSYS可直接输入5V为开发板供电。
  • LCD 接口 : 开发板板载4线 SPI 通信的 1.28 寸屏幕,SPI速率可提升至80MHz,触摸使用 I2C 通信(开发板使用 GPIO2 控制背光亮度,另外引出两个 MOS 管控制开关触点在电池座子周边,分别连接GPIO4,GPIO5,可自行焊接小电流设备如震动电机等,详情请查阅原理图
  • I2C 接口 : ESP32-S3提供多路硬件I2C,目前使用GPIO6(SDA)和GPIO7(SCL)引脚做I2C总线。挂载板上QMI8658六轴惯性测量单元和LCD触摸控制芯片,详情请查阅原理图
  • MX1.25连接器 : 开发板的 GPIO1 用于测量电池电压引脚,电池电压使用 200K 和 100K 串联分压连接到 GPIO1, ESP32-S3 系列有 2 路 12Bit SAR ADC 测量单元,源码中转换成电压公式是 3.3 / (1<<12) * 3 * AD_Value
引脚连接
ESP32-S3R2 LCD SH1.0 MX1.25 QMI8658 other
GPIO0 BOOT0
GPIO1 ADC
GPIO2 LCD_BL
GPIO3 INT2
GPIO4 INT1 MOSFET1_CS
GPIO5 TP_INT MOSFET2_CS
GPIO6 TP_SDA SDA
GPIO7 TP_SCL SCL
GPIO8 LCD_DC
GPIO9 LCD_CS
GPIO10 LCD_CLK
GPIO11 LCD_MOSI
GPIO12 LCD_MISO
GPIO13 TP_RST
GPIO14 LCD_RST
GPIO15 GPIO15
GPIO16 GPIO16
GPIO17 GPIO17
GPIO18 GPIO18
GPIO19
GPIO20
GPIO21 GPIO21
GPIO33 GPIO33

产品尺寸

Esp32-s3-touch-lcd-1.28-002.jpg

环境说明

Arduino开发

Arduino 开发环境是一个为 Arduino 硬件平台量身打造的集成开发环境。它具备直观的图形界面,即使是编程新手也能轻松上手,其使用的编程语言类似 C/C++ 但语法更为简化。Arduino 开发板有多种型号,可满足不同项目需求,且能与各种传感器、执行器和扩展模块便捷连接。同时,Arduino 拥有庞大的全球用户社区,提供了海量的开源代码、项目示例和教程,还有丰富的库资源,封装了复杂功能,让开发者能快速实现各种功能,并且具有跨平台性,可在 Windows、macOS 和 Linux 等多个操作系统上运行。

MicroPython开发

MicroPython 是在微控制器上运行的 Python 实现。它充分发挥了 Python 简洁易读的语法优势,开发效率高,用少量代码就能实现复杂功能,如在 ESP8266 和 ESP32 等芯片上可轻松实现物联网应用。通常使用文本编辑器配合特定插件进行开发,插件提供代码高亮、自动补全、远程调试等功能。MicroPython 为学生和初学者提供了很好的入门途径,让他们在熟悉的语言环境中学习嵌入式开发。

准备事项

  • Windows 10 以上电脑
  • ESP32-S3-Touch-LCD-1.28开发板及其配件
  • USB 读卡器以及 SD 卡

注意事项

  1. 圆形触摸屏的边缘,触摸灵敏和准确度会有所下降,这是正常的,圆形结构的触摸屏都会有这种情况
  2. 开发板使用时注意陶瓷天线区域,避免PCB板,金属,塑料件盖住陶瓷天线
  3. 板载高效充放电管理芯片 ETA6096 和 MX1.25 电池接口,目前设置充电电流为 1A,用户可自行更换 R15 电阻更改充电电流,接入 3.7V 单节锂电池,详情请查阅原理图,接入容量合适的 3.7V 单节锂电池
  4. 环境搭建时请注意使用提供的库文件与特定的ESP32固件版本

尊敬的用户:
在您开始操作之前,我们建议您先浏览目录,以便快速了解文档结构。同时,为了确保您能够顺利进行操作,我们建议您仔细阅读FAQ(常见问题解答),以便对可能遇到的问题有所准备。
为了方便您的使用,文档中所需的所有资料均已以超链接形式提供,您可以直接点击下载。此外,所有资料的汇总链接也已放置在文档末尾,供您参考。

Arduino开发

环境搭建

本节涵盖 Arduino 环境搭建步骤,包括下载安装 Arduino、安装 ESP32 开发板及库,还提供更多学习链接,为用户深入学习和使用 Arduino 提供了全面的指导。

下载和安装Arduino

  1. 打开官网软件下载页面,选择对应的系统和系统位数下载
    ESP32-S3-Touch-lcd-1.28-Ar-software-01.png
  2. 可以选择直接下载,也可以选择捐赠并下载
    ESP32-S3-Touch-lcd-1.28-Ar-software-02.png
  3. 运行安装程序,全部默认安装即可

安装ESP32开发板

本节详细介绍了 ESP32 开发板的两种安装方式:在线安装和离线安装。用户可根据自身的网络环境、安全需求和开发场景来选择合适的安装方法。

安装说明

  • 安装版本
    • 2.0.12

安装步骤

离线安装
  1. 下载离线包esp32_packages2.0.12_arduinome.exe 后双击安装,安装路径如下
    C:\Users\{用户名}\AppData\Local\Arduino15\Packages
    ESP32-S3-Touch-lcd-1.28-Ar-board-01.png
    若之前在线安装失败,请删除掉此路径下的 esp32 文件夹
  2. 重启 Arduino IDE,离线包安装完成
    ESP32-S3-Touch-lcd-1.28-Ar-board-02.png
在线安装
  1. 在 File->Preferences 下 Settings 界面的 Additional boards manager URLs 处填写下面链接后保存
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    Esp32-s3-zero-004.jpg
  2. 在 Board Manager 中搜索 esp32 ,选择2.0.12版本进行安装,下载安装完成后重启 Arduino IDE 生效

安装库

本节对示例程序中所用到的库文件进行了简要说明,并提供了库安装的详细步骤。

库文件说明

  1. TFT_eSPI_Setups 库
    • 设置显示屏分辨率与颜色深度,满足不同显示需求。
    • 配置通信接口和引脚连接,适配多种硬件。
    • 初始化显示模式和效果,提升视觉体验。
  2. TFT_eSPI 库
    • 能精确设置显示屏分辨率,让图像清晰呈现。调整颜色深度,丰富色彩表现。
    • 方便配置通信接口和引脚连接,确保稳定数据传输。
    • 可初始化显示模式,如横屏竖屏切换。优化显示效果,如调节亮度对比度。
  3. LVGL库
    • 可设置不同的显示分辨率,适应各类屏幕尺寸。调整颜色模式,呈现丰富视觉效果。
    • 能够适配多种通信接口,方便与不同硬件连接。灵活配置引脚,实现高效交互。
    • 可初始化多种显示模式,满足不同应用场景需求。优化显示效果,如增强对比度、调整亮度等,提升用户体验。

库安装步骤

  • TFT_SPI,lvgl 库安装后需要配置文件,建议直接将Esp32-s3-touch-lcd-lib中的 TFT_eSPI_Setups,TFT_eSPI,lvgl 文件夹复制到库文件目录下,库文件路径如下
C:\Users\{用户名}\Documents\Arduino\libraries 

注意:在库安装环节,若 Arduino 目录下无 “libraries” 文件夹,需新建该文件夹并确保命名正确,后续库文件将存于此。 ESP32-S3-Touch-lcd-1.28-ar-Lib-01.pngESP32-S3-Touch-lcd-1.28-ar-Lib-02.png

Demo功能测试

本节详述了 Arduino 例程和 Demo 的功能测试步骤,对各示例程序先进行功能阐释,强调测试前了解功能特性的重要性,同时提供了测试结果。

Arduino 例程

  1. 选择例程,以获取芯片 ID 的例程为例进行说明
    ESP32-S3-Touch-LCD-1.28-ArDemo-Example-03.png
  2. 选择 ESP32S3 Dev Module 作为我们的开发板
    ESP32-S3-Touch-LCD-1.28-ArDemo-Example-01.png
  3. 选择端口号时,此处选定 ESP32-S3 USB 口对应的 COM12 端口
    需注意,每个人的端口号各不相同,应选择与自己设备对应的正确端口号
    ESP32-S3-Touch-LCD-1.28-ArDemo-Example-02.png
  4. 点击下载按键,此时系统会自动进行编译并下载操作
    若下载失败,请按住 boot 键,对设备重新上电后松开 boot 键,随后再次进行下载
    ESP32-S3-GEEK-ArDemo-Example-04.png
  5. 下载完成后打开串口监视器,通过串口监视器能够看到循环输出的芯片 ID
    ESP32-S3-Touch-LCD-1.28-ArDemo-Example-07.png
  • 注意:此示例不能点亮LCD屏幕

esp32-s3-touch-lcd-1.28-demo

esp32-s3-touch-lcd-1.28-demo 示例,用于测试屏幕、六轴传感器、BAT、触摸屏的使用

  • 以下是该例程效果:
上电后,屏幕先间隔2秒显示白,红,绿,蓝四种颜色,检查屏幕有无漏光和黑点,若屏幕太快未看清,请按 RESET 按键重新复位开始

a.接着进入传感器测试环节,颜色显示完毕后,将会在屏幕上显示传感器数据,ACC_X、ACC_Y 和 ACC_Z 数值随着设备角度偏转会随之变化,GYR_X ,GYR_Y ,GYR_Z 数值会随着设备移动加速度的变化随之变化

b.此时接上3.7V锂电池,正常情况下,BAT(V)数值会降低

c.检查传感器后,长按红色区域“LongPress Quit”进入触摸测试环节,在 Touch test 的白色区域触摸打点程序
  • 直接烧录代码即可,LCD屏幕如图所示
    ESP32-S3-Touch-LCD-1.28-ArDemo-demo-01.pngESP32-S3-Touch-LCD-1.28-ArDemo-demo-02.png
    ESP32-S3-Touch-LCD-1.28-ArDemo-demo-03.pngESP32-S3-Touch-LCD-1.28-ArDemo-demo-04.png
  • 若屏幕点亮失败。请查看 板载参数设置是否正确
    ESP32-S3-Touch-LCD-1.28 Add 1.png
  • 若屏幕点亮失败。请查看 ESP32 固件版本是否处于 2.0.12 版本
    ESP32-S3-Touch-LCD-1.28 Add 2.png

Arduino_LVGL

Arduino_LVGL 示例,用于显示 LVGL benchmark,music 等,LVGL 的具体开发请参考LVGL开发文档

  • LVGL库中用于显示刷新的回调函数,负责将LVGL的绘图缓冲区的内容刷新到TFT LCD上
void my_disp_flush( lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p )
参数:
     lv_disp_drv_t *disp_drv:LVGL: 提供的显示驱动结构体指针,包含了与显示相关的信息和函数指针。在这个函数中,用于向 LVGL 通知刷新完成
     const lv_area_t *area:LVGL  : 定义的区域结构体指针,表示需要刷新的区域。这个区域是相对于整个显示屏幕的一个矩形区域
     lv_color_t *color_p:LVGL    : 定义的颜色结构体指针,表示要在刷新区域内显示的颜色数据。在这个函数中,通过将这些颜色数据写入 TFT 缓冲区,完成绘制
  • 定时器的回调函数,通过调用 LVGL 函数 lv_tick_inc 来通知 LVGL 过去的时间,以便 LVGL 能够更新其内部的时间状态,处理与时间相关的任务,例如动画、定时器等。例子中,它每隔 EXAMPLE_LVGL_TICK_PERIOD_MS 毫秒就调用一次
void example_increase_lvgl_tick(void *arg)
  • 定时器的回调函数,其中计数器 count,每次调用就将计数器加一,在计数达到一定值时触发一个操作,这里是模拟在 30 次定时器触发后执行重启操作,具体的行为可以根据需要进行调整
void example_increase_reboot(void *arg)
  • LVGL库中的输入设备读取回调函数,用于处理触摸屏的输入事件
void my_touchpad_read( lv_indev_drv_t * indev_drv, lv_indev_data_t * data )
参数:
     lv_indev_drv_t *indev_drv: LVGL 中的输入设备驱动结构体指针。该结构体包含了有关输入设备的信息和回调函数
     lv_indev_data_t *data    : LVGL 中的输入设备数据结构体指针。该结构体用于存储输入设备的状态和数据,包括当前的触摸状态(按下或释放)以及触摸点的坐标

ESP32-S3-Touch-LCD-1.28-ArDemo-lvgl-01.pngESP32-S3-Touch-LCD-1.28-ArDemo-lvgl-02.png

  • 若屏幕点亮失败。请查看 板载参数设置是否正确
  • 若屏幕点亮失败。请查看 ESP32 固件版本是否处于 2.0.12 版本

Arduino_Chinese_Font

  • Arduino_Chinese_Font 示例,用于显示 LVGL 内置的 1000 个常用中文字体
    ESP32-S3-Touch-LCD-1.28-ArDemo-CH fontl-01.png
  • 若屏幕点亮失败。请查看 板载参数设置是否正确
  • 若屏幕点亮失败。请查看 ESP32 固件版本是否处于 2.0.12 版本

Arduino_Chinese_7500_Char

  • Arduino_Chinese_7500_Char 示例,用于显示 LVGL 的 7500 个中文字体,字体文件较大,下载固件时间比较长
    ESP32-S3-Touch-LCD-1.28-ArDemo-CH 7500-01.png
  • 若屏幕点亮失败。请查看 板载参数设置是否正确
  • 若屏幕点亮失败。请查看 ESP32 固件版本是否处于 2.0.12 版本

MicroPython开发

环境搭建

本节围绕 MicroPython 开发环境搭建展开,主要涉及烧录固件以及安装 Thonny。对于安装 Thonny 部分,详细阐述了其安装步骤与使用说明,为开发者构建 MicroPython 开发环境提供全面且清晰的指导。

烧录固件

目前开发板使用定制的固件进行开发,打开flash_download_tool_3.9.5下载固件工具,固件在示例程序中,固件制作来自链接,固件合并成单个文件,注意下载地址是0x0位置

  • ESP32-S3-Touch-LCD-1.28连接电脑后,长按BOOT按键,单击RESET按键后松开BOOT按键,使其进入Download Mode
  • 选择芯片:ESP32-S3,下载模式:USB
    ESP32-S3-Touch lcd 1.28-MP-flash-01.png
  • 选择下载文件S3-Touch-LCD-1.28-MPY.bin,下载地址是0x0位置
    ESP32-S3-Touch lcd 1.28-MP-flash-02.pngESP32-S3-Touch lcd 1.28-MP-flash-03.png
  • COM选择ESP32-S3-Touch-LCD-1.28的COM,点击START进行烧录,等待烧录完成
    ESP32-S3-Touch lcd 1.28-MP-flash-04.pngESP32-S3-Touch lcd 1.28-MP-flash-05.png

安装Thonny

Thonny安装步骤

  1. 打开Thonny官网
    ESP32-S3-Touch-LCD-MP-Thonny install-01.png
  2. 选择对应的系统和版本,以windows64位为例,鼠标要移动到windows处,才会显示对应的信息,点击下载安装
    ESP32-S3-Touch-LCD-MP-Thonny install-02.png
  3. 其余默认安装即可

Thonny使用说明

  1. 下载安装最新 Thonny IDE后,打开Thonny IDE -> Configure interpreter...,如下图所示
    ESP32-S3-Touch 1.28-MP-Thonny use-01.png
    ESP32-S3-Touch 1.28-MP-Thonny use-02.png
  2. 选择ESP32与选择对应的COM口
    ESP32-S3-Touch 1.28-MP-Thonny use-03.png
  3. 点击该按钮,可看到shell中输出语句,则说明开发板固件成功使用
    ESP32-S3-Touch 1.28-MP-Thonny use-04.png
  4. 如何找到您想要的示例程序,如果最开始没有files这一栏,我们可以在view里面找到。
    ESP32-S3-Touch 1.28-MP-Thonny use-05.png
    ESP32-S3-Touch 1.28-MP-Thonny use-06.png

Demo功能测试

本节详述了Demo 的功能测试步骤,对各示例程序先进行功能阐释,强调测试前了解功能特性的重要性,同时提供了测试结果。

运行例程

  • 我们需要下载MPY下的所有文件,选择文件,鼠标右键,找到"upload to/",就可以下载了
    ESP32-S3-Touch 1.28-MP-Thonny use-07.png
  • 以下是全部下载完成的界面
    ESP32-S3-Touch 1.28-MP-Thonny use-08.png
  • 选择.py后缀的文件,点击绿色按钮烧录运行(运行图置于后文。其中,bluenarble.py、cst816.py、cst816_example.py 这几个文件较为特别。请将下面几点全部看完之后,再尝试自行烧录。)
    ESP32-S3-Touch 1.28-MP-Thonny use-09.png
  • 运行另一份文件时要先点击红色stop按钮,这样另一份文件才能正常运行
    ESP32-S3-Touch 1.28-MP-Thonny use-10.png
  • bluenarble.py存放的是图片,cst816.py存的是触控板实现操作的函数,运行无现象
    ESP32-S3-Touch 1.28-MP-Thonny use-11.png
  • cst816_example.py运行之后,触摸屏幕,会打印相应坐标
    ESP32-S3-Touch 1.28-MP-Thonny use-12.png

运行图

  • 从左至右依次为:alien.py,bitarray.py,hello.py

ESP32-S3-Touch 1.28-MP-Thonny demo-alien-01.pngESP32-S3-Touch 1.28-MP-Thonny demo-bitarray-02.pngESP32-S3-Touch 1.28-MP-Thonny demo-hello-03.png

  • 从左至右依次为:hershey.py,jpg.py,noto_fonts.py

ESP32-S3-Touch 1.28-MP-Thonny demo-hershey-04.pngESP32-S3-Touch 1.28-MP-Thonny demo-jpg-05.pngESP32-S3-Touch 1.28-MP-Thonny demo-noto-fonts-06.png

  • 从左至右依次为:pbitmap.py,rotation.py,scroll.py

ESP32-S3-Touch 1.28-MP-Thonny demo-pbitmap-07.pngESP32-S3-Touch 1.28-MP-Thonny demo-rotation-08.pngESP32-S3-Touch 1.28-MP-Thonny demo-scroll-09.png

资料

文档

程序

软件

数据手册

FAQ


可以,UART初始化时直接指定引脚就好了: ESP32-S3-1.28-UART.png


长按boot键后连接设备后 再松开boot键


示例请使用我们提供的示例程序,并且按照教程安装我们提供的库,请不要升级库的版本,可能会导致不兼容

{{{5}}}


MX1.25 2P 连接器,可用于接入 3.7V电池,支持充放电,如图所示:
Esp-1.28-battery-600mah.png




技术支持


联系人:欧工
EMAIL:2355861365@qq.com
QQ:2355861365
微信:扫下方二维码添加
欧工企业微信联系二维码.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证