回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【花雕学编程】Arduino动手做(240)---点亮Seeed Round Display for XIAO 1.28“圆型触控屏 简单

头像 驴友花雕 2024.12.11 21 0

00-12.jpg

Seeed Studio XIAO 圆形显示器 - 1.28 英寸圆形触摸屏,240×240 分辨率,65k 色,RTC,充电 IC,TF 卡插槽,JST 1.25 连接器,所有 XIAO 兼容,HMI,智能家居,可穿戴设备

🟩电容式触摸屏扩展板:1.28 英寸圆形显示屏,240×240 分辨率,65K 色,提供清晰多彩的图像展示
🟩高兼容性:与所有 XIAO 系列产品高度兼容,轻松集成到您当前的项目中
🟩丰富的外设:具有板载 RTC、电池充电芯片、TF 卡插槽、JST 1.25 连接器,均在其紧凑的尺寸中
🟩手表大小的设计:采用 39 毫米圆形设计,适用于可穿戴和空间有限的项目
🟩即插即用:所有引脚均引出,无需焊接

 

00-13.jpg

驱动开发板使用XIAO ESP32S3 Sense

 

00-17.jpg

配置XIAO ESP32S3 Sense开发环境

 

00-18.jpg

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 实验二百四十:Seeed Round Display for XIAO 1.28“圆型触控屏幕240×240模块
【花雕动手做】实验一:开发环境验证——LED 闪烁 Blink

实验开源代码
 

代码
/*
 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百四十:Seeed Round Display for XIAO 1.28“圆型触控屏幕240×240模块
 【花雕动手做】实验一:开发环境验证:LED 闪烁 Blink
*/

// setup函数在按下复位按钮或给板子上电时运行一次
void setup() {
  // 将数字引脚 LED_BUILTIN 初始化为输出模式
  pinMode(LED_BUILTIN, OUTPUT);
}

// loop函数会不断重复运行
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // 将LED点亮(HIGH表示高电平)
  delay(1000);                       // 等待一秒
  digitalWrite(LED_BUILTIN, LOW);    // 将LED熄灭(LOW表示低电平)
  delay(1000);                       // 等待一秒
}

实验场景图  动态图

 

00042.gif

 

实验场景图  

 

00-19.jpg

驱动Seeed Round Display屏幕,需要下载并安装 TFT_eSPI、LVGL 和 Round Screen 库。
https://github.com/Seeed-Projects/SeeedStudio_TFT_eSPI
https://github.com/Seeed-Projects/SeeedStudio_lvgl
https://github.com/Seeed-Studio/Seeed_Arduino_RoundDisplay

 

 

00-20.jpg

1、LVGL - 轻量级多功能图形库

特征
强大的构建块:按钮、图表、列表、滑块、图像等。
高级图形引擎:动画、抗锯齿、不透明度、平滑滚动、混合模式等
支持各种输入设备:触摸屏、鼠标、键盘、编码器、按钮等。
支持多个显示器
独立于硬件,可与任何微控制器和显示器一起使用
可扩展以使用少量内存(64 kB 闪存、16 kB RAM)
多语言支持,包括 UTF-8 处理、CJK、双向和阿拉伯语脚本支持
通过类似 CSS 的样式完全可定制的图形元素
受 CSS 启发的强大布局:Flexbox 和 Grid
支持操作系统、外部存储器和 GPU,但不是必需的。(内置对 STM32 DMA2D、SWM341 DMA2D 和 NXP PXP 和 VGLite 的支持)
即使使用单个帧缓冲区也能平滑渲染
用 C 语言编写并与 C++ 兼容
Micropython Binding 在 Micropython 中公开 LVGL API
无需嵌入式硬件即可在 PC 上开发的模拟器
100+ 简单示例
在线和 PDF 格式的文档和 API 参考

开始使用
在使用此仓库之前,请将仓库下的 lv_conf.h 移动到 Arduino 的 libraries 目录下。

