我有一个3.5数字7段LED显示屏,我试图用Arduino驱动。 Arduino运行带锁存器的移位寄存器(M74HC595)。 移位寄存器的8个输出端通过2000欧姆电阻器进入显示器的8段引脚。 显示器的三位控制引脚转到Arduino上的三个引脚。 显示屏有一个共阴极,因此当控制引脚为低电平时,该数字打开,当该数字处于高电平时,该数字关闭。Arduino:复用7段显示问题
这工作正常,只要我只点亮一个数字,或点亮多个数字具有相同的段,但一旦我尝试切换两个或三个数字之间的段,这一切都搞砸了。 不应该有光的部分,而是有一个弱光,这与读取实际数字有关。
如果我在写入每个数字之间添加延迟,那么不需要的光线会变暗一些,但很快,整个事物就会因为高延迟而闪烁并且无法使用。
我做错了什么?
为了使一个特定的数字,我上设置的Arduino的控制引脚,例如这是我使第一位数:
digitalWrite(digit1, LOW);
digitalWrite(digit2, HIGH);
digitalWrite(digit3, HIGH);
然后推号码到移位寄存器并将其移动到闩锁(并且因此到显示):
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, number);
digitalWrite(latchPin, HIGH);
这是我的方案:
你是对的!它只需切换操作顺序,以便在设置锁存器后启用该数字。谢谢 – user2503048
不客气。如果解决了你的问题,不要忘记接受答案。 –