3 个时钟应用,将它们利用起来充当一个电子时钟
为了解自己投入学习的时间,不少人会使用一些
今天的这篇文章就和大家介绍 3 个时钟应用 ,你可以把这些应用安装到手中闲置的设备上,将它们利用起来,充当一个电子时钟的角色。
01. 谜底时钟
谜底时钟,是之前介绍过的 OffScreen 团队推出的新产品,之所以把它放在第一位,是因为它内置的时钟非常好看,毕竟颜值即正义。
打开之后默认的时钟如下,有黑白两种样式,左右滑动即可切换,它采用了今年非常流行的「新拟态风格 」的设计,主要特征在于阴影 和带有浮雕效果 的按钮。
目前应用内置了 11 款不同样式的时钟,包含:拟物、数字、光影、加油鸭、黑白灰、红蓝、木纹、汉字、大理石和马赛克。
除了默认的样式,其他时钟样式需要购买后才能使用,可单独购买某个时钟样式,也可以打包购买所有时钟。
比较遗憾的是,这个 App 目前只有 iOS/iPadOS 版本 ,使用 Android 手机的朋友就不要等啦,因为之前介绍的手机使用时长统计应用 OffScreen,到现在还没有安卓版。
02. 极简时钟-番茄钟
这是一款免费 的时钟应用,将它称为「翻页时钟 」或许更准确,它只有一种样式,每当数字更新时,它会有类似日历翻页的那种动态效果。
正如其名,为了做到极简,极简时钟在 App 首页没有添加菜单或按钮,界面的切换与内容的显示都是通过手势操作 来实现的。
除了实时查看时间,它还内置了可替代其他应用的功能,在 App 首页向左滑动可进入「番茄钟 」,右滑动可进入「正计时 」。
此外,极简时钟还支持在桌面上添加「小组件 」,如果你的手机系统已更新到 iOS 14,可以选择其中一个组件添加到桌面。
极简时钟支持 iOS/iPadOS 和 Android 系统,其中苹果的 App Store 有一个和极简时钟同名的应用,搜索时使用「极简 」二字即可,避免下载到冒牌的应用。
03. Motick
Motick,和前面介绍的极简时钟非常像,应用首页同样很简洁,只有翻页的数字。
点击屏幕,触发打开应用的设置页面,这里可以设置时钟的主题、是否显示秒针、时间的格式等。
Motick 延续了现实中的机械钟或电子日历「整点报时 」的设计,开启「整点提醒 」,当手机处于亮屏状态且刚好整点时,它会小响一声(卡西欧电子手表报时声音)。
考虑到夜间休息的场景,你可以在勿扰模式 中设定剔除声音提醒的时间段。
和极简时钟一样,Motick 支持在桌面上添加小组件,它提供了三种样式 的组件——两个时钟样式和一个日历样式,长按组件还可以更改组件的背景颜色。
Motick 目前仅有 iOS 和 iPadOS 版本,下载之前需要先付费。
以上,就是分享的内容,希望对你有所帮助。
做了个多功能时钟,只因我解决了这4个问题,续航24天超轻松!
做了一个能常亮24天的多功能时钟,也是一个指南针!
为什么它能续航这么久?我做对了什么? (见第3章)
其有哪些功能?(见第1章)
硬件设计注意事项?(见第2章)
下面就一一为你解答!
一、时钟的功能/亮点展示
1.指南针功能
使用时先原地慢慢转一圈即可校准。
此模式下功耗:1.3mA 。
2.TV模式(时钟等基础显示)
40秒显示时间 ,电池电量。
此模式下功耗:1.7~1.9mA
10秒显示温度、湿度、气压
10秒显示电池状态循环 (持续时间可按喜好调整)
3.菜单设置
设置了三级菜单。
主菜单:见图, 这里预设了16个 二级菜单。
滚动时总功耗:2mA
二级菜单:见图, 按确定进行设置
滚动时总功耗:4mA
三级菜单:见图, 按确定进行设置
页面总功耗:1.4mA
支持开发: 水平尺、增量闹钟、秒表、手电筒、系统设置、工厂模式
未来加入亮度自动调节机制,可坚持超过一个月
二、硬件说明
使用STC32F12K54芯片作为主控,在TV模式可运行大约24天,以下是相关电路图。
控制板原理图
控制板PCB图
电源板原理图
电源板PCB图
1.控制板参数介绍
主控: STC32F12K541.3寸OLED: SSD1315(使用SPI)温湿度计: SHT40气压计: SPL-06RTC: INS5699光强计: BH1745磁强计+加速度计: BMC050无源蜂鸣器 (但有独立4K方波产生电路,不占用MCU资源)震动开关 按键X5: +、-、确定键、退出键、复位键2.电源板参数介绍
电源板2.8V空载,5V OFF的情况下,待机电流1.6uA(电池3.83V)
DC-DC锂电池充电: ME4059ASPG-N)锂电池保护: ME4211AM6GDC-DC降压(主板供电): TPS62740DSSRDC-DC升压(OLED供电): MT9700+MT3608L,可以通过主板的两个IO口控制反馈电阻,从而获得5V、6V、7V、8V充电电流检测: INA181A2IDBVT+50mΩ电阻三、续航24天,我做对了什么?
本项目之所以可以这么省电,是因为MCU不会干多余的事情,有任务的时候才会运行,其他时间都在休眠。
但,事情怎么会这么简单呢?
1.发现的第一个问题
之前做第一代第二代时钟的时候,就发现一个事情:
MCU在执行任务的时候,很多时候都在delay
例如滚动数字的时候,平移32格像素,需要平移32次,每次平移后间隔6毫秒才能执行下一次的平移,这个时候,空跑的的时间就是31x6=186ms。
这是非常致命的。
如果一秒刷新一次,就有18.6%的时间浪费在等待上。
再例如给传感器发送测量指令后,需要等待一段时间才能读取测量后的值……
这一段时间也是需要等待的。
解决思路
为了解决MCU在等待时摸鱼的情况,可以让MCU在等待的时候进入掉电模式 ,从而降低功耗。
2.第二个问题
但这样又不得不面临一个新的问题,就是
MCU怎么知道自己什么时候醒过来?
解决思路
针对这个问题,可以使用:
掉电唤醒定时器
通过设置掉电唤醒定时器的时间,控制MCU休眠后在我们指定的时间醒过来
3.第三个问题
但这样又有一个问题,那就是:
MCU怎么知道下次什么时候醒过来?
例如执行一个32格像素的平移,要执行32次,MCU执行了第一次,它怎么知道还要执行32次间隔6ms的任务?
解决思路
为了解决这个问题,我想了个办法:
引入两个数组
一个是“休眠时间数组”,一个是“任务号数组”(每个bit代表一个任务),两个数组的值一一对应。
例如执行一个32格像素的平移,要执行32次,我就先在“休眠时间数组”和“任务号数组”中预约32个任务,如下图所示。
每次MCU检测数组“休眠时间数组”[0]和“任务号数组”[0]中的数值,如果不等于0,则将“休眠时间数组”[0]的值装入掉电唤醒寄存器,进行休眠 ,唤醒后再根据“任务号数组”[0]的值匹配相应的任务。
任务完成后整个数组的值向左移动一位。
当检测到“休眠时间数组”[0]和“任务号数组”[0]中的数值为0时,说明UI刷新任务已经完成,掉电唤醒寄存器关闭,彻底进入休眠,等待外部按键中断任务的唤醒。
但项目中并非只有一个OLED屏幕刷新的任务
对于传感器测量等待的任务,为了尽可能保证时效性,不可能排在UI刷新完成之后再测量。
我们当然希望能两不误。
这时就需要写插入算法将任务插入任务队列中。
例如在队列中插入一个气压测量的任务(“任务号数组”bit1 =1),需要等待15ms(6+6+3),插入上图的队列中,如下图。
可以看到当数值不可以重合时,需要打断队列插入数值。
再例如在队列中插入一个气压测量的任务,需要等待12ms,插入上图的队列中,如下图。
可以看到当数值重合时,不需要打断队列插入数值。
只需要添加任务号所对应的bit位。
4.第四个问题
到目前为止,低功耗任务预约的算法算是弄完了,但还有一个问题,就是:
在休眠的过程中,如果有外部中断输入,就会让MCU提前结束休眠。
这样可能会导致传感器采样异常,影响用户体验。
解决思路
这个时候,就需要:
优化睡眠的算法
检测醒来的时候,如果掉电唤醒寄存器内的时间还没有走完,就把值装填回去再次休眠,直到定时器内的值是0为止 。
5.最后一步,将MCU性能榨干
事情还没有结束,我们还可以进一步降低功耗,争取榨干MCU性能!
MCU最耗电的任务其实是在刷屏的时候 ——这时候使用SPI发送数据,需要MCU参与其中,不能去干别的事情。
这个时候我们可以使用DMA功能,使用双缓冲区,先装填1区,DMA发送1区的数据,在1区发送的时候,装填2区,轮流发送,循环往复,提高MCU的工作效率。
但单纯DMA发送数据的话,其实还是会更耗电。
因为需要将数据从flash搬到XRAM里面,再通过DMA发出去是需要时间的,效率上不如把flash的数据直接发送出去。
这个时候可以利用MCU进入停IDLE模式时,MCU停止工作,但外设还在可以工作的特点。
如果在2区填充完成,但1区还没发完的情况下,还可以让MCU进入停IDLE模式,这个时候MCU停止工作,但外设还在可以工作,在IDLE模式等待SPI DMA 发送完成后再唤醒执行别的程序。
这样功耗就可以进一步降低。
除此之外,还有各种优化局部刷新,一点点抠功耗,直至榨干最大性能价值……
参考资料:
[1]开源资料https://oshwhub.com/yq-qvq/low-power-consumption-for-24-days-desktop-clock
— 完 —
嘉立创EDA·头条号
关注我,看一手优质开源项目
相关问答
数字 时钟能解决什么事?数字时钟能解决人们计时和时间管理的需求。它们提供准确的时间显示,使人们能够迅速了解现在的时间,从而帮助人们按时完成工作、学习,或者准时处理日常事务。...
时钟电路的工作原理以及作用是什么?_作业帮[回答]这里说的时钟不是日常显示时间的时钟,是指数字系统里的时钟电路.几乎所有的数字系统在处理信号都是按节拍一步一步地进行的,系统各部分也是按节拍做...
【 电子钟 所显示的时间,相同 数字 连续排列三次的情况一天会发...[最佳回答]01:1102:2203:3304:4405:55这里上下午一起是10次还有10:0011:10--11:19这里上下午22次00:00---00:09这里10次12:22还有单独1次总共...
玩教具,时钟可以锻炼幼儿哪些方面?玩时钟玩具,可以教会孩子认识时钟,学会认识时钟上的阿拉伯数字,知道一天有十二个小时。了解短针时钟,中粗钟是分针,细长的针是秒钟,知道走一大格是五分钟...
时钟在 数字 电路的作用?数字电路里的一切运算都是按频率来工作的,时钟是量化频率的工具,没有时钟,数字电路无法工作。用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字...
时钟在 数字 电路中的主要作用是什么?时钟对数字电路而言非常重要,没有时钟数字电路就没法工作,其全称是时钟频率,一般由晶振来提供时钟频率。数字电路为什么需要时钟频率在数字电路中,所有数据...
求一款软件,能在桌面上显示 数字 时钟,精确到秒,还有阴历,星期...下载个应用汇手机应用商店就可以了,上面什么样的软件都有。下载软件有双倍赔付机制,如果下载到恶意软件被扣费了,有双倍赔付,安全,放心。根据不同的需要进行分...
世界时钟作用?1:世界各地的时区不同,酒店宾馆悬挂世界时钟是为了让国外旅客方便了解到自己现在入住地的时间以及家乡的时间,这样可以让旅客感受到有一种家的感觉,这也是所...
求一款软件,能在桌面上显示 数字 时钟,精确到秒,还有阴历,星期...这款应用程序可以在你的桌面上显示数字时钟,精确到秒,并且还能显示阴历、星期和日期。该应用程序具有可自定义的小部件样式和主题选项,可以根据个人喜好进行调...
在线的大佬!问一下 电子钟 怎么调时间 数字电子钟 有什?[回答]万年历电子钟也叫做数码万年历,其调节器有四个键,D、C、B、A分别对应:退出、流水(下调)、上调、设置。其时间调整方法如下:先按一下“A”键(进入时...