YFROBOT创客社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13196|回复: 4

光立方灯不亮,该如何找出问题?

[复制链接]

签到天数: 63 天

[LV.6]常住居民II

发表于 2013-12-20 14:57:55 | 显示全部楼层 |阅读模式
光立方是一个焊接的大工程,在焊接的时候难免会出现虚焊的问题了,此贴将贴出一些常见问题,帮助大家快速找到问题。
在制作手册中我们已经提到,在“面”焊接好后,我们要对“面”进行检测,检测是否有虚焊状况或坏灯现象,及时处理,“面”检测好后在进行“体”的焊接,“体”焊接好后,我们再进行“全身体检”。
  1. void All(u8 v)         
  2. {
  3.         u8 a[64]={
  4.         0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
  5.         0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
  6.         0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
  7.         0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
  8.         0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
  9.         0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
  10.         0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
  11.         0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};
  12.         frame(a,v);
  13. }
复制代码
运行上面的函数,使光立方的灯全亮,根据灯亮的状况,来寻找问题点。
情况一:一列灯未亮


图1  一列灯未亮

如图1所示,X=0,Y=0这列灯未亮。
1:检查这列灯的下方引脚是否插入圆孔PIN中;
2:检查控制这列灯的595是否有虚焊、串联的电阻是否有虚焊。
情况二:“三”个点未亮

图2  “三”个灯未亮


如图,可以看到一列灯的上面三个灯未亮。出现这种状况的只有一个原因,灯(0,0,2)与灯(0,0,3 )之间虚焊。
情况三:单个灯未亮

图3  单个灯未亮


如图,一个灯未亮,在这种状况下,还是先保佑灯没坏吧。
1:检测不亮的灯引脚与周围灯连接是否正常;
2:确保引脚焊接正常后,再 次负full bright,如果灯还是未亮,关闭电源,拔掉控制线,用3.0(不可超过3.3伏)左右的电源直接接在不亮灯的引脚上,看灯是否能被点亮,还是未亮,确定灯已坏,只有换灯了。
情况四:一层灯未亮
1:检测层控制线与驱动板是否有虚焊;
2:检测2803驱动这层灯的引脚是否有虚焊状况,以及2803与595之间是否有虚焊。

以上为最常见的状况,如有其它状况,请留言,大家一起解决。

本帖子中包含更多资源

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

x

签到天数: 63 天

[LV.6]常住居民II

 楼主| 发表于 2016-11-14 13:10:56 | 显示全部楼层
ht60083 发表于 2016-11-13 01:34
請問如果我改寫了void all底下的座標卻只能產生固定一種變化然後其他的圖形動畫也沒辦法如預期的跑動,但卻 ...

应该是程序问题,资料中是有Arduino控制光立方的例程的哦,您可以看一下
回复 支持 1 反对 0

使用道具 举报

签到天数: 63 天

[LV.6]常住居民II

 楼主| 发表于 2016-11-15 08:57:37 | 显示全部楼层
ht60083 发表于 2016-11-14 22:05
在我嘗試過後發現只要在座標向下方那樣使用4個FF就能使光立方全亮,如果是這樣可能的原因是?
因為我們目 ...

您使用例程light_cube,能够正常使用嘛?
回复 支持 反对

使用道具 举报

签到天数: 63 天

[LV.6]常住居民II

 楼主| 发表于 2016-11-16 08:08:01 | 显示全部楼层
ht60083 发表于 2016-11-15 22:14
這兩個圖檔分別是使用上位機軟件與Light_cube例程來呈現下雨效果但明顯使用例程的是錯誤的但我們找不到原因 ...

是不是接口错误导致的。
在例程light_cube中,语句LightCube lightCube(8, 9, 10);定义端口。
看库函数,LightCube.c中
LightCube:: LightCube(int SER0 ,int SCK0 ,int RCK0 )
{
  pinMode(SER0,OUTPUT);
  _SER0 = SER0;
  pinMode(SCK0,OUTPUT);
  _SCK0 = SCK0;
  pinMode(RCK0,OUTPUT);
  _RCK0 = RCK0;
}
看端口所对应的信号端口名称。
回复 支持 反对

使用道具 举报

签到天数: 63 天

[LV.6]常住居民II

 楼主| 发表于 2016-11-16 11:37:14 | 显示全部楼层
ht60083 发表于 2016-11-16 11:19
我們端口有一個接錯了!!
現在已經可以正常運作真的非常感謝

不用客气哦
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 09:33 , Processed in 0.132407 second(s), 31 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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