# arduino_capybara_clock **Repository Path**: esp-friends/arduino_capybara_clock ## Basic Information - **Project Name**: arduino_capybara_clock - **Description**: 本示例基于 ESP32_Display_Panel,使用 Arduino 代码驱动 ESP32-S3-BOX-3,通过 LVGL 库实现一个桌面时钟的功能 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 1 - **Created**: 2024-01-09 - **Last Updated**: 2025-02-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README | Supported Targets | ESP32 | ESP32-S2 | ESP32-S3 | | ----------------- | ----- | -------- | -------- | # 使用 ESP32-S3-BOX-3 创建的卡皮巴拉时钟示例 本示例基于 ESP32_Display_Panel,使用 Arduino 代码驱动 ESP32-S3-BOX-3,通过 LVGL 库实现一个桌面时钟的功能 # 示例使用说明 ## **准备硬件** - [ESP32-S3-BOX-3](https://item.taobao.com/item.htm?ft=t&id=732842971319) - **USB 数据线** (Type-C) - 电脑(Windows、Linux 或 macOS) ## **搭建开发环境** ### **安装 Arduino IDE** - 如果你还没有安装 Arduino IDE,请先下载并安装它。 1. 从 [Arduino 官网](https://www.arduino.cc/en/software#future-version-of-the-arduino-ide) 获取安装包 2. 使用下载的 ``.exe``文件,一键安装 Arduino IDE ### **安装 ESP32 库** - 根据官网提供的链接导入 [arduino-esp32](https://github.com/espressif/arduino-esp32) 库 稳定版本链接 **(推荐)** : ``` https://espressif.github.io/arduino-esp32/package_esp32_index.json ``` 开发者版本链接: ``` https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json ``` 1. 打开 ``File —> Preferences`` 界面 2. 将官网提供的链接导入 ``Additional boards manager URLs`` 下,点击 ok 3. 打开 ``Tools -> Board -> Boards Manager`` 界面(快捷键 Ctrl + Shift + B) 4. 搜索 ``esp32``, 安装下方 **esp32** 库 5. 安装成功后会在 ``Tools —> Board —> esp32`` 界面增加 **ESP32** 系列开发板选项,在 ``File -> Examples`` 中可以看到乐鑫官方提供的示例代码。 ### **安装必要的库** - 安装 **ArduinoJson** 和 **ESP_Panel_Library** 库 - 打开 ``Tools —> Manage Libraries`` 界面,搜索 ``ArduinoJson`` 和 ``ESP_Panel_Library``,点击 ``Install`` 进行安装 ## **配置项目** ### 1、在代码中配置 ssid(Wi-Fi名称)、password(共享密钥) ``` const char* ssid = "ssid"; const char* password = "password"; ``` ### 2、将配置文件放入 Arduino 库的路径中 - 在 Arduino IDE 中,可以通过 ``File`` > ``Preferences`` > ``Settings`` > ``Sketchbook location`` 找到 Arduino 库的路径 - 将本工程 libraries 文件夹中的四个文件放在 Arduino 库的路径中 - 最终布局如下所示 ``` Arduino |-libraries |-other libraries |-lvgl |-ui |-ESP_Panel_Conf.h |-lv_config.h ``` ### 3、自定义分区表 运行多个图片和 GIF 需要更大的应用程序分区,一般情况下 Arduino 的默认分区表保存在下方的路径 ``` C:\Users\username\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\tools\partitions ``` - 我们进入 Arduino 的默认分区表路径,选中一个分区表将内容替换为: ``` # Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000, factory, app, factory, , 4M, ``` - 打开 Arduino IDE,在 ``Tools`` -> ``Partition Scheme`` 中选择我们刚才修改的分区表 ## **编译和烧录** - 在左上角的 ``Tools`` 选择开发板为 **ESP32S3 Dev Module** - 选择对应的 COM 口 - 烧录之前,在左上角的 ``Tools`` 进行以下配置: ``` USB CDC On Boot: "Enabled" Flash Mode: "QIO 80 MHz" Flash Size: "16MB" PSRAM: "OPI PSRAM" Upload Mode: "USB-OTG-CDC(TinyUSB)" ``` - 点击左上角 upload 图标完成一键编译和烧录 # 示例输出 下面是示例在终端中打印出的输出: ``` [ 353][I][esp32-hal-psram.c:96] psramInit(): PSRAM enabled Connecting to WiFi! Connecting Wi-Fi ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x15 (USB_UART_CHIP_RESET),boot:0x2a (SPI_FAST_FLASH_BOOT) Saved PC:0x420e792e SPIWP:0xee mode:DIO, clock div:1 load:0x3fce3808,len:0x44c load:0x403c9700,len:0xbd8 load:0x403cc700,len:0x2a80 entry 0x403c98d0 [ 349][I][esp32-hal-psram.c:96] psramInit(): PSRAM enabled Connecting to WiFi! Connecting Wi-Fi Wi-Fi connected 192.168.1.100 Hello Squareline!V8.3.6 I am ESP32_Display_Panel Starting LVGL task [ 1880][I][Porting.ino:74] calibrate_time(): [RTC Calibration] RTC time set successfully. Setup done ``` # 故障排除 程序上传失败 - 检查 **COM 端口** 和 **USB 驱动** # 技术支持和反馈 - 对于技术问题,请访问 [esp32.com](https://esp32.com/) 论坛 - 对于功能请求或错误报告,请创建 [GitHub issue](https://github.com/esp-arduino-libs/ESP32_Display_Panel/issues) 问题