YFROBOT创客社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13005|回复: 13
打印 上一主题 下一主题

8x8x8光立方上位机实时控制、脱机控制的实现!SD/TF卡读写、24C256读写、EEPROM读写!

[复制链接]

签到天数: 866 天

[LV.10]以坛为家III

跳转到指定楼层
楼主
发表于 2015-8-6 10:22:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
8x8x8光立方上位机实时控制、脱机控制的实现!SD/TF卡读写、24C256读写、EEPROM读写!

上位机软件下载 - 百度云盘下载地址:光立方V2.3

1、实时控制
实时控制之前的帖子(全新发布光立方上位机软件,开源程序,不用写程序也可以做光立方动画!!!)已经介绍,帖子中的视频,也演示了软件实时控制光立方的效果,这里就不多说了!

2、脱机控制(不是通过算法实现,通过读取储存数据,来控制光立方显示。)
提示:方法1、2,脱机要完美实现,需要用到2个UNO控制板,如果只使用一个控制板,"由于芯片处理能力问题" - 个人判断,会出现闪烁情况!方法3,虽然可以完美脱机,但EEPROM空间有限,不足以储存大量的数据。
以下程序默认连接:
arduino 连接光立方:
D6           ---            RCK                 D7           ---            SCK
D5           ---            SER                 GND        ---            GND
arduino连接SD/TF卡模块:
D4           ---            SS                    D11           ---            MOSI
D12         ---            MISO                D13           ---            SCK

   *  方法1、Micro SD / TF卡    SPI通信
首先我们需要一个Micro SD / TF卡模块,当然你也可以根据原理图亲手焊制一个,本人手中即是亲手焊的模块,可以直接插在UNO上:



动画组数据文件(dat文件直接存放在SD卡根目录,不需要包含文件夹):

只使用一个UNO读取SD卡并显示程序:(程序只识别dat格式文件)

使用两个UNO,一个读取SD卡:
                        一个显示至光立方:
游客,如果您要查看本帖隐藏内容请回复

提示:两个主板通过串口连接,读取SD卡的主板连接到SD卡模块;显示主板连接到光立方。

参考资料:
Micro SD / TF卡模块原理图:
Micro SD / TF卡引脚图:



   *  方法2、24C256储存芯片   IIC通信

24C256 芯片手册:

使用方法不多做介绍,给大家两个网址,很详细  -  arduino官网:http://playground.arduino.cc/Code/I2CEEPROM24C1024
                                                                           -  http://www.hobbytronics.co.uk/arduino-external-eeprom

只使用一个UNO读取24C256并显示程序:

使用两个UNO,一个读取,一个显示:
游客,如果您要查看本帖隐藏内容请回复


在读数据之前一定先写入数据才行!写数据:
1、可以使用我们的软件,使用OffLine按钮(详见:软件使用介绍
2、根据通信格式(每一帧数据格式:数据头 - 24 4D 3E + 数据长度 + 指令+数据+校验和),使用串口软件发送,也可以!


   *  方法3、控制板自带EEPROM读写

arduino控制板自带的EEPROM,最方便,不需要连接其他模块,直接连接到光立方即可!最关键的是读取显示不会出现闪烁情况!可惜EEPROM空间小了点!
EEPROM库使用介绍:http://www.yfrobot.com.cn/wiki/index.php?title=EEPROM%E5%BA%93

不同的Arduino有不同大小的EEPROM分别为:

ATmega328 -- 1024字节
ATmega168 and ATmega8 -- 512字节
ATmega1280 and ATmega2560 -- 4 KB (4096 字节)

这里使用的是328,所有只有 1024字节,一组数据68个字节,只能存15帧动画!!

读写程序:
游客,如果您要查看本帖隐藏内容请回复

[C] 纯文本查看 复制代码
// 如果定义 UseEEPROMRead 则从 EEPROM 中读取数据并显示
// 否则 读取串口数据执行响应指令,详情请看serialCommunication中的函数evaluateCommand()
// 如果定义 UseEEPROMWrite 则可读取串口数据,并写入EEPROM

#define UseEEPROMRead            //读取EEPROM   
//#define UseEEPROMWrite           //写入EEPROM

根据上面的说明更改程序,来读取或者写入EEPROM,在读数据之前一定先写入数据才行!
写数据:
1、可以使用我们的软件,使用OffLine按钮(详见:软件使用介绍
2、根据通信格式(每一帧数据格式:数据头 - 24 4D 3E + 数据长度 + 指令+数据+校验和),使用串口软件发送,也可以!


本文有任何不清楚的地方,欢迎回帖讨论,也可联系finalvalue@foxmial.com!!!

推荐使用Magic_LightCube V2.4 -- 完美脱机动画显示版本

本帖子中包含更多资源

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

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

签到天数: 1 天

[LV.1]初来乍到

板凳
发表于 2016-7-7 18:21:30 | 只看该作者
谢谢楼主,学习学习
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2016-11-16 21:44:07 | 只看该作者
打开看看,了解下,学习了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2016-12-30 11:07:58 | 只看该作者
学习光立方
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2017-2-9 11:16:32 | 只看该作者
不错,学习了
回复 支持 反对

使用道具 举报

签到天数: 1 天

[LV.1]初来乍到

8#
发表于 2017-5-14 19:59:12 | 只看该作者
谢谢楼主,学习学习
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-21 00:09 , Processed in 0.071353 second(s), 24 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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