该方案是一个管状闹钟,一端带有扬声器,另一端嵌入旋转编码器。
设计
这个时钟的设计很大程度上利用了我之前制作的折叠时钟。显示器是由 4 位 7 段显示驱动程序 (TM1650) 驱动的 0.8 英寸 4 位 7 段显示器。微处理器为Microchip ATtiny1614,时间由Real Time Clock芯片(DS1307)控制,自带电池,断电不浪费时间。
旋转编码器包含两组触点,它们会变得非常嘈杂,从而导致读数不正确。我在每个触点和微处理器之间添加了一个 RC 网络和施密特触发器。这消除了触点产生的任何噪音,并向微处理器提供干净的开关变化信号。
设置时间
时钟使用位于时钟一端的旋转编码器进行配置。按下旋转编码器旋钮将通过其设置模式切换时钟。这些如下:
A on - 显示闹钟已开启。逆时针旋转旋钮将关闭警报。
AoFF - 显示闹钟已关闭。顺时针旋转旋钮将打开警报。
Ah xx - 显示当前闹钟时间。顺时针旋转旋钮会增加小时数,逆时针旋转旋钮会减少小时数。
An xx - 显示当前闹钟分钟。顺时针旋转旋钮会增加分钟数,逆时针旋转旋钮会减少分钟数。
th xx - 显示当前时间小时。顺时针旋转旋钮会增加小时数,逆时针旋转旋钮会减少小时数。
tn xx - 显示当前时间分钟。顺时针旋转旋钮会增加分钟数,逆时针旋转旋钮会减少分钟数。
任何更改都会写回 RTC 和/或 EEPROM。
编程 ATtiny1614
ATtiny1614 是新型 ATtiny 微处理器的一部分。与 ATtiny85 等早期系列不同,新品种使用 RESET 引脚对 CPU 进行编程。
连接 UPDI 编程器
在 IDE 中安装板后,从“工具”菜单中选择它。
选择板、芯片(ATtiny1614)、时钟速度(20MHz) 和Arduino Nano 连接到的COM 端口。
Programmer 需要设置为jtag2updi (megaTinyCore) 。
打开草图并将其上传到 ATtiny1614。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !