Malay
颜色选择
阳光橙
深夜黑
天空蓝
葡萄紫
薄荷绿
深海蓝
首页
论坛
佳礼报道
新闻
搜索
8557
查看
91
回复

8x8x8 LED cube 挑战成功! 新版本在研究中..

[复制链接]

楼主: angels1026       显示全部楼层   阅读模式

楼主
 楼主| 发表于 5-8-2013 03:39 PM | 显示全部楼层

video 送到

评分

参与人数 1人气 +5 收起 理由
西门庆33 + 5 超漂亮

查看全部评分

回复

使用道具 举报

发表于 5-8-2013 10:13 PM | 显示全部楼层
angels1026 发表于 5-8-2013 12:00 PM
我抄了这个人的编制
CODE

#define AXIS_X 1 与 AXIS_X=1相似。#define不占用记忆体,与const(constant)相似,它的值(value)不可以变动。


74HC595的第十二引脚(ST_CP)就是latch pin。ST_CP必须由0(low)升至1(high)才有效,意思是serial data此时才输送到达parallel output(Q1至Q7),参考图下
Untitled - 1.jpg
所以latchPinPORTB是使用来控制74HC595的ST_CP

SPI(Serial Peripheral Interface)是一个通讯界面,类似serial
Serial使用Serial.begin(speed)来setup
SPI setup就复杂许多

Arduino UNO有一个hardware SPI,引脚是
  • MISO (Master In Slave Out)
  • MOSI (Master Out Slave In)
  • SCK (Serial Clock)
  • SS (Slave Select)

Arduino Board
MOSI
MISO
SCK
SS (slave)
SS (master)
Uno or Duemilanove
11 or ICSP-4
12 or ICSP-1
13 or ICSP-3
10
-
Mega1280 or Mega2560
51 or ICSP-4
50 or ICSP-1
52 or ICSP-3
53
-
Leonardo
ICSP-4
ICSP-1
ICSP-3
-
-
Due
ICSP-4
ICSP-1
ICSP-3
-
4, 10, 52


byte请参考资料类型
Untitled - 2.jpg


Timer1.initialize(100);Timer1.attachInterrupt(iProcess);
这是中断,用来处理 iProcess程序。我看过pic版主用taxi佬解释中断,非常精彩,但忘了是那一个帖子。

pic版主如果你看到此帖子,麻烦你老人家放一个link




回复

使用道具 举报

楼主
 楼主| 发表于 5-8-2013 10:45 PM | 显示全部楼层
西门庆33 发表于 5-8-2013 10:13 PM
#define AXIS_X 1 与 AXIS_X=1相似。#define不占用记忆体,与const(constant)相似,它的值(value)不可以 ...

看来我好像是开了外挂才能够完成 LED cube ..实际上我没有完成 连编制都不会
还要 copy 人家的.. 罪名成立.. copy 了还不知道是什么来的罪加一等... 我慢慢研究了吧.. 不过我很想知道 他是怎样 send bit 去 74HC595 .. 没有看见他的 shiftOut()
看来没有读真的很难了解..
回复

使用道具 举报

发表于 5-8-2013 10:53 PM | 显示全部楼层
angels1026 发表于 5-8-2013 10:45 PM
看来我好像是开了外挂才能够完成 LED cube ..实际上我没有完成  连编制都不会      :' ...

你必须学会看timing diagram
true table.jpg
回复

使用道具 举报

楼主
 楼主| 发表于 5-8-2013 11:27 PM | 显示全部楼层
西门庆33 发表于 5-8-2013 10:53 PM
你必须学会看timing diagram

我试看玩了   2 粒 shiftout 大约知道了一些

latch,clock,data 是 arduino 和 595 联系的线

我看了一个 video 了解了



小弟研究的只是 16 粒 LED 走马灯非常简单 挑战成功.. 编制也很容易
回复

使用道具 举报

发表于 6-8-2013 08:00 PM | 显示全部楼层
angels1026 发表于 5-8-2013 11:27 PM
我试看玩了   2 粒 shiftout 大约知道了一些

latch,clock,data 是 arduino 和 595 联系的线

不错,这个很容易明白
回复

使用道具 举报

楼主
 楼主| 发表于 13-8-2013 04:30 PM | 显示全部楼层
西门庆33 发表于 5-8-2013 10:13 PM
#define AXIS_X 1 与 AXIS_X=1相似。#define不占用记忆体,与const(constant)相似,它的值(value)不可以 ...

大哥想借问你一下..
TLC5940 的用法和 74HC595 是不是一样的 ? 我知道脚有点不同而已.. arduino IDE 那边是不是一样的 ?

想问问下 setupSPI 和 serial.begin 是类似的东西来的吗 ?  
现在想拿个 8x8 dot matrix 来学习先...
595 要怎么使用也大概大概明白了...

现在上网努力找关于 interrupt 和 spi 的资料

