设计一个旋转的LED时钟,将一排LED灯组安装在指针旋转板上,利用人眼的视觉暂留效应,使用单片机I/O端口控制LED的点亮和熄灭形成图像从而显示出时钟画面。在介绍旋转LED时钟的实现原理和方案的同时,给出了其硬件电路设计和软件流程。
1 旋转时钟原理分析
物体在快速运动时,当人眼看到的影像消失后,人眼仍能继续保留其影像,约0.1秒左右,这种现象称为视觉暂留现象。旋转时钟就是利用了视觉暂留效应,原理如图1所示。图1(a)中最内侧的一个发光二极管和最外侧的一个发光二极管在点亮并绕电机轴高速旋转后就形成了图1(b)所示的内框和外框。图1(b)紧挨着外框的那个LED灯用来显示时间刻度。假设12点那个刻度为0°,则每个小时时针之间的角度为360°÷12=30°,于是当整一列发光二极管每旋转30°,该LED灯就点亮一个瞬间以呈现出时间刻度。如果在小于0.1秒内这列LED灯能旋转完一圈,人眼就会误认为先后产生的12个刻度是同一时间显示出来的。
显示秒针、分针和时针的方法跟显示时间刻度的原理一样。假设用10支发光二极管来显示秒针,10支里面靠内部的9支用来显示分针,再靠内的7支作为时针的显示灯,如图1(a)所示。若要显示3点零5秒,在时问刻度的显示基础上,控制整列发光二极管在0°时点亮9支LED灯以显示分针在12点位置上;紧接着整列发光二极管又转过30°即到了1点的位置,此时点亮10支LED灯,用以显示秒针在5秒的位置上;当发光二极管再转过60°时,再点亮5支来显示时针指在3点的位置上,如图1(c)所示。因为发光二极管在不断高速旋转,在1秒内已经重复点亮12点位置上的9支、1点位置上的10支和3点位置上的7支LED灯10次以上,人眼就会产生图1(c)所示的画面。时钟画面是由一列发光二极管绕圆心按顺时针方向逐列高速扫描过去,每到一列单片机控制相应的LED灯点亮或者熄灭,要在0.1秒内扫描完一圈,重复执行这样的扫描,人的眼睛看上去就形成了一幅时钟的画面。转速越高,LED灯越多,分辨率就越高,看上去就越逼真。
2 旋转时钟方案设计
系统框图如图2:单片机负责数据的处理并控制LED的显示;红外接收模块由一体化红外接收头和红外接收管组成,分别负责处理红外遥控器发出的调时信号和识别旋转的起始位置的作用;时钟模块负责记录时间数据,节省单片机的资源,提高其工作效率,可在系统掉电后正常计时,不需重新设定时钟时间。
结构设计如图3,将单片机、时钟芯片、LED灯组、一体化红外接收头、红外接收管等器件焊接在一块指针板上,只需要外部送电就可以正常运作。电路板中心钻一个电机轴插孔,电机轴插入其中带动指针板旋转。电源采用无线供电模块则装在底座上,无线供电的初次级线圈放在电机与单片机之间,中心线圈随着PCB旋转,外线圈和电机一起固定。