想用ESP32做一个时钟,但是如果数字变化只是普通的突然从0变成1就觉得很没新意,感觉用51 MCU也能实现。之前看到CSDN上有一个点阵钟实现了一个简易的数字变换效果【链接: https://img-blog.csdnimg.cn/20181101232344268.gif 】,本小白又觉得都已经用上点阵了,没必要还把数字显示成数码管的样子,有点掉价。所以就简单用QT写了一个简单的数字动画设计辅助的软件,在上面用20个前后相连的点表示数字,生成0到9的数字图像的坐标数组,用LVGL的lv_anim实现数字间的变换。其实代码怎么写的不重要,用不用LVGL也不重要,主要是最后生成的0-9的坐标数组,我就直接贴在下面啦。显示效果在附件视频,第一次发帖不知道怎么附视频
0-9坐标数组:
const uint16_t num_dot[11][2*DOT_NUM]={
{ 0x00bf,0x0001,0x0025,0x0001,0x0008,0x001e,0x0000,0x0046,0x0000,0x02ff,0x0017,0x031f,0x002d,0x032f,0x0160,0x032f,0x017d,0x0321,0x0191,0x0304,0x0191,0x0025,0x0179,0x000b,0x0150,0x0000,0x00d3,0x0000,0x00d3,0x0069,0x011a,0x0069,0x011a,0x02c8,0x0079,0x02c8,0x0079,0x0067,0x00bf,0x0067 },
{ 0x0113,0x0000,0x00af,0x0000,0x006d,0x00db,0x006d,0x00ed,0x009d,0x00ed,0x009d,0x012e,0x009d,0x0221,0x009d,0x032d,0x00dd,0x032d,0x0113,0x032d,0x0113,0x02f4,0x0113,0x02a8,0x0113,0x0257,0x0113,0x0206,0x0113,0x01b7,0x0113,0x0155,0x0113,0x0108,0x0113,0x00bd,0x0113,0x0075,0x0113,0x003d },
{ 0x003b,0x0000,0x001e,0x000e,0x000b,0x0027,0x000a,0x00ff,0x007f,0x00ff,0x0080,0x0066,0x0116,0x0066,0x0116,0x00fb,0x0000,0x02e3,0x0000,0x0330,0x0070,0x0330,0x00c5,0x0330,0x011b,0x0330,0x018e,0x0330,0x018e,0x02c6,0x0092,0x02c6,0x018d,0x0109,0x018d,0x002f,0x017b,0x000f,0x0157,0x0000 },
{ 0x0001,0x0100,0x0079,0x0100,0x0079,0x006c,0x0113,0x006c,0x0114,0x0118,0x0081,0x017a,0x0081,0x0196,0x0116,0x01fe,0x0116,0x02c9,0x0079,0x02c9,0x0079,0x022c,0x0000,0x022c,0x0000,0x0331,0x018b,0x0332,0x018d,0x01d9,0x0119,0x0187,0x018b,0x013b,0x0188,0x0002,0x00c6,0x0000,0x0002,0x0001 },
{ 0x010b,0x022f,0x0087,0x022f,0x00c1,0x0185,0x00fa,0x00e1,0x0146,0x0001,0x00c8,0x0000,0x0077,0x00f1,0x003e,0x0196,0x0000,0x024a,0x0000,0x0294,0x010c,0x0294,0x010c,0x032d,0x014d,0x032d,0x0180,0x032d,0x0180,0x0295,0x01bd,0x0295,0x01bd,0x022c,0x017d,0x022c,0x017e,0x0138,0x010b,0x0138 },
{ 0x0152,0x0125,0x0078,0x0123,0x0080,0x0068,0x017f,0x006b,0x017f,0x0000,0x0011,0x0000,0x0001,0x018d,0x0110,0x018b,0x0110,0x02c7,0x0077,0x02c7,0x0077,0x0229,0x0000,0x0229,0x0000,0x02fa,0x000f,0x031c,0x0037,0x0330,0x0154,0x032f,0x017a,0x031c,0x0189,0x02f0,0x0187,0x0162,0x0179,0x0137 },
{ 0x018b,0x015d,0x0077,0x015d,0x0076,0x0067,0x0113,0x0067,0x0113,0x00f6,0x0187,0x00f6,0x0187,0x0020,0x015f,0x0000,0x0022,0x0000,0x0000,0x0026,0x0001,0x032d,0x00be,0x032d,0x00be,0x02c3,0x0078,0x02c3,0x0078,0x01c1,0x0117,0x01c1,0x0117,0x02c4,0x00de,0x02c4,0x00de,0x032c,0x018b,0x032c },
{ 0x0100,0x0288,0x0118,0x022b,0x0130,0x01c9,0x014a,0x0162,0x0160,0x0105,0x017b,0x00a2,0x0192,0x004f,0x0193,0x0000,0x00c0,0x0000,0x0000,0x0000,0x0000,0x00db,0x0073,0x00db,0x0073,0x0062,0x0112,0x0062,0x00e1,0x0127,0x00ae,0x01de,0x0085,0x027c,0x0059,0x032f,0x00d7,0x032f,0x00ec,0x02d8 },
{ 0x0118,0x012c,0x0000,0x01c0,0x0000,0x032f,0x0192,0x032f,0x0192,0x01c4,0x007a,0x012b,0x007a,0x0065,0x00be,0x0065,0x00be,0x0000,0x0003,0x0000,0x0003,0x014d,0x011b,0x01e6,0x011b,0x02ca,0x0076,0x02ca,0x0076,0x01e6,0x018f,0x0150,0x018f,0x0000,0x00da,0x0000,0x00da,0x0066,0x0118,0x0066 },
{ 0x0113,0x016d,0x0077,0x016d,0x0077,0x0069,0x00c0,0x0069,0x00c0,0x0000,0x0000,0x0000,0x0000,0x01d0,0x0113,0x01d0,0x0113,0x02cb,0x007b,0x02cb,0x007b,0x023c,0x0006,0x023c,0x0006,0x030f,0x0028,0x032f,0x0167,0x032f,0x018d,0x0307,0x018d,0x0002,0x00d7,0x0002,0x00d7,0x0067,0x0113,0x0067 },
{ 0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6,0x00ce,0x01a6 }
};//0-9坐标表,每一维中的数据一次是20个点的横纵坐标排列(X1,Y1,X2,Y2.....),最后一维所有的点集中在中间,是归位
为了方便ESP32+LVGL用户即食,我写了一个库,可以创建任意多个(当然前提是内存要够)独立的数字,库在附件的压缩文件
ESP32 LVGL中跑的库在这里
anim_num.rar
离线
漂亮 有创意
离线
好炫酷
离线
大佬我已经用上了,想知道是咋生成数组的(QT写了一个简单的数字动画设计辅助的软件)
离线
效果挺酷,楼主能讲解下实现原理吗?能否再实现个翻页钟效果或数字上下滑动的效果?
离线
效果不错,感觉还能扩展下
离线
想学习一下怎么用QT生成数组啊?现在是小白。
离线