当前位置:
文章详情

用Arduino和DS1302时钟模块做个简易电子钟

2020-01-29 05:43:10 11点赞 28收藏 1评论

创作立场声明:简单容易

今天更个ARDUINO从入门到创客带师第⑤弹 自制WIFI时钟 的简单番外,以前在实验室的时候刚入门的小白经常喜欢玩的用DS1302 DS1307+ATMEL332做外部时同步时间的简单教程

当然,还是基于ARDUINO

首先,关于ARDUINO咱就不用多说了吧,相信各位都懂是什么东西了,比51单片机先进,编程理念前卫,有封装好的库,小白非常容易上手搞制作之类的……

DS1302 芯片介绍

一个时钟芯片,可以设置和获取当前时间。 可以自动处理月份、闰年等信息。支持双电源,可以同时使用外接电源和电池同时供电。系统会自动选用电压较高的电源供电。一般模块接一个3v的纽扣电池, 联机使用接开发板上的外接电源,当外界电源断电后,就会使用纽扣电池供电。(然而模块不应该使用开发板上的5V电源,电压太高时钟会走的过快)


用Arduino和DS1302时钟模块做个简易电子钟



引脚定义


VCC1 和VCC2 ,双供电电源。 X1 和X2 接32768Hz晶振 SCLK和IO和RST共同完成通讯过程。 SCLK为通讯的时钟信号。当RST为高电平时,开始通讯。

写入逻辑


用Arduino和DS1302时钟模块做个简易电子钟


写入时间需要转换很多次的电平


用Arduino和DS1302时钟模块做个简易电子钟


读取也差不多少,总之是非常麻烦了

因此,ARDUINO环境带有了DS1302库 ,可以自动的来完成这种复杂重复的操作

#include <Wire.h>

#include <DS1302.h>


DS1302 rtc(2, 3, 4); // RST, DAT, CLK

void getdatetime()

{

Serial.println(rtc.getDateStr(FORMAT_LONG, FORMAT_LITTLEENDIAN, '/'));

Serial.print(rtc.getDOWStr());

Serial.print(" ");

Serial.println(rtc.getTimeStr());

}

void setup()

{

Serial.begin(9600);

// 设置时间后, 需要注释掉设置时间的代码,并重新烧录一次. 以免掉电重新执行setup中的时间设置函数.

rtc.halt(false);

rtc.writeProtect(false);

rtc.setDOW(SATURDAY);

rtc.setTime(17, 22, 30);

rtc.setDate(31, 12, 2016);

rtc.writeProtect(true);

}

void loop()

{

getdatetime();

delay(1000);

}

接线图


用Arduino和DS1302时钟模块做个简易电子钟


1602可以无视了,在这个项目中我们可以用串口监视器来读取时钟数据,老式1602显示屏现在哪还有人用了,上期我们都用12864显示日期时间了好吗

虽然ARDUINO也有对1602显示屏的库就是了


用Arduino和DS1302时钟模块做个简易电子钟


作为一个番外我们并不需要太长的篇幅,简单介绍一下就完事


用Arduino和DS1302时钟模块做个简易电子钟


简单编译上传成功之后我们打开串口监视器


用Arduino和DS1302时钟模块做个简易电子钟


emmmmmmm,看来这个代码定义的时钟的时间停在了2016年

简单改一下


用Arduino和DS1302时钟模块做个简易电子钟


rtc.writeProtect(false);

rtc.setDOW(TUESDAY);

rtc.setTime(21, 05, 30);

rtc.setDate(28, 1, 2020);

rtc.writeProtect(true);

PS:英语的星期月份:星期一 Monday 缩写:Mon. 星期二 Tuesday 缩写:Tues. 星期三 Wednesday 缩写:Wed. 星期四 Thursday 缩写:Thur./Thurs. 星期五 Friday 缩写:Fri. 星期六 Saturday 缩写:Sat. 星期日 Sunday 缩写:Sun. (2)月份: 第一栏为英语月份的缩写。 一月 Jan. January 二月 Feb. February 三月 Mar. March 四月 Apr. April 五月 May. May 六月 Jun. June 七月 Jul. July 八月 Aug. August 九月 Sept. September 十月 Oct. October 十一月 Nov. November 十二月 Dec. December

总之改好之后再上传一次


