ESP32-S3-Touch-LCD-1.69

来自Waveshare Wiki
跳转至: 导航搜索
{{{name2}}}
{{{name3}}}
功能简介
特性 无特性,不解释
显示尺寸 1.69英寸
分辨率 240 × 280
' 无特性,不解释
' 无特性,不解释
接口 USB UART I2C

说明

产品简介

ESP32-S3-Touch-LCD-1.69是一款微雪(Waveshare)设计的低成本,高性能的微控制器开发板。在较小的板型下,板载了1.69英寸电容触摸LCD屏、锂电池充电芯片、六轴传感器(三轴加速度计与三轴陀螺仪)、RTC等外设,方便开发并嵌入应用到产品中。

产品特性

  • 搭载高性能 Xtensa® 32位LX7双核处理器,主频高达 240 MHz
  • 支持 2.4 GHz Wi-Fi (802.11 b/g/n) 和 Bluetooth® 5 (LE),板载天线
  • 内置 512KB 的 SRAM 和 384KB ROM,叠封 8MB PSRAM 和外接 16MB Flash
  • 板载 1.69 英寸电容触摸 LCD 屏,240×280 分辨率,262K 彩色,能清晰地显示彩色图片

硬件说明

  • 板载贴片天线,使用0R短接可选外部天线,如图中
  • 板载 PCF85063 RTC时钟芯片、RTC电池接口,方便计时定时功能,如图中
  • 板载 QMI8658C 六轴惯性测量单元(IMU),包含一个3轴陀螺仪和一个3轴加速度计,如图中
  • 板载 ETA6098 高效锂电池充电芯片、M1.25 锂电池接口,方便接入锂电池充放电长期使用,如图中
  • 板载蜂鸣器可做听觉外设使用,如图中
  • 板载TYPE-C接口,连接ESP32-S3 USB,用于烧录程序和日志打印,如图中
  • 板载BOOT、RST功能按钮,方便复位进入下载模式,如图中
  • 板载功能电路按钮,可自定义为上电按钮,可识别单击、双击、长按动作,如图中

产品尺寸

ESP32-S3-Touch-LCD-1.69-details-size.jpg

环境搭建

ESP-IDF下使用

以下开发系统默认为Windows,推荐使用VSCode插件进行开发

ESP-IDF

  • 推荐使用VSC插件进行开发

使用VSCode插件开发

安装VSCode
  1. 打开VSCode官网的下载页面,选择对应系统和系统位数进行下载
    Esp32-vscod-01.jpg
  2. 运行安装包后,其余均可以默认安装,但这里为了后续的体验建议,建议在此处勾选框中的1、2、3项
    Esp32-vscod-02.jpg
    • 第一二项开启后,可以直接通过鼠标右键文件或者目录打开VSCode,可以提高后续的使用体验.
    • 第三项开启后,选择打开方式时,可以直接选择VSCode

安装Espressif IDF插件

  • 注:当前插件最新版本为V1.6.0,为体验一致,用户可以选择与我们一样的版本
  1. 打开VSCode,使用快捷键Shift+Ctrl+X,进入插件管理器
    Esp32-vscod-03.jpg
  2. 在搜索栏中,输入Espressif IDF,选择对应的插件点击 install即可
    Esp32-vscod-04.jpg
  3. 使用快捷键F1,输入
    esp-idf: configure esp-idf extension

    Esp32-vscod-05.jpg
  4. 选择express(此教程针对第一次安装的用户,故只讲述初次的通用安装教程)Esp32-vscod-06.jpg
  5. 打开后显示该界面
    Esp32-vscod-07.jpg
  6. 选择下载服务器,我们推荐国内用户使用Espressif作为你的下载服务器
    Esp32-vscod-08.jpg
  7. 选择想要现在的ESP-IDF版本,我们选择最新的V5.0.1(注意ESP-IDF从V4.4版本后才开始支持ESP32-S3)
    Esp32-vscod-09.jpg
  8. 下面两个分别为ESP-IDF容器安装地址和ESP-IDF所需的工具安装地址,
    Esp32-vscod-10.jpg
    • 注意:如果之前有安装过ESP-IDF,或者失败过的,请务必彻底删除文件或者创建全新的无中文路径
  9. 配置完成后,点击 install 进行下载
    Esp32-vscod-11.jpg
  10. 进入下载页面,其会自动安装对应工具与环境,稍等片刻即可
    Esp32-vscod-11.jpg
  11. 安装完成后,会进入以下界面,说明安装完成
    Esp32-vscod-13.jpg

使用官方例程

  • ESP官方为我们提供大量的例程,并且写详细的使用方法与效果,点击此处查看
