我有一些RGB LED通过并行端口连接到我的电脑。如果我将0b100
写入端口,它们会变为红色,0b001
会给我蓝色,0b111
白色等等。我一直在使用portio
库,如下所示:
import portio
portio.ioperm(0x378, 1, 1)
portio.outb(0b111, 0x378)
... 0x378
是我正在谈论的端口。
我想使用脉冲宽度调制来获得超过7种可能的颜色(如果算上“关闭”则为8种颜色)。我已经玩了一下,但我提出的所有解决方案都很长,很丑,很乱,而且效果不好。
当我尝试谷歌搜索提出建议时,我看到的几乎所有结果都使用了抽象的,特定于平台的库,如RPi.GPIO.PWM
。这显然对我没有帮助。
理想情况下,我希望能够整合一个小型Python库,我可以将其导入到处理LED运行的应用程序中,我可以将myLibrary.setColor(1, .5, 0)
之类的内容传递给橙色。
那就是说,用Python做PWM的好方法是什么?在我的探索中,似乎LED褪色和褪色的速度不是很线性。我应该知道一些神奇的曲线吗?