YFROBOT创客社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13759|回复: 6
打印 上一主题 下一主题

Arduino 驱动8x8x8光立方 arduino光立方库文件

[复制链接]

签到天数: 866 天

[LV.10]以坛为家III

跳转到指定楼层
楼主
发表于 2014-10-16 13:43:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 AllBlue 于 2014-10-16 13:50 编辑

Arduino 驱动8x8x8光立方
关于光立方的焊接、制作以及相关资料,点击光立方,这里都有;文章底部也有下载链接,有需要的可以看看,这里不做介绍!
本帖主要介绍由YFRobot 编写的arduino光立方库文件,及其使用方法:
首先我们需要准备的材料:
   1、光立方 -- 购买地址
   2、arduino控制板+USB下载线
   3、几根杜邦线

下载库文件:  下载完成后解压到你的arduino IDE 安装文件夹中的library中既可。
库文件中有以下几个文件,如图:




下面是库文件包含的一些可用函数,根据这些函数就可以简单驱动光立方了:
1、LightCube():端口初始化
语法:
LightCube lightCube(int SER0 ,int SCK0 ,int RCK0 )
参数:
SER0:Arduino引脚编号,串行数据输入
   SCK0:Arduino引脚编号,输入到移位寄存器
   RCK0:Arduino引脚编号,上升沿是串行输入,并行输出并锁存
2、storey():层填充函数,控制某层灯点亮方式
语法:
lightCube.storey(*a)
参数:
a:一帧,a是一帧编码起始地址
3、frame():显示函数
语法:
lightCube.frame( a,v)
参数:
a:一帧,a是一帧编码起始地址
v:表示一帧画面扫描的次数
4、clc():全局清屏
语法:
lightCube.clc()
参数:

以下为我们为大家提供的动画效果函数:
5、All():全局点亮
语法:
lightCube.All(v)
参数:
v:表示一帧画面扫描的次数
6、dot():依次点亮00-1,01-1,02-1,03-1....63-1
语法:
lightCube.dot(v)
参数:
v:表示一帧画面扫描的次数
7、层层点亮显示效果
语法:
lightCube.LtoR_scan(v);  //侧面从左向右依次点亮
lightCube.RtoL_scan(v);  //侧面从右向左依次点亮
lightCube.FtoB_scan(v);  //从前排向后排依次点亮
lightCube.BtoF_scan(v);  //从后排向前排依次点亮
lightCube.UtoD_scan(v);  //从上向下依次点亮
lightCube.DtoU_scan(v);  //从下向上依次点亮
参数:
v:表示一帧画面扫描的次数
8、层旋转显示效果
语法:
lightCube.Acw(num, v);   // anticlockwise逆时针  
lightCube.Cw(num,v);    // clockwise顺时针
lightCube.RCw(num,v);   //右侧看顺时针参数:
参数:
num:旋转周数
v:速度
9、其他动画显示效果
1)语法:
lightCube.cube(empty,kind,v);        
参数:
empty = 0空,1实
kind = 0左上角,1右上角,2左下角,3右下脚
2)语法:
lightCube.rain( menu, num, v);
参数:
menu:0  --  down
          1  --  up
num:循环次数
3)语法:
lightCube.up(num,v); //上移
参数:
num:数量
v:速度
4)语法:
lightCube.xuanzhuantiao(kind,cw,num,v);
参数:
kind:1实心,否则空心
cw:是否正转
5)语法:
lightCube.qumianxuanzhuan( cw, num, v);                曲面旋转效果
参数:
cw :1逆时针,否则顺时针
6)语法:
lightCube.sandglass(s8 v);         沙漏效果
参数:
v:速度

下面我们来给大家介绍LightCube中的3个例程打开Arduino IDE,在File->Example->LightCube,其中有3个示例程序;


我们选择test示例打开;
  1. #include "LightCube.h"

  2. LightCube lightCube(8, 9, 10);  
  3.   
  4. void setup(){
  5.   lightCube.clc();  
  6. }

  7. void loop(){
  8.   lightCube.All(10);
  9. }
复制代码
根据库文件介绍,该程序是不是很简单,将所有LED全部点亮!
从程序中我们也可以看出光立方和arduino控制板的连接方式(你也可以更改成你喜欢的引脚):
   SER0  --  D8(串行数据输入)
   SCK0  --  D9(输入到移位寄存器)
   RCK0   --  D10(上升沿是串行输入,并行输出并锁存)


另两个例程,在这里不做介绍,大家可以烧写到arduino控制板中试试看什么效果!库中还有其他效果的函数,可以试试看他们的效果,你如果觉得不够多,还可以自行改写、增加库函数显示效果函数,这样就可以很方便的使用它了!

最后将YFRobot 光立方的arduino资料分享在这(需要的可以自行下载):

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对

签到天数: 402 天

[LV.9]以坛为家II

沙发
发表于 2017-3-30 11:14:54 | 只看该作者
學習中, 謝謝分享
回复 支持 反对

使用道具 举报

该用户从未签到

板凳
发表于 2019-3-12 16:13:14 | 只看该作者
很想要的资料,论坛有你更精彩
回复 支持 反对

使用道具 举报

该用户从未签到

地板
发表于 2019-12-26 14:13:59 来自手机 | 只看该作者
请问我用test的程式库,上传一直失败,原因是什么?
回复 支持 反对

使用道具 举报

签到天数: 866 天

[LV.10]以坛为家III

5#
 楼主| 发表于 2019-12-27 10:29:23 | 只看该作者
2643844597 发表于 2019-12-26 14:13
请问我用test的程式库,上传一直失败,原因是什么?

错误信息截图看下,库文件是否添加?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|联系我们|YFROBOT ( 苏ICP备20009901号-2  

GMT+8, 2024-5-6 06:03 , Processed in 0.051862 second(s), 28 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表