创建例程
  1. 使用快捷键F1,输入
    esp-idf:show examples projects

    Esp32-vscod-14.jpg
  2. 选择你当前的IDF版本
    Esp32-vscod-15.jpg
  3. 以Hello world例程为例
    Esp32-vscod-16.jpg
  4. ①选择对应例程
  5. ②其readme会说明该例程适用于什么芯片(下文有介绍例程怎么使用与文件结构,这里略)
  6. ③点击创建例程
  7. 选择放置例程的路径,要求无例程同名文件夹
    Esp32-vscod-17.jpg
修改COM口
  1. 此处显示使用对应的COM口,点击可以修改对应COM口
    Esp32-vscod-18.jpg
  2. 我们的CH343的COM为COM5,所以我们选择COM5,请根据自己CH343对应COM口进行选择
    Esp32-vscod-19.jpg
  3. 选择使用的工程或者例程
    Esp32-vscod-20.jpg
  4. 然后我们的COM口就修改好了
修改驱动对象
  1. 此处显示的是使用的驱动对象,点击可以修改对应驱动对象
    Esp32-vscod-21.jpg
  2. 选择使用的工程或者例程
    Esp32-vscod-20.jpg
  3. 点击后需要稍等片刻
    Esp32-vscod-22.jpg
  4. 选择我们需要驱动的对象,也就是我们的主芯片为ESP32S3
    Esp32-vscod-23.jpg
  5. 选择openocd的路径,这里对我们没有影响,所以我们随便选择一个即可
    Esp32-vscod-24.jpg
其余状态栏简介

Esp32-vscod-25.jpg

  • ①SDK 配置编辑器,ESP-IDF很多功能与配置可以在其内修改
  • ②全部清理,清空所有编译文件,
  • ③编译
  • ④当前下载方式,默认为UART
  • ⑤烧录当前固件,请在编译后进行
  • ⑥打开串口监视器,用于查看串口信息
  • ⑦编译,烧录,打开串口监视器 一体按键(调试时最常用)
编译、烧录、串口监视
  1. 点击我们之前介绍的 编译,烧录,打开串口监视器按键
    Esp32-vscod-29.jpg
  2. 编译可能需要较长时间才能完成,尤其是在第一次编译时。
    Esp32-vscod-26.jpg
    • 在此过程中,ESP-IDF可能会占用大量CPU资源,因此可能会导致系统卡顿。
  3. 因为我们使用的是CH343为USB转串口芯片,并且板载自动下载电路,无需手动操作即可自动下载
    Esp32-vscod-27.jpg
  4. 下载成功后,自动进入串口监视器,可以看到芯片输出对应的信息并提示10S后重启
    Esp32-vscod-28.jpg

Arduino下使用

  • 如果没用使用过arduino-esp32的基础建议仔细阅读官方文档,点击此处查看

安装Arduino IDE

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

在线安装arduino-esp32

  1. 打开首选项
    ESP32-S3-Pico-Ar-03.jpg
  2. 添加对应的板管理链接,点击该按键
    ESP32-S3-Pico-Ar-04.jpg
  3. 在第一个空白处,添加下文
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

    ESP32-S3-Pico-Ar-05.jpg
  4. 保存设置
  5. 打开板管理器并搜索输入ESP32
    ESP32-S3-Pico-Ar-06.jpg
  6. 等待下载
    ESP32-S3-Pico-Ar-07.jpg
  7. arduino-esp32下载完成
    ESP32-S3-Pico-Ar-08.jpg

离线安装arduino-esp32

  1. 离线包(提取码:1r4i)
    • 提取码:1r4i
  2. 将压缩包解压缩
    ESP32-S3-Pico-Ar-18.jpg
  3. 将解压文件放在对应用户的arduino器件包目录
    C:\Users\{用户名}\AppData\Local\Arduino15\packages\
    以用户名为waveshare为例
    C:\Users\waveshare\AppData\Local\Arduino15\packages\
  4. 关闭全部arduino窗口,确保arduino关闭
  5. 打开arduino,并打开板管理器,看到esp32-arduino已经安装即可
    ESP32-S3-Pico-Ar-19.jpg

使用Arduino例程

  1. 选择例程,这里我们选择获取芯片ID的例程
    ESP32-S3-Pico-Ar-09.jpg
  2. 选择我们的板子为 ESP32S3 Dev Moudule
    ESP32-S3-Pico-Ar-12.jpg
  3. 选择我们的端口号,这里我们选择CH343的COM5
    ESP32-S3-Pico-Ar-13.jpg
  4. 点击下载按键,此时会自动编译并下载
    ESP32-S3-Pico-Ar-14.jpg
  5. 下载完成
    ESP32-S3-Pico-Ar-15.jpg
  6. 打开串口监视器
    ESP32-S3-Pico-Ar-16.jpg
  7. 看到循环输出的芯片ID
    ESP32-S3-Pico-Ar-17.jpg

屏幕说明

