YFROBOT创客社区

标题: 8x8x8光立方上位机实时控制、脱机控制的实现!SD/TF卡读写、24C256读写、EEPROM读写! [打印本页]

作者: AllBlue    时间: 2015-8-6 10:22
标题: 8x8x8光立方上位机实时控制、脱机控制的实现!SD/TF卡读写、24C256读写、EEPROM读写!
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上:

[attach]1073[/attach]

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

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

使用两个UNO,一个读取SD卡:[attach]1066[/attach]
                        一个显示至光立方:
提示:两个主板通过串口连接,读取SD卡的主板连接到SD卡模块;显示主板连接到光立方。

参考资料:
Micro SD / TF卡模块原理图:[attach]1061[/attach]
Micro SD / TF卡引脚图:
[attach]1062[/attach]


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

24C256 芯片手册:[attach]1069[/attach]

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

只使用一个UNO读取24C256并显示程序:[attach]1071[/attach]

使用两个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 -- 完美脱机动画显示版本

作者: lianfutiana    时间: 2016-6-5 15:18
ding!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者: jy05393591    时间: 2016-7-7 18:21
谢谢楼主,学习学习

作者: 零秒出手    时间: 2016-7-15 19:12
:
作者: cxc1227    时间: 2016-11-16 21:44
打开看看,了解下,学习了
作者: ldqguanglifang    时间: 2016-12-30 11:07
学习光立方
作者: glxmf    时间: 2017-2-9 11:16
不错,学习了
作者: LCFJ    时间: 2017-5-14 19:59
谢谢楼主,学习学习
作者: wsxs    时间: 2017-7-2 00:42
谢谢分享

作者: longma    时间: 2017-8-2 21:03

谢谢楼主!
作者: jin8778    时间: 2019-3-15 09:06
谢谢分享
作者: hmc6331    时间: 2022-11-3 22:14
谢谢楼主




欢迎光临 YFROBOT创客社区 (http://www.yfrobot.com.cn/) Powered by Discuz! X3.1