矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 28364|回复: 32

Arduino NANO + DS3231制作的高精度数字钟(带单键飞梭设置日期时间功能)

[复制链接]
发表于 2016-2-14 20:49:48 | 显示全部楼层 |阅读模式
本帖最后由 东吴 于 2016-2-14 20:47 编辑

最近初学Arduino,用Arduino Nano模块 + DS3231模块 + 1602液晶屏 + 旋转编码开关搭出了一个数字时钟。
程序是从网上找的,本人作了些改动和补充。
温度数据由DS3231内部集成的温度传感器获得,手册上给出的误差为正负3度。
实际运行一周后,时钟误差大约1秒。
这个版本带有单键飞梭功能,可以随时调整日期和时间。

与本人前面的不带飞梭调整功能的版本相比,在硬件上这次增加了一只带开关旋转编码器,并且LCD模块与Arduino NANO之间的连线也作了调整。

Arduino开发软件使用的是1.6.7版本,可从Arduino官网上下载,地址如下:
https://www.arduino.cc/en/Main/Software?setlang=cn

程序源代码:
ClockRotary.zip (13.03 KB, 下载次数: 2780)

实际工作效果:
Working.JPG

电路图:
Schematic2.jpg

Arduino Nano模块:
ArduinoNano.jpg

DS3231时钟模块:
DS3231.jpg

1602液晶屏:
1602LCM.jpg

EC11带开关旋转编码器:
Rotary.JPG

模块装配完成:
Clock.JPG



日期时间调整方法:

1、        在正常走时时,按动开关,时钟停走,显示屏上确认位(第2行第10个字符位)上会出现一个“N”字符,同时在年份末位数字下面显示出一光标,表示此时已进入日期时间调整状态。
Adjust_N.JPG

2、        转动旋钮,年份会随着改变。调到正确的年份后,按动开关,光标移到月份的位置,再转动旋钮,月份会随着改变。重复按动开关,光标会依次停留在日、周、时、分、秒的位置上可以依次修改日、周、时、分、秒的数值。

3、        再按动开关,光标移到确认位,即“N”字符下面,转动旋钮,字符会依次变为“Y”、“X”、“N”。

4、        在确认位选“Y”后,按动开关,前面所作的日期时间更改将立即被保存并生效,并且时钟退出调整模式,恢复正常走时;
或者,在确认位选“N”后,按动开关,光标返回到年份位置,可重复步骤2~4继续进行调整;
或者,在确认位选“X”后,按动开关,所作的日期时间的更改将被忽略,并且时钟退出调整模式,恢复正常走时。
Adjust_Y.JPG
Adjust_X.JPG

评分

1

查看全部评分

发表于 2016-2-15 19:24:07 | 显示全部楼层
做个记号………感谢提供……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-17 21:39:42 | 显示全部楼层

谢谢版主加分和设置高亮。希望本文对初学Arduino的朋友有所帮助。
回复 支持 反对

使用道具 举报

     
发表于 2016-2-17 22:20:39 | 显示全部楼层
谢谢分享,受教了
回复 支持 反对

使用道具 举报

     
发表于 2016-2-19 15:23:37 | 显示全部楼层
请问楼主:Arduino开发软件使用的是1.6.7版本,,win10系统能用这个开发软件吗?
回复 支持 反对

使用道具 举报

     
发表于 2016-2-19 15:24:47 | 显示全部楼层
我也准备开始学习ARDUINO,开发板已买,刚在淘宝下的单,估计最迟周一就能到货!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-19 20:32:03 | 显示全部楼层
yjx189 发表于 2016-2-19 15:23
请问楼主:Arduino开发软件使用的是1.6.7版本,,win10系统能用这个开发软件吗?

我用的是1.6.7 Windows免安装ZIP包。解压缩后可以直接运行。
在Win 10和Win 7系统上都用过,还没发现有问题。
回复 支持 反对

使用道具 举报

     
发表于 2016-2-19 22:49:56 | 显示全部楼层
这个有点奢侈吧
回复 支持 反对

使用道具 举报

     
发表于 2016-2-19 23:18:18 | 显示全部楼层
这个一定要试一下,谢谢LZ。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-20 11:44:30 | 显示全部楼层
4758866 发表于 2016-2-19 22:49
这个有点奢侈吧

元器件都是从某宝上淘的,不包含邮费的价格如下:
Arduino nano V3.0 ATMEGA328P          13.5
EC11编码器                                            2.3
DS3231 AT24C32 高精度时钟模块     2.8
1602液晶屏                                          5.5
miniUSB数据线                                          2.0
12*8cm 洞洞板                                  5.0
10k微调电阻                                      0.5
----------------------------------------------------------------
合计                                                 31.6

作为学习工具这点成本不算高吧。
回复 支持 反对

使用道具 举报

发表于 2016-2-20 19:24:10 | 显示全部楼层
感谢楼主 分享代码
回复 支持 反对

使用道具 举报

     
发表于 2016-2-20 22:00:24 | 显示全部楼层
本帖最后由 zhxzhx 于 2016-2-20 22:03 编辑
4758866 发表于 2016-2-19 22:49
这个有点奢侈吧


不会超过50块钱的,有什么奢侈的。
楼主有价格,我回快了,算我没说。
回复 支持 反对

使用道具 举报

     
发表于 2016-2-20 23:15:17 | 显示全部楼层
相比我做的只要15元算奢侈了
回复 支持 反对

使用道具 举报

     
发表于 2016-4-10 20:40:02 | 显示全部楼层
楼主能不能写个用12864屏的程序,可以带上农历成一个万年历,最好能多留点接口,以后可以上定时继电器,温度控制,湿度控制
回复 支持 反对

使用道具 举报

     
发表于 2016-4-11 10:11:54 | 显示全部楼层
你这个3231模块才2.8元,准确度怎么样呀。一个月误差有多少。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-4-23 16:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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