LCD及其控制器

  • 该款LCD使用的内置控制器为 ST7789V2,是一款 240 × RGB × 320 像素的 LCD 控制器,而本 LCD 本身的像素为 240(H) × RGB × 280(V),因此LCD的内部RAM并未完全使用。
  • 该LCD支持12位,16位以及18位每像素的输入颜色格式,即RGB444,RGB565,RGB666三种颜色格式,本例程使用RGB565的颜色格式,这也是常用的RGB格式
  • LCD使用四线SPI通信接口,这样可以大大的节省GPIO口,同时通信是速度也会比较快
  • 本模组分辨率是240(H) × RGB × 280(V),但是因为四角是圆角的(尺寸见参数),因此部分输入图像会有部分不显示。

SPI通信协议

0.96inch lcd module spi.png
注:与传统的SPI协议不同的地方是:由于是只需要显示,故而将从机发往主机的数据线进行了隐藏,该表格详见Datasheet Page 66。
RESX为复位,模块上电时拉低,通常情况下置1;
CSX为从机片选, 仅当CS为低电平时,芯片才会被使能。
D/CX为芯片的数据/命令控制引脚,当DC = 0时写命令,当DC = 1时写数据
SDA为传输的数据,即RGB数据;
SCL为SPI通信时钟。
对于SPI通信而言,数据是有传输时序的,即时钟相位(CPHA)与时钟极性(CPOL)的组合:
CPHA的高低决定串行同步时钟是在第一时钟跳变沿还是第二个时钟跳变沿数据被采集,当CPHA = 0,在第一个跳变沿进行数据采集;
CPOL的高低决定串行同步时钟的空闲状态电平,CPOL = 0,为低电平。
从图中可以看出,当SCLK第一个下降沿时开始传输数据,一个时钟周期传输8bit数据,使用SPI0,按位传输,高位在前,低位在后。

触摸及其控制器

  • 本款触摸屏是由表面钢化玻璃+薄膜FILM材质组成,具有强度高,硬度强、透光率好,搭配的驱动芯片为CST816D自电容触控芯片,该芯片支持标准的 I2C 通讯协议标准,可实现 10Khz~400Khz 的可配通信速率。

I2C通信协议

  • 芯片的 7bit 设备地址为 0x15,即设备写地址为 0x2A,读地址为 0x2B。
  • 波形介绍
    • 写入单个字节(往 0x1F 寄存器写入 0x01)
    • 1.28inch-Touch-LCD-2.jpg
    • 连续写入多个字节(往 0x1E、0x1F 分别写入 0x20、0x01)
    • 1.28inch-Touch-LCD-3.jpg
    • 读取单个字节(从 0x21 读取单个字节)
    • 1.28inch-Touch-LCD-4.jpg
    • 连续读取多个字节(从 0x21、0x22、0x23 读取 3 个字节)
    • 1.28inch-Touch-LCD-5.jpg

示例例程

库安装

使用LVGL库时需要修改对应屏幕的配置,建议直接使用示例例程中的lib库 将库文件夹复制到 C:\Users\xxxx\Documents\Arduino\libraries 目录下,xxxx 代表您电脑上用户名,注意甄别

ESP32-S3-Touch-LCD-1.69 240429 01.png

ESP32-S3-Touch-LCD-1.69 240429 02.png

Arduino_LVGL

LVGL(Light and Versatile Graphics Library)是一个免费且开源的图形库,专为嵌入式系统设计,非常适合在资源有限的设备上使用,如ESP32-S3。在示例程序中可以使用LVGL_Arduino快速使用验证屏幕效果

ESP32-S3-Touch-LCD-1.69-240423 03.png


自定义按钮PWR_Key

此功能按钮是为解决外设按钮功能少而设计,工作原理如:

按下PWR之后可以使电池供电,此时系统启动,系统应定义GPIO35持续输出高电平来维持上电效果,此时松开PWR不会断电。PWR此时的功能即可以拉低GPIO36,系统检测GPIO36按下、连按和长按,可以自定义关机控制操作,如长按模式下系统设置GPIO35低电平断开电池供电,即可完成多功能按钮使用。

ESP32-S3-Touch-LCD-1.69-240423 04.png

PCF85063 RTC时钟芯片

使用PCF85063 RTC时钟可方便使用定时任务、提供精确的时间跟踪以及低功耗唤醒等功能。

通过示例程序可以简单使用RTC功能

ESP32-S3-Touch-LCD-1.69-240423 02.png

QMI8658 六轴IMU

使用QMI8658可应用姿态检测、步态分析以及摔倒检测等应用,嵌入本开发板可应用到智慧穿戴中。

通过示例程序可以验证多轴加速度变化,可通过视图仪直面观测到数据。

ESP32-S3-Touch-LCD-1.69-240423 01.png

蜂鸣器功能

可通过结合RTC实现定时任务,定时闹钟等应用

FAQ

技术支持

联系人:苏工
EMAIL:3004517899@qq.com
电话:0755-83040712
QQ:3004517899
微信:扫下方二维码添加
Syq.png

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