#申请原创#
经过一个多月对AVR128DB48核心板的测试,尽管遇到不少挫折,在大家的支持和帮助下,总算完成了UART、I2C、SPI、TIM等测试,成功驱动了LCD显示屏、DS1302日期模块及DHT11温湿度传感器等外部模块,并基本上完成了多功能时钟的实验,顺利完成了项目计划中的所有目标。
至于在测试过程中遇到的困难、挫折以及取得的经验教训在之前发表的帖子中都有描述,这里就不再重复,本帖重点介绍本次实验的多功能时钟:这个时钟的显示部分使用的是LCD19264显示屏,这个显示模块使用类似SPI通讯方式;时钟源采用的是DS1307日历模块,这个模块上还带有AT24C32EEPROM,便于存储一些时钟设置数据,这两个模块都是通过I2C通讯的;语音播放使用的是JQ8400语音模块,使用UART通讯,采用事先生成的语音文件动态组合播放;温湿度传感器使用DHT11,其测量范围及精度对于家庭使用来说是绰绰有余,这个模块是单总线通讯方式。除了核心板上的按键外,另外从旧鼠标上拆卸零部件还制作了一个鼠标滚轮按键,方便在设置时快速输入数据。下面是多功能时钟的测试画面:
目前已经实现的功能有:
1、除了在屏幕底部正常显示湿度、温度、日期和时间外,还用大号字体轮流显示年份、月日、时间、温湿度数据,方便观看;
2、通过核心板上的按键(key0)控制播放当前的日期、时间、温度和湿度。点按时(按下立即释放)播放当前时间,长按时(按下约两秒后释放)播放当天日期,正常按键(按下约一秒)播放温度和湿度;
3、年月日及时分的设置,通过这个功能来实现初始设置及累计误差的调整,调整操作是通过滚轮完成的,通过滚动滚轮来改变数值。通过按下滚轮时间的长短来切换设置对象或完成设置;
4、定时功能,可以按秒或者按分进行定时,设定时间最大为999秒(或分),倒计时为零之后会有语音提示,并播放一首儿歌,同时转为正计时,直到退出定时模式,定时设定同样也是通过操作滚轮完成的;
5、计时功能,最大计时约18小时,中途可以暂停和继续计时,直到退出计时模式;
6、报时功能,设定为早上7点至晚上8点(冬季)或早上6点至晚上9点(夏季)整点、每刻语音报时一次。
下一步准备完善的功能:
1、是否报时及报时的起止时间可由用户设定,保存在EEPROM中;
2、增加三级组闹铃设置,实现闹钟功能;
3、增加电源电压监测功能,方便提醒用户及时充电。
以后考虑扩展的功能:
1、增加人体红外检测传感器,在有人时提高显示屏的亮度以方便观看,在无人时关闭显示屏亮度以便节能;
2、增加农历显示;
3、增加联网功能,自动消除时间误差,同时还可以增加天气预报显示。
这个实验是为能做出一个实用性产品开展的,已经下单购买合适的机壳,然后根据机壳设计和打样PCB板,最后组装成一个多功能的小时钟。当然以后也可以采用LED阵列显示,可供稍远距离观看。
下面是语音报时的演示视频文件:
colck2.rar
(4.32 MB)
下面是调整年份的界面:
这是设置时间的界面:
这是保存设置的界面:
下面是正常模式下动态显示的视频(动画):
这是定时测试的视频(动画):
下面是计时测试的照片:
这是项目文件的压缩包:
Mytest1.X.rar
(510.77 KB)
|