数码之家

 找回密码
 立即注册
搜索
查看: 4220|回复: 25

我也玩国外开源OLED手表

[复制链接]
发表于 2020-3-20 09:37:05 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 38293312 于 2020-3-20 16:09 编辑

这款OLED手表在国外出现很早了,我也很早就把资料下载,就这两三个月在家闲蛋痛。才拿出来把PCB画了。


没原作者授权请勿用于商用!本人只用于爱好者技术交流!
打样PCB还有,如须要的朋友免费赠送!快递费自理!


国外作者网站地址:https://blog.zakkemble.net/diy-digital-wristwatch/
以下为引用作者原帖谷歌翻译中文。
介绍
这个项目背后的主要动机是看我能在硬件和软件方面塞入一个不超过显示屏本身的类似手表的设备中。选择OLED显示器的原因是厚度仅为1.5毫米,并且不需要背光(每个像素都产生自己的光),但主要是因为它们看起来很酷。该表原本将具有0.96英寸的显示屏,但事实证明,要让我将所有想要的东西藏在表底下,这太困难了。将尺寸增大到1.3英寸是完美的。
在硬件方面,该表包含Atmel ATmega328P微控制器,2.5V稳压器,Maxim DS3231M RTC,1.3英寸128×64单色OLED,2个LED(红色和绿色),蜂鸣器,用于导航的三向开关,由150mAh供电可通过USB和2个PCB充电的LiPo电池(尽管其中一个PCB仅用作OLED的提升器)。

所述ATMEGA328P使用其内部8MHz的振荡器和运行在2.5V从一个线性调节器。活跃时的电流消耗约为1.5mA,休眠模式下的电流消耗为100nA。
DS3231M RTC是一个极好的芯片,收纳在一个小的8管脚封装,其包括内置的温度补偿的MEMS谐振器,具有±5ppm的的精度(±2分钟每年40秒)。仅需要一个去耦电容器和几个额外的上拉电阻。RTC已布线,因此无需在VCC引脚上加电,而是在Vbat引脚上加电,从而将其电流消耗从大约100uA降低到2.5uA。
不幸的是,如果您不在美国,该芯片似乎很难以合理的价格获得。我得拿我的作为样本。
电池充电电路使用Microchip MCP73832以及一些用于负载分担的其他组件,在这里电池可以充电而手表的其余部分不会受到干扰。
您可能已经在原理图中注意到LED无需任何电阻器即可直接连接到微控制器。微控制器的内部MOSFET的导通电阻约为40Ω,因此在电源电压为2.5V的情况下,LED的电压为2V f时,大约12.5mA的电流通过LED导通。我本来希望有一个蓝色的LED,但是这些LED的压降通常超过3V,这将需要一些额外的电阻器和MOSFET。
当微控制器以2.5V运行时,需要将电池电压调低一点以获取ADC读数。这是通过一个简单的分压器完成的。但是,由于分压器跨接在电池两端,因此会有约350uA的电流不断流过,这是对功率的巨大浪费。添加了一个P-MOSFET(以及它的一些电压电平转换,我在第一个版本中就忘记了它,因此它一直卡在它上),因此分压器只能在需要时才打开。

使用的2.5V稳压器是Torex XC6206,其主要选择是因为其静态电流仅为1uA。
为什么选择线性稳压器而不是开关稳压器?我研究的开关稳压器在2mA负载下的效率至少为80%,但是在100uA负载下效率很快下降到不足50%。由于连接到稳压器的设备在睡眠模式下消耗2-3uA的电流,因此与线性稳压器相比,开关稳压器的性能会非常差。输入为4.2V时,2.5V线性稳压器效率为60%,输入为3V时则高达83%。

