![1368bec66c9f190740bec3e654197b82.png](https://i-blog.csdnimg.cn/blog_migrate/5ccab03145bd95da368c085031d9740b.jpeg)
- 0 前言
旋转LED的原理这里就不多说了,大家可以自行去查阅相关资料。之前是采用的16个单色LED,显示效果比较单一,这次采用了16个RGB,每个RGB最多可以显示7种颜色,增加了软硬件设计的复杂度,但由于系统采用的是无线供电,所以功率有限,建议使用3种纯色就可以了,其他组合颜色功耗比较大,可能会导致处理器异常复位。
- 1 硬件电路制作
1)无线供电板
![9a93c0a3d06b3f6c9ddf1e95bc7e00b5.png](https://i-blog.csdnimg.cn/blog_migrate/c22ea1af85a32ad587b4c6c34ddb60c7.png)
此部分电路已经焊接好了,需要注意的是图2中红色框出来的3个地方是要焊接相应连线的,其
![7c791d4a55d88496217934052866ce71.png](https://i-blog.csdnimg.cn/blog_migrate/63f139824bdb8e20affe4be59d498032.jpeg)
分别是:电机接口MOTO、大线图接口和红外发射管接口,其中电机接线可以不分正反,但会存在正转和反转的情况,也就是图像显示的方向问题,调试过程中可以根据需要自行调整;大线圈接线不分正反;红外发射管是一个透明的二极管,长脚为正极,如图3所示:
![cf91dd8c5a3e2380f2e0af2b43ac223b.png](https://i-blog.csdnimg.cn/blog_migrate/3b36f4b9126d16bb56e4d4177e8846d2.png)
2)RGB灯板
![e20cf70c6d2029a8d47f53b063225767.png](https://i-blog.csdnimg.cn/blog_migrate/da3f79957b75faba57eb490991eb0a78.png)
此部分由16个RGB灯组成,背面是595扩展芯片,用来驱动每个灯的IO,由于本部分焊接难度较大,因此也提供的是焊接好的成品。需要注意的是图4中红色框出的部分是需要和主板连接的接口,用于接收处理器的控制信号。
3)主板
![5da5ff11067d4fb09c09f9577937299e.png](https://i-blog.csdnimg.cn/blog_migrate/c91cee52edbe791dca3e683ad29ceee6.jpeg)
图5所示即为主板,上面主要有电源处理部分,以及单片机,由于主板器件相对较少,请大家自行焊接,具体方法参考图6-8说明。
![1cfcbc47df0b10d06326bd9007796965.png](https://i-blog.csdnimg.cn/blog_migrate/fa168e69fa82516080f2fd359ee1855c.jpeg)
![b9323e0f7cdf90ec0fc5a4c224d84421.png](https://i-blog.csdnimg.cn/blog_migrate/61e287eec6f2a67826655f9ad4748c41.png)
![7415c1e95f444d8fffdd34ec0f5fac03.png](https://i-blog.csdnimg.cn/blog_migrate/5056f33586b32e89fe170e49acf56303.jpeg)
焊接好后大致是这样的:
![af6b115e6585887137ab402238060644.png](https://i-blog.csdnimg.cn/blog_migrate/bd0ca3827363d0347f3c8bf0be604b14.jpeg)
4)接下来需要将主板和RGB灯板连接在一起,并通过图4红框处的焊点进行焊接:
![554eae05e45996ecdcea3f2c6cb4f7e1.png](https://i-blog.csdnimg.cn/blog_migrate/321131d9b67288e08dca5bae4db12200.jpeg)
焊接完成后如图11所示:
![0cbe26da8b8a7175807fc080ccd61894.png](https://i-blog.csdnimg.cn/blog_migrate/9bfd3640ad412c845d7214391fb3e3e6.jpeg)
然后在主板上还需要安装旋转件和无线供电线圈(次级线圈),主要有以下材料:
![4526b609b1b0db0781ed59363b7dcfb0.png](https://i-blog.csdnimg.cn/blog_migrate/dc6f52792372c439c58837749392454a.png)
首先,用溥的双面胶在“线圈固定件”的柱子上缠绕一圈,并将“磁环”套上去;其次,在“磁环”外也缠上一圈双面胶,把“次级线圈”套上,需要注意,“次级线圈”的引出线需要靠近“线圈固定件”的圆盘一侧;
![552282c230dbde85173c3be3c3e764ba.png](https://i-blog.csdnimg.cn/blog_migrate/bcc28d178e22c6f05a5e2a343ce0cdef.png)
完成后就是这样子,由于是漆包线,并不导电,因此还需处理一下,可将两头引出线用火烧一下,再用小刀刮一刮,漏出5mm长即可。最后将两个线头焊接在图14红框中的两个焊点处(可从主板正在面焊接,以免凸起的焊点影响固定件的平整性),次级线圈不分正负,但不要让两根线绞到一起了,右侧的4个孔对应“线圈固定件”的4个孔。
![fe2336fabbe7292746152c8bac45b43a.png](https://i-blog.csdnimg.cn/blog_migrate/0f6133f233919defe0f25651164a7ddd.png)
将转动件的4个孔通过主板背面的4个孔一一对齐,并用图12中的螺丝(Φ2*4)从正面进行固定,基本就完成了主板的安装,最后的效果如图15:
![e1852127a8a50b4cdd7d62b18d3f5144.png](https://i-blog.csdnimg.cn/blog_migrate/c61a2c3102f760af73ddbd8c015b062c.jpeg)
- 2 旋转RGB的组装
1)前面的准备工作已经完成,接着开始整个系统的组装,首先来组装底坐,需要用到图16中的材料:
![44c41bd97c8f631c06472f2e8492b50b.png](https://i-blog.csdnimg.cn/blog_migrate/2b6c7199f8fdb3733c53a1291f283367.jpeg)
①:固定面板*2,撕开表面的膜可以看到,一块是透明的(固定电机),一块是黑色的(固定无线供电板),通过②和⑤进行连接;
②:面板固定螺丝*8,规格Φ2.6*8;
③:电机*1,通过④固定在①上;
④:电机固定螺丝*2,规格Φ2.5*5;
⑤:面板连接柱*4;
⑥:无线供电板*1;
⑦:无线供电板固定螺丝*1,规格Φ3*10+螺帽,将无线供电板固定在黑色面板上;
⑧:电机连接线*2,将电机连接在图2MOTO的位置;
⑨:红外发射管连接线*2,将红外透明(发射)管连接在图2红外位置;
然后将图3中的大线圈引出头进行处理后(同次级线圈的处理方法),由透明面板相应孔下穿并焊接在无线供电板线圈接口位置;最后将大线圈按图17要求进行固定:
![d6e00fe9556e7f2706ce5a8a2aa355e7.png](https://i-blog.csdnimg.cn/blog_migrate/f6211d9cabd8d426cc9d9e9da2389789.jpeg)
到此,旋转RGB底座已基本完成,最终的效果图如图18-19所示:
![6e4d22c244af2ad66baabb03a828fb63.png](https://i-blog.csdnimg.cn/blog_migrate/07e31365c4961ee6115abf627ffc43e2.jpeg)
![42ce27263aebc38a9d8bdbf9846e641c.png](https://i-blog.csdnimg.cn/blog_migrate/4d74e43144261cc31abc4a88b66b0c2b.jpeg)
2)主板与底座的安装
在前面,已经将主板与RGB灯板安装好,但由于电机高速转动会带来平衡性问题,因此通过图20的方法进行优化:
![ad8343e2f1e0da2633b50b59e041524a.png](https://i-blog.csdnimg.cn/blog_migrate/a1e14f4b45b8d703bc7df2dc6e1520bb.png)
虽然增加了配重铜柱,但由于电机高速转动还是会带来一定的晃动(也和组装效果有关),可以用下图或者其他方法进一步改善:
![c7023393e10511514e1750aa71199544.png](https://i-blog.csdnimg.cn/blog_migrate/efdeb1d5614df974dcc65c2132422d66.jpeg)
然后将配重后的主板通过次级线圈与底座的大线圈相扣,就完成了整个系统的硬件安装,具体效果如图21所示:
![dc1fd43bf1b628e142c7567616963b73.png](https://i-blog.csdnimg.cn/blog_migrate/8da4a80628af97e7d7d4715a7bceec6f.png)
- 3 系统软件调试
1)如何下载程序?例程1是通过R、G、B三种颜色循环控制16个灯的点亮,下面一起来操作一下:
![369ef4fa9aa59c22f04da766d48e37d6.png](https://i-blog.csdnimg.cn/blog_migrate/b3271706dd219040bd46851335a3d8dd.jpeg)
首先,主板上的排针是用于下载程序的,右边是一个USB转TTL的下载器,中间是4根杜绑线,需要先安装下载器的驱动:
Windows10 不知道从什么时候开始不再支持PL2303HXA USB转串口芯片了,需要手动安装。步骤如下:
从QQ群提供的文件中找到:PL2303_64bit_Installer
确认USB转串口已经从电脑拔出
双击exe安装驱动
根据弹窗提示插入USB转串口
继续,完成安装
安装完成之后可能还有感叹号,重启电脑即可
![4745b03e6882a8ddf3ee41b27cccc7dd.png](https://i-blog.csdnimg.cn/blog_migrate/5baaf3b86c5358a14bda84ea1da5fba7.png)
安装完驱动后,按照图23的方法进行连线,并将下载器插在电脑USB口上。然后,解压提供是例程,找到RGB(其代码可用Keil4进行编辑和查看);其次,打开下载软件stc-isp-15xx-v6.87.exe:
![36b5acb2f9954da4f4e1be50592e2135.png](https://i-blog.csdnimg.cn/blog_migrate/ce5e87619f7b75e5b92d700d3d206ede.jpeg)
①:选择处理器型号,请按图24进行选择;
②:选择串口,正常情况下驱动安装好后,软件会自动选择,如果有问题,请检查驱动是否正常;
③:打开hex文件,解压RGB.rar后会得到一个RGB.hex文件,选中;
④:选择处理器频率,该芯片最高支持24M;
⑤:下载。注意,应该先断开图23中VCC的连接,点击下载后,再连上,在软件的右下角会有相应的提示,比如下载成功。
最后我们可以看到预期的效果(此时不用安装在旋转底座上):
知乎视频www.zhihu.com当然,去掉下载器,将主板插在底座上,也将呈现出另一种画面。
2)如何显示文字或图像?
首先,需要用到两个工具:字模3增强版、PC2002取模软件。先打开第一个软件:
![411f77f0abea4e26be6de74735a42c56.png](https://i-blog.csdnimg.cn/blog_migrate/d6d3a983de44e7f220c303ebab90623e.jpeg)
①处可以设置字体;②处输入想要显示的文字;③处将其保存为bmp文件;注意应通过④和⑤将其大小调整为96*16,也就是每个字16*16,因为是16个灯;
![3e13fbc0827151182749bce2a5266bf5.png](https://i-blog.csdnimg.cn/blog_migrate/e178830451c71b9432a5346e1e9b8ae2.jpeg)
然后再打开PC2002取模软件,通过①打开刚才保存的bmp图片;点击②处的选项并按下图进行设置:
![394f271bd1cf00a4d0bd9d0fe9e4dc94.png](https://i-blog.csdnimg.cn/blog_migrate/b9a4eedc1dab5afc6ba6153366917878.jpeg)
第三,分别点击③和④,数据将保存为一个txt文档,打开这个文档:
![a785f8c88e69551712d6d7ae2b7ebf29.png](https://i-blog.csdnimg.cn/blog_migrate/3bfb8362fefd536feb8791e908d513ae.jpeg)
把有用数据复制一下,替换例程SWJTU工程中的zimo.c中的Bmp001数组数据,如下所示:
![b1e9e8cb859d6c8662225b80a991f980.png](https://i-blog.csdnimg.cn/blog_migrate/4dfadb938fcc683d83a38f18332d9c32.jpeg)
最后,重新编译工程,并按例程1的方法将程序烧录至单片机中,去掉下载线,把主板装在底座上,接上白色电源线,就可以看到图31的效果了:
![0960b3b9b046eed5804725b009ab018d.png](https://i-blog.csdnimg.cn/blog_migrate/d204b1bd77af336407663f96bd2be01f.jpeg)
![c8380dcfd57e20436be7a751f7b443ff.png](https://i-blog.csdnimg.cn/blog_migrate/32f89aec0380952967e1a20ac84f3746.jpeg)
下面来分析一下这个效果的程序实现:
![aafb8239cfee0aa13797d538aa7d4110.png](https://i-blog.csdnimg.cn/blog_migrate/89d9f6009de919f50fef125ba17ea14a.png)
首先看一下主函数,①处是中断设置,中断就是红外二极管产生的中断,每转动一圈产生一次,主要用于定位显示的起点和控制显示的内容;②就是具体的显示函数。
![73d5ef29d7b1c04a948f70436c651b2e.png](https://i-blog.csdnimg.cn/blog_migrate/a49dde42a0a04c147edcf9004dcb6500.jpeg)
结合图31的效果,在前面取模的时候,“西南交通大学”6个字的大小为96*16,也就是每个字16*16,将两个字分为一组,用一种颜色来表示,因此可以看出color_encode函数的3个参数分别表示红、绿、蓝的编码,也就是说想用什么颜色显示某个数据,就把数据放在对应位置即可;
![7e416ba1cfe6bc4e639630c552ac635a.png](https://i-blog.csdnimg.cn/blog_migrate/05d01059f980f7001ef3722e3f2807cf.jpeg)
DisplayL函数为595芯片的驱动函数,无需更改!
![0b8a2f325e17a7f78e2537e89e4b5bff.png](https://i-blog.csdnimg.cn/blog_migrate/ff43fb0879183d6a3a39f6d8410eeefa.png)
color_encode为颜色编码函数,这个是和硬件唯一对应的,不能更改!
3)如何显示一个动画?
动画的本质也是一帧一帧的图像,帧数越多,效果越好,但需要很多的内存空间,由于单片机的flash有限,因此第3个例程做一个简单的贪吃蛇游戏。
首先,用“字模3增强版”绘制出一帧一帧的图像,并把其保存为bmp格式,本例程共有30帧
![b284143c8644335fc1106e6886295b8b.png](https://i-blog.csdnimg.cn/blog_migrate/d5b35f429789a0fb82b29aede2d4d88b.jpeg)
然后,再用PC2002取模软件将每一个图片转换为点阵数据(方法同例程2)并按顺序复制到Keil工程中的zimo.c文件中;
![644302b590cf090daccfab3cdcc647e9.png](https://i-blog.csdnimg.cn/blog_migrate/5699d87753018b9b86a1871322798baa.jpeg)
最后,修改Snake工程中相应函数代码,具体实现过程不讲了,大家自行去看例程的代码,编译完成后还是按之前的方式进行下载,最后,游戏结束,显示Game Over !
最后的显示效果如下:
知乎视频www.zhihu.com由于单片机的资源有限,所给的例程3只是一个固定的效果(事先设定好了游戏路径);当然,你也可以尝试用算法去写一个自动的贪吃蛇游戏,那样会非常好。
- 4 总结与制作要求
1)通过前面的例程,应该对整个系统有了大致了解,本比赛主要考查两个方面的内容:第一,硬件模型制作水平,比如组装、焊接的情况等;第二,也是最重要的,考查软件编程实现的显示效果,哪一组的效果越丰富、颜色越绚丽,则得分就越高,若只是按照指导文档制作了一遍那也没有太大意义。所以,希望大家下功夫去写软件,去实现、去尝试;
2)相应的例程和软件工具,将在QQ群里面共享给大家,主要有以下几个:
①:RGB例程;
②:SWJTU例程
③:Snake例程
④:PC2002取模软件
⑤:PL2303驱动
⑥:stc-isp下载软件
⑦:Zimo3软件
3)制作调试时如果没有工具,也可到实验室来做,来之前先在群里确认一下是否开门了;
4)本次比赛完成的同学可以保留作品,不再上交;
5)本次比赛将在11月底进行,请大家抓紧时间,有任何问题先查看文档,也可在Q群里面联系老师,但每一步操作之前,先确认看清楚了指导文档,以免损坏器件,若器件出现损坏的情况,可联系老师提供,为了不让大家再三浪费、同时学校经费也有限,部分元件再次领取时需要收成本费用。
6)最后,祝大家取得好的成绩!