Arduino到期LED控制LED仍然亮着

时间:2013-05-24 15:43:44

标签: arduino led

我正在使用Arduino Due和4x MAX7219 IC来控制LEDs的16x16矩阵。它运行良好,但只有一个LED保持打开(在第0行第15行),即使我清除显示器,甚至手动将其关闭。

我使用LED控制库found on the Arduino playground

如何关闭那个?

3 个答案:

答案 0 :(得分:2)

快速查看后,MAX7219由SPI bus控制。我很难解释如何在总线上正确通信芯片会给你这个问题。如果整个季度小组不起作用那么就会有所不同。

我敢打赌这是一个布线问题(我讨厌说因为它没用)。

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

检查numDevices应该是4。

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

我有两个问题:

  1. Arduino是否“认为”LED已开启?

  2. MAX7219是否认为LED已亮起

  3. 要回答第一个问题,我会编辑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])
    

    回答第二个问题会更加困难。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

Ow忘记发布答案了。 显然当你连接led错误时它仍然存在,所以这就是问题:D

所以,如果您的指示灯仍然亮着,请检查它是否正确连接xD