本帖最后由 东吴 于 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, 下载次数: 2851)
实际工作效果:
电路图:
Arduino Nano模块:
DS3231时钟模块:
1602液晶屏:
EC11带开关旋转编码器:
模块装配完成:
日期时间调整方法:
1、 在正常走时时,按动开关,时钟停走,显示屏上确认位(第2行第10个字符位)上会出现一个“N”字符,同时在年份末位数字下面显示出一光标,表示此时已进入日期时间调整状态。
2、 转动旋钮,年份会随着改变。调到正确的年份后,按动开关,光标移到月份的位置,再转动旋钮,月份会随着改变。重复按动开关,光标会依次停留在日、周、时、分、秒的位置上可以依次修改日、周、时、分、秒的数值。
3、 再按动开关,光标移到确认位,即“N”字符下面,转动旋钮,字符会依次变为“Y”、“X”、“N”。
4、 在确认位选“Y”后,按动开关,前面所作的日期时间更改将立即被保存并生效,并且时钟退出调整模式,恢复正常走时;
或者,在确认位选“N”后,按动开关,光标返回到年份位置,可重复步骤2~4继续进行调整;
或者,在确认位选“X”后,按动开关,所作的日期时间的更改将被忽略,并且时钟退出调整模式,恢复正常走时。
|