此列表显示了学习该库的推荐方法:(https://lvgl.io/demos)
查看在线演示,了解 LVGL 的实际应用(3 分钟)
阅读文档的简介页面(5 分钟)
熟悉 Quick overview 页面上的基础知识(15 分钟)
设置模拟器 (10 分钟)
尝试一些示例
将 LVGL 移植到开发板。请参阅移植指南或查看即用型项目
阅读概述页面以更好地了解库(2-3 小时)
查看 Widget 的文档,了解其功能和用法
如果您有任何疑问,请前往论坛
阅读贡献指南,了解如何帮助提高 LVGL(15 分钟)
 

2、TFT_eSPI

 

功能丰富的 Arduino IDE 兼容图形和字体库,适用于 32 位处理器。该库针对 32 位处理器,已针对 RP2040、STM32、ESP8266 和 ESP32 类型进行了性能优化,可以使用其他 32 位处理器,但将使用较慢的通用 Arduino 接口调用。可以使用 Arduino IDE 的 Library Manager 加载该库。直接内存访问 (DMA) 可与带有 SPI 接口显示器的 ESP32、RP2040 和 STM32 处理器一起使用,以提高渲染性能。只有 RP2040 支持带并行接口(8 位和 16 位)的 DMA。

ESP32 S2/C3/S3 的更新意味着该库需要 ESP32 Arduino 板包 2.x.x 或更高版本。

屏幕控制器、接口引脚和库配置设置必须在库内定义。它们不能在 Arduino sketch 中定义。有关详细信息,请参阅 User_Setup_Select.h 文件。这种方法具有显着的优势,它使示例与长配置选项保持干净,并且一旦定义了设置,任何示例都可以运行而无需修改。PlatformIO 用户可以在 platformio.ini 文件中按项目定义这些设置,请参阅库中的 Docs 文件夹。

提供了许多示例草图,演示了如何使用库中的函数。由于该库的受欢迎程度,热情的用户创建了很多TFT_eSPI在线教程。

优化的驱动程序已使用以下处理器进行了测试:

RP2040,例如 Raspberry Pi Pico
ESP32 和 ESP32-S2、ESP32-C3、ESP32-S3
ESP8266
STM32F1xx、STM32F2xx、STM32F4xx STM32F767(建议使用更高的 RAM 处理器)

该库内置了对 XPT2046 触摸屏控制器的支持,可与 SPI 接口显示器一起使用。使用 Display Parallel Interface 时,也可以使用第三方触摸支持库。

支持使用以下控制器的显示器:

编号: GC9A01
ILI9163
ILI9225
ILI9341
ILI9342
ILI9481(SPI 不支持 DMA)
ILI9486 (SPI 不支持 DMA)
ILI9488(SPI 不支持 DMA)
HX8357B(使用 RP2040 进行 16 位并行测试)
HX8357C(使用 RP2040 进行 16 位并行测试)
HX8357D
R61581
RM68120 (已添加但未经测试的支持文件)
RM68140
S6D02A1
SSD1351
SSD1963(此控制器仅具有并行接口选项)
编号 ST7735
编号 ST7789
编号: ST7796
建议使用基于 ILI9341 和 ST7796 SPI 的显示器作为试验此库的起点。

技巧
如果您加载 TFT_eSPI 的新副本,则如果它们保存在 TFT_eSPI 文件夹中,它将覆盖您的设置。解决此问题的一种方法是在 Arduino 库文件夹中创建一个名为“TFT_eSPI_Setups”的新文件夹。然后,将自定义 setup.h 文件放入其中。升级后,只需编辑 User_Setup_Select.h 文件以指向您的自定义安装文件,例如:

#include <../TFT_eSPI_Setups/my_custom_setup.h>
您必须确保只调用一个安装文件。在自定义设置文件中,我将文件路径添加为注释掉的第一行,该行可以剪切并粘贴回升级后的 User_Setup_Select.h 文件中。这。。/ 在路径的开头表示上一级目录。显然,您可以使用不同的文件路径或目录名称,只要它不与其他库或文件夹名称冲突即可。

您可以更进一步,拥有自己的设置选择文件,然后只需将 User_Setup_Select.h 中的 Setup.h 行引用替换为,例如:

#include <../TFT_eSPI_Setups/my_setup_select.h>
要选择新的设置,请编辑自己的 my_setup_select.h 文件(在升级过程中不会被覆盖)。

 

3、Round Screen

 

Seeed Studio XIAO 圆形显示器

介绍
基于 LVGL 的 Arduino 图形库,专为 Seeed Studio Round Display for XIAO 设计。此产品的 Wiki 可在此处找到。

取决于

```cpp
lvgl, lv_examples, TFT_eSPI, GFX Library for Arduino, I2C BM8563 RTC, SD, AnimatedGIF
```

用法

```cpp
1.Git clone this resp to your Arduino IDE's libraries directory.
2.Install all the dependencies from the Arduino Library Manager.
3.Uncomment a library for display driver.
4.Run the demo "HardTest" on examples directory.
```

注意
请从 Arduino Library Manager 安装依赖项。

如果要使用 TFT_eSPI 库进行显示驱动,则必须注释掉 “User_Setup_Select.h” 文件中的行并取消注释。

```cpp
#include <User_Setup.h>
#include <User_Setups/Setup66_Seeed_XIAO_RoundDisplay.h> 
```

lvgl 配置文件必须复制到 Arduino IDE 的 libraries 目录。

```cpp
lv_conf.h
```
 

评论

user-avatar
icon 他的勋章
    展开更多