前两天看到朋友分享了一个开源小项目,觉得很酷,今天借花献佛,给大家分享下。
BCD的全称是Binary-Coded Decimal,用4位二进制数来表示1位十进制数中的0~9这10个数码,是一种二进制的数字编码形式,用二进制编码的十进制代码。
面板上有一个按键,当我们按下这个按键后,手表会以一秒钟的延迟显示小时和分钟,如下图所示:
当你再次长按按钮时,它将进入分钟设置模式,分钟指示灯将开始闪烁。按下按钮可以增加分钟数。
如果要从设置模式中出来,再次长按按钮,在长按之后,它将正常显示时间。
ATtiny85的引脚不多,所以这边使用了74HC595移位电阻,它增加了LED的引脚。这边我们添加了一个按钮来显示时间和设置时间。充电方面,我们使用了一个TP4056电路,它可以处理锂电池的充电问题。
做完原理图后,把它放在PCB上,可以看到PCB是圆形的,上面有两个槽,这个槽是用来插入我们手表的皮带的。
Github链接:https://github.com/vishalsoniindia/BCD-Watch
可以在网上订购PCB,然后上传的gerber文件,同样可以在GitHub仓库页面获取。
焊接完LED后,接着焊接ATtiny85。首先,先焊接ATtiny85的一条“腿”用来固定,然后焊接了其他7的针脚。表盘上的按键也是这样焊接上去的。
在这里,我们做了魔改,把TP4056集成电路从模块上拆下来,还有额外的元件,像渐变电阻和LED。可以稍微节省点购买新IC的费用。
这里使用的是74HC595移位电阻。
所以,我决定把通孔移位电阻的脚分开来进行焊接。这对我来说是可行的,不过还是想在下一个版本中,改变一些来减少尺寸。
用超级胶水来固定type - C的位置,这样它就能牢固地固定在位置上。
Github链接:https://github.com/vishalsoniindia/BCD-Watch
fuse
文件夹,在fuse
文件夹中点击顶部栏,如图所示,输入cmd
,打开命令终端。cmd.txt
文件并复 制第一行,将其粘贴到命令终端。如果你看到fuse OK,说明成功了。复 制cmd.txt
文件中的第二行,粘贴到命令终端,你将再次看到fuse ok,这意味着你的控制器现在被设置为1Mhz
。
在同一个文件夹中,你会发现Attiny85_link.txt
文件,复 制文件中给出的链接或从下面复 制。
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
转到代码页面,点击使用编程器上传。
在验证完毕之后,我们可以把电池用胶水固定住,虽然这暂时不是一个稳定的解决方案,但是有效的,以后可以考虑用环氧树脂固定。
声明: