我正在移植一个草图(我需要将其转换为一个库),用于将 14 段显示器(六个字符,但可以扩展)从 Arduino 驱动到 ESP-01。
我试图找出驱动多路复用的最佳方法。我把硬件都整理好了(移位寄存器和一个 ULN2803),但是在 Arduino 上我使用了一个定期调用的中断服务例程来将数据位冲击到移位寄存器(它通过 ULN2803 驱动阳极和公共阴极). 这很好用。
在 ESP 中,我使用
ticker 库作为我的“中断”例程。我偶尔会出现微小的闪烁,就像您在科幻电影中看到的小故障一样。我假设这与 ESP 不是实时操作系统有关,并且在做其他事情,例如 WiFi(我还没有在此草图中设置)。故障很微妙,几乎不会影响实用程序,但看起来不够专业。它们在启动后看起来确实最糟糕,就好像“操作系统”在启动后立即做了一些其他事情,然后在几秒钟后平静下来。
所以想知道是否有更好的方法直接从 ESP 驱动多路复用。有没有更好的方法来处理中断?我以 4 毫秒的延迟进行多路复用,这似乎是我可以达到干净 POV 效果的最慢速度。
在另一个 ESP 项目中,我当然在 8x7 段显示器上使用了 Max 7219,7219 在内部处理多路复用。所以没有闪烁。我真的不想使用专用的 14 段驱动芯片。它们比 7219 贵很多,我现在没有
或许我可以或应该使用 555 来驱动计数器来驱动 ULN2803 上的多路复用...这将快速循环通过阴极,完全独立于 ESP。
想法?故障可能是 RF 之类的其他东西吗?我把一切都拉得很正常。我通过 5v 分别为 LED 和移位寄存器/ULN 供电,并在台式
电源上安装 ESP。
我想知道我是否应该尝试使用 3.3v<->5v 电平转换器。我目前正在尝试用 3 驱动移位寄存器上的引脚。