软件
因此,我们拥有一个漂亮的OLED显示屏和32KB的程序空间,可以肯定,我们不仅可以拥有时间和日期,还可以拥有更多的东西吗?
几乎所有东西都是动画
总而言之,优化渲染代码花费了很多时间,简而言之,这涉及将位图图像从闪存复制到RAM中的帧缓冲区,然后通过SPI将帧缓冲区发送到OLED。最终结果是,使用8MHz AVR可以在手表的几乎所有区域保持100+ FPS。但是,由于动画是基于帧而不是基于时间的,并且为了节省功耗,因此帧速率限制为60FPS。
一些主要的动画内容:
  • 进入和退出睡眠模式时的CRT动画(类似于某些Android智能手机具有的CRT动画)。
  • 主要时间号码具有置顶效果。
  • 菜单具有向左/向右滚动的动画,选择一个选项将导致当前菜单从屏幕上消失,而下一个菜单将落在屏幕上。
警报器
  • 最多设置10个警报时间。
    报警次数仅受可用EEPROM数量的限制。
  • 每个警报都有小时,分钟以及应该在一周的哪几天激活。
多种选择
  • 3通道音量控制
    • 用户界面
    • 警报器
    • 小时蜂鸣
  • 睡眠超时
  • 显示亮度
  • 动画




省电
在“活动”模式下,微控制器尝试尽可能多地进入空闲睡眠。在空闲睡眠中,控制器每毫秒唤醒一次,以查看是否需要更新任何内容;如果不需要,则返回空闲睡眠状态;如果不需要更新显示,则通常花费不到100us。在这种模式下,电流消耗可以介于0.8mA和2mA之间,具体取决于绘制帧所花费的时间(快速的帧绘制时间=空闲睡眠中的时间更长)。
在“睡眠”模式下,微控制器关闭OLED并进入掉电睡眠模式,该模式仅通过按下按钮,RTC警报或插入USB即可唤醒。在这种状态下,微控制器消耗约100nA电流。
能量消耗
在睡眠模式下,手表的总电流消耗约为6uA。在活动模式下,虽然典型的电流消耗为10mA,但电流消耗范围从2mA到70mA以上不等。


各种模式下的电池寿命
电池容量:150mAh
最低
(睡眠模式)
典型
(主时间显示)

(手电)
6uA 2.
85年
10mA
15小时
64mA
2小时20分钟


如果手表平均每天处于活动模式1分钟(5秒的睡眠超时每天将检查时间12次),并且所有音量通道均设置为最小,则手表应持续约1年零4一次充电即可使用几个月。
以下是原作者照片:


image.png





image.png




闹钟:
image.png


游戏:
image.png
image.png


手电筒:


image.png


跑表:

image.png


音量设定:


image.png




以下本人参照原作者1:1 画的PCB

1.png


2.png


3.png


4.png


DSC08223.JPG


DSC08224.JPG



DSC08225.JPG



DSC08226.JPG



DSC08227.JPG



DSC08228.JPG



DSC08229.JPG





DSC08232.JPG

原理图:
schematic.png


熔丝位:
High:                0xDF
Low:                0xD2

Extended:        0xFE

固件 firmware.rar (28.14 KB, 下载次数: 6, 售价: 10 家元) 源代码 watch.rar (72.85 KB, 下载次数: 11, 售价: 10 家元)

(提示:一定要烧录EEP,不然有些功能不能使用)


经过半个月的测试,我200MA电池使用2星期不用充电,现在发现固修的有一个小DBUG,就是休眠不能设置,进入设置以后就会出现不休眠问题,所以要玩的朋友就不要进这项设置了,其它功能正常!









打赏

参与人数 1家元 +16 收起 理由
数码家园 + 16

查看全部打赏

发表于 2020-3-20 09:57:41 | 显示全部楼层
加个3D打印的外壳就完美了
回复 支持 反对

使用道具 举报

发表于 2020-3-20 09:57:52 | 显示全部楼层
请收下我的膝盖
回复 支持 反对

使用道具 举报

发表于 2020-3-20 10:01:20 | 显示全部楼层
oled屏很脆弱的。一定要保护好,加个外壳
回复 支持 反对

