0

我正在使用Arduino Due和 4x MAX7219 IC 来控制 16x16 的LED矩阵。它工作得很好,但只有一个 LED 保持亮着(在第 0 行第 15 行),即使我清除了我的显示器,甚至手动关闭它。

我使用Arduino 游乐场上的 LED 控制库。

我如何关闭那个?

4

3 回答 3

2

快速浏览一下 MAX7219 是由SPI 总线控制的。我很难解释在总线上正确通信的芯片如何给你这个问题。如果整个四分之一面板都不起作用,那么情况会有所不同。

我敢打赌这是一个接线问题(我不想这么说,因为它没有帮助)。

LedControl(int dataPin, int clkPin, int csPin, int numDevices);
LedControl(int ?, int ?, int ?, int 4);

只需检查 numDevices 应该是 4。

我要做的第一件事是更换 MAX7219 芯片。如果您有任何备份,我会将它们换成无法使用的备份。如果您没有备份,请用损坏的备份切换一个正常工作的备份。

我的两个问题是:

  1. Arduino 是否“认为”LED 亮起?

  2. 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])

第二个问题会更难回答。

于 2013-05-24T19:44:04.443 回答
0

原因可能与 Arduino Due 只接受 3.3v 和 MAX7219 需要 5v 有关,所以这可能是您遇到的问题,您需要 google 5v 逻辑到 3.3v 逻辑

于 2013-07-23T18:34:49.227 回答
0

Ow忘了发布答案。显然,当您连接错误的 LED 时,它仍然亮着,这就是问题所在:D

因此,如果您的 LED 仍然亮着,请检查它是否连接正确 xD

于 2013-07-24T09:46:31.497 回答