用Arduino和DS1302时钟模块做个简易电子钟


这次没问题了


用Arduino和DS1302时钟模块做个简易电子钟


记得把设置时间的代码注释之后再上传一次,不然每次单片机开发板重新上电都会把时钟模块的时间设置为代码上写死的时间


用Arduino和DS1302时钟模块做个简易电子钟


那么它有什么用呢?当然有用了,现在这个1307模块就有了相对准确的时间,可以执行现在我们需要的记录时间的功能了。当我们把电脑关机,单片机开发板断电的时候,1307时钟模块的时间还是准的,而且因为内置了纽扣电池,所以它的时间虽然可能走的不精确,但是续航非常长,因此作为早期小白娱乐向项目还是有点实用意义的。


展开 收起

deli 得力 闹钟学生用起床神器多功能智能电子表时钟儿童男女孩强力叫醒

deli 得力 闹钟学生用起床神器多功能智能电子表时钟儿童男女孩强力叫醒

29.9元起

Kairan 凯然 电子温度计闹钟 迷你款 14cm

Kairan 凯然 电子温度计闹钟 迷你款 14cm

9.5元起

天极星钟表静音卡通招财时钟客厅家用免打孔圆形创意卧室时钟挂墙

天极星钟表静音卡通招财时钟客厅家用免打孔圆形创意卧室时钟挂墙

11.9元起

Compas 康巴丝 3001 经典万年历座钟

Compas 康巴丝 3001 经典万年历座钟

49元起

BBA 挂钟客厅简约钟挂墙时尚家用钟表卧室时钟挂表石英钟10英寸黑

BBA 挂钟客厅简约钟挂墙时尚家用钟表卧室时钟挂表石英钟10英寸黑

25.9元起

Hense 汉时 台钟桌面时钟客厅卧室座钟创意夜光摆放式坐钟台式石英钟表HD22

Hense 汉时 台钟桌面时钟客厅卧室座钟创意夜光摆放式坐钟台式石英钟表HD22

79元起

Compas 康巴丝 挂钟客厅钟表简约北欧时尚家用时钟挂表现代创意个性石英钟

Compas 康巴丝 挂钟客厅钟表简约北欧时尚家用时钟挂表现代创意个性石英钟

12.99元起

TIMESS P27 电波万年历挂钟

TIMESS P27 电波万年历挂钟

94.67元起

POLARIS 北极星 圆形客厅静音挂钟简约现代时尚电子钟表家用挂墙石英钟时钟

POLARIS 北极星 圆形客厅静音挂钟简约现代时尚电子钟表家用挂墙石英钟时钟

13.69元起

Compas 康巴丝 挂钟客厅摆钟创意时钟 卧室石英钟表挂墙 C3245 白色 36CM直径

Compas 康巴丝 挂钟客厅摆钟创意时钟 卧室石英钟表挂墙 C3245 白色 36CM直径

88元起

POWER 霸王 PW6229ARMKS 欧式挂钟 金色 34*46*8.5cm

POWER 霸王 PW6229ARMKS 欧式挂钟 金色 34*46*8.5cm

263.6元起

POLARIS 北极星 7110 简约石英挂钟 13英寸 木纹色

POLARIS 北极星 7110 简约石英挂钟 13英寸 木纹色

59元起

七王星 巴科达 七王星 巴科达 2604-1 挂钟 9英寸

七王星 巴科达 七王星 巴科达 2604-1 挂钟 9英寸

10.8元起

POLARIS 北极星 挂钟新中式创意简约时尚中国结时钟13英寸客厅书房办公室钟表 78907咖木

POLARIS 北极星 挂钟新中式创意简约时尚中国结时钟13英寸客厅书房办公室钟表 78907咖木

129元起

CASIO 卡西欧 挂钟 家用客厅钟表复古时尚大气办公室木框石英钟

CASIO 卡西欧 挂钟 家用客厅钟表复古时尚大气办公室木框石英钟

暂无报价

MEISD 美世达 熊猫挂钟 装饰表挂墙 小号35*42.5cm(脚脚会摆动)

MEISD 美世达 熊猫挂钟 装饰表挂墙 小号35*42.5cm(脚脚会摆动)

97.72元起
1评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
28
扫一下,分享更方便,购买更轻松