使用道具 举报

发表于 2020-3-20 10:12:17 | 显示全部楼层
本帖最后由 温力口 于 2020-3-20 10:14 编辑

谢谢分享。。。。。这个OLED在室外环境下能看得清楚否?遥想公谨当年,我拿一只荧光的计算器在室外操作,什么也看不清楚。。。。。。。:titter::titter:
回复 支持 反对

使用道具 举报

发表于 2020-3-20 10:19:03 | 显示全部楼层
温力口 发表于 2020-3-20 10:12
谢谢分享。。。。。这个OLED在室外环境下能看得清楚否?遥想公谨当年,我拿一只荧光的计算器在室外操作,什 ...

遥想公公当年,温总管拿一只荧光的计算器在室外操:titter:
回复 支持 1 反对 0

使用道具 举报

发表于 2020-3-20 10:23:56 | 显示全部楼层
人艰不拆了 发表于 2020-3-20 10:19
遥想公公当年,温总管拿一只荧光的计算器在室外操

:curse::shocked::mad::curse::sweat::huffy::shutup:
回复 支持 反对

使用道具 举报

发表于 2020-3-20 10:30:20 | 显示全部楼层

哈哈,此处省略几个字
回复 支持 反对

使用道具 举报

发表于 2020-3-20 11:13:15 | 显示全部楼层
本帖最后由 jjbboox 于 2020-3-20 11:16 编辑

这个字体真的好漂亮啊!
感觉不需要那么高的刷新率吧!
一般显示时间的话2Hz的频率刷新屏幕也足够了,OLED屏会自己保持显示。
显示动态效果的时候可以调节这个刷新频率。
这样会更省电。

楼主有源代码吗?

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-20 11:20:35 | 显示全部楼层
温力口 发表于 2020-3-20 10:12
谢谢分享。。。。。这个OLED在室外环境下能看得清楚否?遥想公谨当年,我拿一只荧光的计算器在室外操作,什 ...

很清楚
很清楚
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-20 12:25:31 | 显示全部楼层
jjbboox 发表于 2020-3-20 11:13
这个字体真的好漂亮啊!
感觉不需要那么高的刷新率吧!
一般显示时间的话2Hz的频率刷新屏幕也足够了,OLED ...

有啊。原作者网站你打不开吗?
回复 支持 反对

使用道具 举报

发表于 2020-3-20 14:31:15 | 显示全部楼层
打这种外观不是正方形,内部还开异形槽的板多少钱。
回复 支持 反对

使用道具 举报

发表于 2020-3-20 15:10:44 | 显示全部楼层
本帖最后由 la45088d1 于 2020-3-20 16:43 编辑

只有固件没代码吗?
这不算开源吧,还有bug没搞头啊。
好吧,源码在GitHub里了,本贴只转了固件。
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-3-20 16:10:03 | 显示全部楼层
wuheart 发表于 2020-3-20 14:31
打这种外观不是正方形,内部还开异形槽的板多少钱。

30元。很便宜
回复 支持 反对

使用道具 举报

发表于 2020-3-21 00:31:47 | 显示全部楼层
没有陀螺仪么?
回复 支持 反对

使用道具 举报

发表于 2020-3-21 09:32:45 | 显示全部楼层

093542xqwpu7qwaxuzz7jq.jpg
屏保护下吧,这个角好像已经没了,这里也是有线路的,你这里再断的里面点就只有半个屏有用了,我两片oled就是这么废掉的
回复 支持 1 反对 0

使用道具 举报

发表于 2020-3-21 16:57:28 | 显示全部楼层
这个要mark一下
回复 支持 反对

使用道具 举报

发表于 2020-3-22 06:45:20 | 显示全部楼层
有技术的,加个GPS模块进去是不是更好玩
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-27 10:23 , Processed in 0.156000 second(s), 15 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表