本帖最后由 angels1026 于 13-8-2013 04:33 PM 编辑

回复

使用道具 举报

发表于 13-8-2013 09:15 PM | 显示全部楼层
西门庆33 发表于 5-8-2013 10:13 PM
#define AXIS_X 1 与 AXIS_X=1相似。#define不占用记忆体,与const(constant)相似,它的值(value)不可以 ...
Timer1.initialize(100);Timer1.attachInterrupt(iProcess);
这是中断,用来处理 iProcess程序。我看过pic版主用taxi佬解释中断,非常精彩,但忘了是那一个帖子。

pic版主如果你看到此帖子,麻烦你老人家放一个link
哦 。。那个楼主失踪的帖子。。最讨厌这种发帖者。。。
http://cforum2.cari.com.my/forum ... 8&fromuid=53232


简单【中断】的解释, 可以用电话铃声。
情景1:
如果没有【中断】的功能, 好比一个不会响铃的电话。。
你是书记, 你的桌子上有个电话, 但是响铃坏了。。
你正在工作。。可能你在写公文, 但是可能你写几个字, 你就要拿起电话听筒, 看有没有人呼你。。
如果没有, 你放下话筒, 继续你的书写, 但是可能才写几个字, 你又拿起话筒检查是否有来电。。
你可以选择,写几个字就拿起电话话筒检查, 或者你可以选择写一行字, 或一页字, 才检查。。
如果你是选择写一页字后才检查 , 那么如果当中有人打电话进来, 你就错过接听, 也可能就错过一些重要的事。
但如果你检查的很频密,又会耽误你的写字的工作。。你的工作效率很低。。你不能休息。。
你也不能睡着。。就是写公文的工作完成了,你还得定时去拿起话筒检查是否有来电。。
上面的方法是叫 "polling"..

情景2:
你是书记, 你的桌子上有个电话, 有人打电话进来时, 铃声会响, 会通知你接电话。
你正在工作。。你专注在写你的公文,你不需要定时电话听筒,专注工作就是了。
当电话响时,电话铃声中断你的工作,  你放下工作, 你去接听电话。。
处理电话那头的事, 完毕后挂上电话, 继续你的工作。
电话铃声, 就是一种“中断”。。

情景2 的人, 工作效率比情景1 的来的高。。。
公文写完了, 就可以去睡觉。。有电话来时, 才起身接听电话。。


回复

使用道具 举报

发表于 14-8-2013 10:23 PM | 显示全部楼层
angels1026 发表于 13-8-2013 04:30 PM
大哥想借问你一下..
TLC5940 的用法和 74HC595 是不是一样的 ? 我知道脚有点不同而已.. arduino IDE 那 ...

serial只能一个Master和一个Slave(RS485除外)。例:一台PC与一个COM port mouse(不是USB mouse)

SPI可以一个Master和一个Slave,也可以一个Master和多个Slave
1.gif

2.gif
所以setup有些复杂。这里有一些资料
http://arduino.cc/en/Reference/SPI

tlc5940的setup可以参考它的程序库文件(Tlc5940.cpp)

=======================================
这里有一74HC595 程序库,非常好用
http://nootropicdesign.com/ez-expander/
ez-expander-assembled.jpg




回复

使用道具 举报

发表于 14-8-2013 10:46 PM | 显示全部楼层
pic 发表于 13-8-2013 09:15 PM
哦 。。那个楼主失踪的帖子。。最讨厌这种发帖者。。。
http://cforum2.cari.com.my/forum.php?mod=redi ...

原来中断还有这样多故事。收集起来,编一本中断故事集

polling 方式
睡觉。
毎隔一段时间,你问太太:“妳需要吗?”
你不停的问,结果你很累

interrupt方式
睡觉。你只管睡觉。
当太太说需要时,你才起来执行你的大男人任务。
完事后,你继续睡觉。直至太太再说需要时,你从来都不拒绝,且无论睡得多么香甜,你都会起来执行你的任务。
回复

使用道具 举报

楼主
 楼主| 发表于 15-8-2013 01:03 AM | 显示全部楼层
西门庆33 发表于 14-8-2013 10:46 PM
原来中断还有这样多故事。收集起来,编一本中断故事集

polling 方式

我一直在打人...
我每打 5 下我要看看周围有没有人再继续打...如果有人我要停下假装看看周围然后继续打
结果那个人给我打的不够爽

第二个..
我尽管打..身边留一个马仔如果周围有人 就叫我 stop 。。 然后继续打..
结果那个人给我打死了


回复

使用道具 举报

楼主
 楼主| 发表于 15-8-2013 01:16 AM | 显示全部楼层
西门庆33 发表于 14-8-2013 10:23 PM
serial只能一个Master和一个Slave(RS485除外)。例:一台PC与一个COM port mouse(不是USB mouse)

SPI可 ...

