1、研究背景:
我们都是魔方爱好者,得知大赛的消息后便萌生了做一个电子光魔方的想法。通过LED模拟真实魔方的各种转动效果,再自行编写魔方还原算法实现魔方的智能自动还原。由于对魔方的各种变化非常熟悉,所以我们实现了任意打乱魔方的准确快速还原。作品采用三基色共阳LED,由81个LED焊接成9×9的点阵构成魔方的一个面,然后由六面合围组成电子魔方,将驱动板放在了魔方内部,使魔方结构更加紧凑。
图1和图2分别是光魔方的实物图。
图1整机实物图 图2 开机画面
2、作品特色:
(1)本作品采用基于三基色的LED作为电子光魔方的显示器件,突破传统魔方的机械结构,赋予魔方更加鲜活的色彩和更加神奇的效果。
(2)利用LED发光模拟真实魔方的色块,用C语言编写魔方还原算法,实现电子魔方智能还原。
(3)通过模数转换和快速傅立叶变换获得频谱数据,显示在16×32点阵屏上,最终实现音乐频谱显示的功能。
(4)具有音乐播放和低功耗床头灯功能,且灯的颜色可调,还您一个轻松愉快的夜晚。
3、功能与结构说明:
(1) 可选控制方式:本作品可以通过PS2键盘控制或红外遥控模拟魔方的转动或进行一键还原,且还原速度可切换。图3为遥控器和键盘实物,图4为一键还原后的效果画面。
图3 遥控器和改装的PS2键盘 图4 一键还原效果
(2) 花样魔方功能:包括六面回字、大小魔方和(动态)七彩变换三种效果。显示效果如图5-图7所示。.
图5 六面回字 图6 大小魔方 图7 七彩变换(动态)
(3) 音乐播放功能:通过音乐播放模块来播放音乐,点阵显示屏进行音乐频谱的显示。音乐播放的同时仍然可以操作光魔方。图8为音乐播放器模块实物图,图9为频谱显示画面。
图8 音乐播放模块 图9 音乐频谱显示
(4) 红外遥控床头彩灯功能:本作品可以作为床头灯使用,一共能显示7种颜色。由于白光放到床头很可能会使人感觉刺眼,而且显示白色时LED所消耗的功耗最大,本着舒适和低碳环保的原则,我们选取了除白光显示以外的六种颜色,如图10所示。
图10 红外遥控床头彩灯效果
平台选型说明:
设计说明:
1、设计原理
硬件设计原理:六面9×9三基色七彩共阳LED焊接而成,LED 引脚接线全部在PCB板上,每个面为一个单元,其中每三行的共阳连在一起,引出三个共阳端,每三列的LED的R,G,B端分别接在一起,引出9个阴极端。再将六个面的三个共阳端分别接在一起送74HC154译码器输出端,54个阴极端送4片MBI的输出端。采用阳极扫描,利用串转并芯片将串行信号转换成并行信号送到LED的54个阴极,从而将六面LED驱动起来。
作品外壳采用亚克力高分子有机板材切割拼合而成。方形底台前置点阵显示模块,后置音乐播放模块和扬声器,底台内部为大赛指定开发板;梯形立体支架的作用是支撑、固定光魔方。通过梯形立体支架结合底台的盖板反射出的魔方底面,观赏者不但可以观看露在外面的5个面,还可以观看光魔方最下面的面。
2、设计方案及核心技术
(1) LED选择直径为5mm雾状草帽形,管间距同样选择5mm,这样魔方的外形尺寸为95mm×95mm×95mm实物效果较好。
(2) 采用TD62M8600F作为LED恒流驱动芯片,串转并芯片选择MBI5026CP,单片机为大赛指定的IAP15F2K61S2系列单片机,用74HC154作为共阳扫描芯片,为使系统结构更加紧凑将驱动电路绘制成PCB置于魔方内部,只将数据线和电源线引到魔方外部。
(3) 程序采用模块化编程,层次化设计,通过数组赋值可以实现对颜色的管理,我们把魔方的各个面用对应的英文字母表示:顶面U,底面D,左面L,右面R,前面F,后面B。定义各面顺时针和逆时针转动子函数及其他旋转函数共计16个方便上层程序调用,为魔方算法实现做准备。定义PS2键盘上的按键实现魔方的各面顺时针和逆时针转动。
(4) 魔方算法:我们先将魔方划分成不同的色块,每个面的中心位置为中心色块,共计6块;每条楞的中心位置为楞色块共计12块;每个角的位置为角色块共计8块,魔方总色块数为6+12+8=26块。
① 程序先找到顶面,由于顶面中心色块自然对好,所以我们先遍历找到顶面第一个楞色块所在的位置,然后转动到第一个楞色块的正确位置;接下来遍历找到第二个楞色块所在的位置,然后转动到第二个楞色块的正确位置,依次进行直到顶面四个楞色块全部拼好,由于魔方转动时千变万化所以后面的还原不可以打乱前面已经拼好的色块,这是最关键的。
② 接下来的工作是拼好顶面四个角色块,方法和思维同顶面棱色块拼法一致,但由于角色块是由三个色块组成,所以尽管在同一物理位置但是颜色分布却有三种可能,所以还原路径较多,遍历起来更加困难。
③ 接着是拼好中间层四个楞色块,利用事先写好的魔方组合算法实现。
④ 随着26个魔方色块逐一被还原魔方也就拼好了,随着还原的进行不可以被打乱的色块越来越多难度随之增大,最大的问题是不要打乱已经拼好的色块和各底层旋转子函数的协调高效调用。
⑤ 再然后是底层8个色块的还原,通过特殊图形标记法和魔方组合算法实现。遍历最少特殊图形数量,确保魔方可靠还原。
(5)通过对PS2键盘和红外遥控器解码,利用单片机中断系统可以通过键盘和红外对魔方进行转动控制。
(6)通过STC15F系列单片机进行AD取样得到32个数据,经过FFT算法(快速傅立叶变换)得到频域的32个数据,最后通过16×32点阵屏幕显示出来,实现音乐和频谱同步的效果。
3、驱动电路原理图和PCB
本作品的驱动电路图和PCB图如图11和图12所示,图13是光魔方一个面的PCB实物图,光魔方就是由6个这样的面组合而成的,图14是驱动电路的PCB实物图。
4、设计过程
可以说整个的设计过程都是团队共同合作的结果。以下几幅图片记录了我们团队合作的瞬间。
图14 团队设计过程图