# 甘草UI_OLED **Repository Path**: xuekuling/licorice-ui--oled ## Basic Information - **Project Name**: 甘草UI_OLED - **Description**: esp32,arduino,oled,丝滑动画 - **Primary Language**: C - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 27 - **Created**: 2024-05-23 - **Last Updated**: 2024-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 甘草UI_OLED 丝滑动画 #### 介绍 主控:ESP32
屏幕:0.96寸OLED
由于是自己步进电机开窗开风扇项目,引入了电机库和时钟库,不需要自行删除电机和时钟部分
滑动动画和消失动画参考至B站UP[音游玩的人](https://www.bilibili.com/video/BV1wo4y1474K),框架则是自己重构,直白一点,但每个界面都需要另外创建
演示视频:[https://www.bilibili.com/video/BV1Ck4y1p7EW](https://www.bilibili.com/video/BV1Ck4y1p7EW)
- **新增** - 因带中文字库,不适合内存小的单片机,仅ESP8266和ESP32可用 - GB2313中文字库,文泉驿14PX - 重构架构 - 更丝滑的弹窗,可传递int8 int16 int32 uint8 uint16 uint32 float数据类型 - 增加弹窗数值渐加算法,即按的越久加得越快 - 添加提示窗,长字自动分行,仅支持2行,一行7个中文 - 超长选项自动滚动 - 从LittleFS内读取配置文件生成的无限长度的列表(待上传) - **修复** - 修复亮度更改不能实时显示效果的问题 ![输入图片说明](QQ%E6%88%AA%E5%9B%BE20230613212440.jpg) #### 软件架构 PlatformIO开发,arduino框架 #### 食用指南 将U8g2.7z和esp32dev.zip解压到.pio\libdeps\esp32dev内
安装visual studio code,到扩展安装PlatformIO,重启软件,然后使用visual studio code打开本项目的文件夹,PlatformIO就会自己安装esp32环境
#### UI使用指南 ****** 页面创建逻辑 ******

创建页面需要3个函数、3个参数

3个函数,需到FontBmp.h内添加声明
页面初始化display_XXX_Init、页面显示display_XXX、页面的按键逻辑display_XXX_Key
页面初始化函数放入fade()里面、页面显示函数放入loop()、页面的按键逻辑放入loop()

3个参数
页面的位置 #define DISPLAY_XXX 、页面有多少个选项 #define OptMax_XXX、页面选框位置记录 int8_t display_XXX_xxwz

列表模版参考DisplaySet.h、DisplayOledSet.h、DisplayMotoSet.h、DisplayAbout.h即可
创建列表页面只需要复制以上的模版,修改【选项setOpt】和拼装数值的【for循环】
按键函数display_XXX_Key,一般无需修改选项的【选项切换】项,修改【选项确认】项做相应的功能即可