那么我试看玩一个74HC595 8x8 dot matrix 先... 研究研究
我上网找到了 tlc5940nt 不需要每个 LED 的脚都加电阻.. 还有 constant current sink 好像专门用来给 LED disply 之类的东西
那么源码和 74HC595 是不是一样的啊 ?
回复

使用道具 举报

发表于 15-8-2013 11:30 AM | 显示全部楼层
我自己做的5x5x5 LED Cube...用PIC16F688...
DSC01957.jpg
本帖最后由 jimmysheng91 于 15-8-2013 01:18 PM 编辑

评分

参与人数 1人气 +3 收起 理由
西门庆33 + 3 谢谢分享

查看全部评分

回复

使用道具 举报

发表于 15-8-2013 12:20 PM | 显示全部楼层
有人能说说原理吗?那些led好像都并联在一起,比如要怎样让最上层右边两粒亮,
如果是并联的话应该全部一起亮才对,是怎样才能控制某粒led亮呢?
回复

使用道具 举报

发表于 15-8-2013 01:42 PM | 显示全部楼层
angels1026 发表于 15-8-2013 01:16 AM
那么我试看玩一个74HC595 8x8 dot matrix 先... 研究研究
我上网找到了 tlc5940nt 不需要每个 LED ...

用CAT4016或STP16CP05也可以,只用1个电阻控制LED Current。

回复

使用道具 举报

楼主
 楼主| 发表于 17-8-2013 12:00 AM | 显示全部楼层
koksoon980 发表于 15-8-2013 12:20 PM
有人能说说原理吗?那些led好像都并联在一起,比如要怎样让最上层右边两粒亮,
如果是并联的话应该全部一起 ...

我最喜欢解释这个东西..

给个你例子 ... 说 3x3x3 的比较容易了解..

如果从侧面看过去.. 你想要一个斜线
LED PIN   1 2 3 4 5 6 7 8 9    +  layer 1 layer 2 layer 3 , 一共有 12 脚

1 2 3
4 5 6
7 8 9       layer 1

1 2 3
4 5 6
7 8 9       layer 2

1 2 3
4 5 6
7 8 9       layer 3

斜线 =  LED A (layer 1  PIN 1 = ON) , (LED B = layer 2 PIN 2 = ON), LED C (layer 3 PIN 3 = ON)

A B C 是一条斜线... 从旁边看过去的斜线

可是 当这三粒 LED 同时亮的时候 就等于 9 粒 LED 亮了..
当时候是我做 3x3x3 的时候就给我想出来 .. 如果 LED 是
A  = ON
A  = OFF  B = ON
B  = OFF  C = ON
C  = OFF  A = ON
A  = OFF  B = ON
B  = OFF  C = ON
C  = OFF  A = ON.....
一直重复重复.... 很快....   很快........ 越来越快... 在我们人类的眼睛是不会察觉 LED 一直在闪 你的眼睛就出现了一条直线
使用这个原理 .... 3x3x3 决绝.... 8x8x8 也一样可以决绝... 用闪闪闪..  一直从 layer 8 闪去 layer 1 重复又重复   人类的眼睛是察觉不到的..除非你不是人

看看这个 video
本帖最后由 angels1026 于 17-8-2013 12:37 AM 编辑

回复

使用道具 举报

楼主
 楼主| 发表于 17-8-2013 12:03 AM | 显示全部楼层
koksoon980 发表于 15-8-2013 12:20 PM
有人能说说原理吗?那些led好像都并联在一起,比如要怎样让最上层右边两粒亮,
如果是并联的话应该全部一起 ...

arduino 很快的不用怕他累...
回复

使用道具 举报

楼主
 楼主| 发表于 17-8-2013 12:04 AM | 显示全部楼层
jimmysheng91 发表于 15-8-2013 11:30 AM
我自己做的5x5x5 LED Cube...用PIC16F688...

啊.. 好漂亮的板 我也要来个 DIY PCB  ~
回复

使用道具 举报

楼主
 楼主| 发表于 17-8-2013 12:05 AM | 显示全部楼层
jimmysheng91 发表于 15-8-2013 01:42 PM
用CAT4016或STP16CP05也可以,只用1个电阻控制LED Current。

都是贴片的     有没有一些直插的.. 编制和 74HC595 一样的介绍
回复

使用道具 举报

发表于 17-8-2013 01:08 AM | 显示全部楼层
angels1026 发表于 17-8-2013 12:05 AM
都是贴片的     有没有一些直插的.. 编制和 74HC595 一样的介绍

我做的5x5x5是用贴片的,贴片也许比较麻烦吧...其他的我就不知道了。
回复

使用道具 举报

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

本版积分规则

 WeChat
 CARI App
Get it FREE Google play
 Instagram
cari_malaysia
FOLLOW
- 版权所有 © 1996-2019 Cari Internet Sdn Bhd 佳礼网络有限公司 (483575-W) -
Private Cloud provided by IPSERVERONE
0.218784s Gzip On
快速回复 返回顶部 返回列表