[arduino|macro](6)3D8S的“脱机运行”(视频)

Photobucket

3D8S 是基于 Arduino 平台的 8x8x8 LED 光立方显示模块,之前的介绍基本都基于串口通讯协议,从外部进行显示控制。本期介绍一下如何“脱机运行”,或者说“单机运行”,也就是在一块单片机上实现led的驱动和动画。题图就说明问题咯,3D8S 只通过串口线连接 USB 充电器,就能自己动起来。虽然这并不是我个人推荐的玩法,但相信很多朋友还是希望这么玩,而且确实也很多人这么问过。

我之所以不推荐这么玩,主要还是从显示效果的角度考虑,说来简单,因为点阵(8x8x8光立方的本质,就是64×8的平面点阵嘛)的动态扫描,而在每层的扫描中,都需要一定的延时。而在单线程的程序中,这段时间单片机是空转的,干等,而运算动画的时候,又没空扫描点阵。动画算法简单还好,如果比较复杂耗时的话,轻则影响显示亮度,重则显示闪烁。

吐槽归吐槽,但是要在一片单片机,一片arduino上实现点阵驱动和动画也不是很难的事情。而且实现和《[arduino|macro](5)分享UNO外部控制3D8S的动画示例(视频)》基本一样的动画,包括类似的动画调用方法,同一动画的三种坐标系下显示,也都可以实现。

而配合光立方,圣源制作的32K小卡,其本质就是一块 Arduino UNO,一样使用 ATmega328p 作为主芯片,通过板载的USB接口连接至PC,就可以通过 Arduino 开发环境对其下载程序。换句话说,其实它你能做的事情,不仅仅驱动光立方,可以当做一块完整的 Arduino UNO 来玩,是不是还小巧很多呀?

所有类库和代码,可以在https://github.com/downloads/aguegu/dot-matrix/A3D8_Master.7z下载,解压至ADE的libraries目录下即可。如果之前有下载过之前的类库的话,可能需要先删除,毕竟这里Master板类库都包含了之前的2个例程。其中basic和advanced都是针对协议进行控制,而master的例子,就是本文提高的“脱机显示”。

类库的代码,相信对于玩点阵驱动、动画设计的朋友都有一点帮助吧,开源分享咯~ 虽然串口通讯的协议还没有公开,但是目前公开的代码里面已经可以包含了协议下位机90%的代码(只是少了串口通讯的部分),有兴趣的朋友可以在此基础上试试看,怎么通过串口与上位机再进行通讯。

类库使用 C++ 编码实现,里面文件虽然很多,但是包含了芯片的驱动代码以及动画逻辑库,各种对象的继承、托管,还是用到很多OO的设计方法。我的 C++ 其实就是通过 arduino 来学的么~

视频介绍:

3D8S 淘宝链接:http://syyyd.taobao.com/search.htm?scid=506618425

Creative Commons License
aGuegu’s dot-matrix library hosting on GitHub is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.

关于aGuegu

向着更高的逼格
此条目发表在3D8 光立方, 成品分类目录,贴了, , , , , , , , , , , 标签。将固定链接加入收藏夹。
  • 热苏里·吾斯曼

    你好 我想自己动手做一个8*8*8 的光立方 我现在的资料不够 你能不能给我留下你的联系方式?

    • 可以看看几年10月份的《无线电》杂志,上面有3D8S的原理图。其实圣源的论坛里面也有。联系我的话,可以通过博客,或者是QQ群