电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>小型电池供电时钟开源分享

小型电池供电时钟开源分享

2022-10-31 | zip | 0.34 MB | 次下载 | 免费

资料介绍

描述

这款小型电池供电时钟可配置为显示为模拟时钟、数字时钟、世界时钟或数字闹钟。这个时钟类似于我几年前制造的诺基亚模拟数字闹钟。它使用 ATtiny1614 微处理器(16k Flash,2k Ram)。不幸的是,它没有足够的闪存来容纳所有功能集。这次我使用了 ATtiny3216 微处理器。它有两倍的闪存,它不仅让我可以合并以前的功能集,还可以在世界各地的可选城市中添加当前时间。它会自动调整可能在任何选定城市中启用的夏令时。

建立案例

使用提供的 STL 文件,打印正面和背面。我使用了 0.2 毫米的层高并且没有支撑。打印正面时,用您选择的颜色制作前 2 层,在第 3 层开始时更改为对比色,并在第 5 层开始时切换回所选颜色。

前面有两个支架用于支撑印刷电路板。用 2.5 毫米的钻头将它们钻出来,然后用 3 毫米的丝锥创建一个螺纹。

构建电子产品

我遇到的问题之一是诺基亚 5110 显示器的不同变体。

pYYBAGNYuA2ASH3nAACAP22OhRA234.jpg
来自 eBay 的三种不同型号的诺基亚 5110 LCD 模块
 

PCB 专为中间变体而设计。中间变体上的标题更宽(设计为适合 0.1 英寸网格),右侧变体只有一个标题行。

如果您希望将电路板商业化或您可以自己制作,则已包含 Eagle 文件。我用碳粉的方法来制作我的。

首先添加 SMD 组件。我发现在焊接 SMD 元件时使用焊膏比使用卷盘中的焊料更容易。

将机器接头添加到电路板的铜面上。

poYBAGNYuBGAdmLjAAK0DxOsDmo142.jpg
添加 SMD 组件和加工接头
 

接下来添加顶部组件。我建议您先将按钮顶部粘到触觉开关上,然后再将其安装到板上。不要让胶水顺着轴流进开关。将按钮顶部朝下放在工作台上,在轴孔中添加一些强力胶,然后将开关轴放入孔中。让它倒置,直到胶水变干。

18650 电池座位于 PCB 安装孔上方。用双面胶粘住支架。从 PCB 的铜侧钻穿两个 3 毫米的安装孔,并穿过电池座的塑料。使用 10 毫米钻头在电池座上钻孔。

将 18650 电池座引线切割并焊接到电路板上。

poYBAGNYuBWAQ6blAAIknrIeU_c083.jpg
添加顶部组件和开关
 

将公机头添加到 LCD 并插入 PCB。将 PCB 拧入外壳。

pYYBAGNYuBmAWDAHAAGzjMZ0oB4362.jpg
将LCD和螺丝板添加到外壳中
 

编程时钟

ATtiny3216 处理器Microchip 新型微处理器的一部分。请阅读我关于如何对这些处理器进行编程的教程

pYYBAGNYuByAf8M6AADdbqHsKFg429.jpg
时钟连接到我自制的 UPDI 程序员
 

您需要下载LCD5110_Graph 库并将其安装Arduino IDE 中。此外,您还需要DS1302RTC库。

设置世界时间表

在文件 World.h 中,从第 63 行开始有一个表格,定义了可以选择的城市/时区。它由两个 NULL 指针终止。这允许您添加您认为必要的城市/时区。

表中的每个条目都包含三个元素。第一个是代表城市或时区的 3 个字符的名称。第二个是指向确定夏令时开始时间的规则的指针。& 字符仅表示“地址”。第三个是指向确定夏令时何时结束的规则的指针。

RULE worldChoices[] = {
    :
  {"SYD", &AEDT, &AEST},
    : 
  {"", NULL, NULL}
}

这是澳大利亚悉尼的入口。该选项显示的名称是“SYD”,第二个元素是规则 AEDT(澳大利亚东部夏令时间)的地址,第三个元素是规则 AEST(澳大利亚东部标准时间)的地址。

规则本身在此表之前定义。在悉尼,规则在第 16 行和第 17 行。

const TimeChangeRule AEDT PROGMEM = {"AEDT", First, Sun, Oct, 2, 660};
const TimeChangeRule AEST PROGMEM = {"AEST", First, Sun, Apr, 3, 600};

规则的变量名称是您喜欢使用的任何名称,只要它在代码中是唯一的即可。规则的格式是:

TimeChangeRule myRule = {abbrev, week, dow, month, hour, offset};

在哪里:

abbrev是时区的字符串缩写;不得超过五个字符。

week是规则开始的月份中的第几周。

dow是规则开始的星期几。

小时是规则开始的本地时间小时 (0-23)。

offset是所定义时区的 UTC 偏移量(以分钟为单位)。

为方便起见,可以使用以下符号名称:

周:第一,第二,第三,第四,最后一个道:周日,周一,周二,周三,周四,周五,周六月:一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月

对于美国东部时区,TimeChangeRule可以定义如下:

const TimeChangeRule usEDT PROGMEM = {"EDT", Second, Sun, Mar, 2, -240};  //UTC-4 hrs
const TimeChangeRule usEST PROGMEM = {"EST", First, Sun, Nov, 2, -300};   //UTC-5 hrs

设置好表格后,您可以上传代码并进行测试。

最后添加电池并关闭外壳。

pYYBAGNYuCCAQjclAAG13dLAfXU540.jpg
添加电池并关闭外壳
 

使用时钟

时钟有三个按钮。最左边的是SELECT,中间的按钮是BACK,最右边的按钮是NEXT。

按下 SELECT 按钮时,背光将亮起 5 秒钟,让您在黑暗时读取显示屏。

再次按 SELECT 将在模拟、数字、世界和闹钟面之间循环。

要设置时间和日期:

在 TIME 屏幕上,按 BACK 或 NEXT 按钮。小时将开始闪烁。使用 BACK 和 NEXT 按钮以 24 小时格式设置小时值。再次按 SELECT,分钟将开始闪烁。再次使用 BACK 和 NEXT 按钮设置 Minutes 值。再次按下选择按钮将允许您设置年、月,最后是日。之后,SELECT 按钮将存储新时间。

选择世界时间:

在 WORLD 屏幕上,按 BACK 或 NEXT 按钮。第一个城市名称将开始闪烁。使用 BACK 和 NEXT 按钮设置城市。

显示的第一个城市被视为当地时间。选择的第二、三、四城市的时间将从第一城市时间开始计算。

再次按下 SELECT,列表中的下一个城市开始闪烁。再次使用 BACK 和 NEXT 按钮选择城市。再次按下 SELECT 按钮将允许您选择第三和第四行的城市。之后,SELECT 按钮会将所选城市存储在 EEPROM 中。

设置闹钟:

在 ALARM 屏幕上,按 BACK 或 NEXT 按钮。小时将开始闪烁。使用 BACK 和 NEXT 按钮以 24 小时格式设置小时值。再次按 SELECT,分钟将开始闪烁。再次使用 BACK 和 NEXT 按钮设置 Minutes 值。再次按下选择按钮将允许您打开或关闭警报。之后,SELECT 按钮会将新的报警参数存储在 EEPROM 中。(注意:闹钟时间始终以 24 小时格式显示)。

 

 

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费