我正在使用Arduino Due和 4xMAX7219IC 来控制LEDs的 16x16 矩阵。它工作得很好,但是只有一个 LED 保持打开(在第 0 行第 15 列),即使我清除显示器,甚至手动将其关闭。
我使用 LED 控制库found on the Arduino playground。
我怎么关掉那个?
快速查看后,MAX7219 由SPI bus控制。我很难解释总线上正确通信的芯片是如何给你这个问题的。如果整个四分之一面板不起作用,那就不一样了。
我敢打赌,这是一个接线问题(我讨厌这样说,因为它是没有帮助)。
LedControl(int dataPin, int clkPin, int csPin, int numDevices);
LedControl(int ?, int ?, int ?, int 4);
只是检查 numDevices 应该是 4。
我要做的第一件事是更换 MAX7219 芯片。如果您有任何备份,我会将它们换成不工作的。如果您没有备份,请将工作的备份与损坏的备份切换。
我有两个问题是:
Arduino 是否“认为”LED 开启?
MAX7219 是否认为 LED 亮
为了回答第一个问题,我将编辑 LedControl 类的.h 文件。我将使数组调用状态 [64] 公开,以便您可以在客户端代码中查看它。
byte status[64];
将第 52 行移动到 67 以下。现在您可以访问主代码中的状态数组。它应该看起来像:
LedControl lc=LedControl(12,11,10,1);
for(int i; i <8 ; i++)
Serial.println(lc.status[8*3+i])
回答第二个问题将更加困难。
原因可能与 Arduino Due 只接受 3.3 v 和 MAX7219 需要 5v,所以这可能是你遇到的问题,你需要谷歌 5v 逻辑到 3.3 v 逻辑
Ow 忘了发布答案。显然,当您连接 led 错误时,它仍然存在,所以这就是问题所在:D
所以如果你的 led 仍然打开,检查它是否连接正确 xD
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(22条)