- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 MCP3002 ADC
和电位计来控制 PWMLED
亮度列表。
我的问题是,当我运行我的脚本时,除了连接到 MCP3002 ADC 的电位器之外,一切都按预期运行,它不会在我调整旋钮时调整我的 PWMLED
的亮度。
这是我的代码:
#!/usr/bin/python3
from gpiozero import PWMLED, Button, MCP3002
from threading import Thread
from signal import pause
from time import sleep
LEDs = [PWMLED(5), PWMLED(17), PWMLED(22), PWMLED(19), PWMLED(26)]
potentiometer = MCP3002(0)
pushButton = Button(21)
SPEED = 0.03
def analogRead(): # Now this function is working
while True: # the potentiometer value gets
global LEDs # displayed on the screen and it changes as
print("analogRead called") # I adjust the knob but the ledSequnce() lights keep
for PWMLED in LEDs: # flickering, and the sequence gets interrupted
if potentiometer.value < 0.02:
PWMLED.value = 0
else:
PWMLED.value = potentiometer.value
print(potentiometer.value)
sleep(0.1)
def speedCounter():
global SPEED
if SPEED < 0.4:
SPEED += 0.1
else:
SPEED = 0.03
def ledSequence():
while True:
for PWMLED in LEDs:
PWMLED.on()
sleep(SPEED)
PWMLED.off()
for PWMLED in reversed(LEDs):
PWMLED.on()
sleep(SPEED)
PWMLED.off()
try:
pushButton.when_pressed = speedCounter
ledFlash = Thread(target=ledSequence, daemon=True)
ledFlash.start()
pot = Thread(target=analogRead, daemon=True)
pot.start()
pause()
except KeyboardInterrupt:
exit(1)
但是当我尝试这个脚本时它工作得很好:
#!/usr/bin/python3
from gpiozero import PWMLED, MCP3002
from time import sleep
pot = MCP3002(0)
led = [PWMLED(5), PWMLED(17), PWMLED(22), PWMLED(19), PWMLED(26)]
while True:
for PWMLED in led:
if pot.value < 0.02:
PWMLED.value = 0
else:
PWMLED.value = pot.value
print(pot.value)
sleep(0.1)
非常感谢您的帮助!
最佳答案
我找到了解决问题的方法。所以,我想我应该把它贴在这里!
#!/usr/bin/python3
from gpiozero import PWMLED, Button, MCP3002
from threading import Thread
from signal import pause
from time import sleep
LEDs = [PWMLED(5), PWMLED(17), PWMLED(22), PWMLED(19), PWMLED(26)]
potentiometer = MCP3002(0)
pushButton = Button(21)
SPEED = 0.03
def speedCounter():
global SPEED
if SPEED < 0.4:
SPEED += 0.1
else:
SPEED = 0.03
def ledSequence():
while True:
for PWMLED in LEDs:
PWMLED.on()
PWMLED.value = potentiometer.value
sleep(SPEED)
PWMLED.off()
for PWMLED in reversed(LEDs):
PWMLED.on()
PWMLED.value = potentiometer.value
sleep(SPEED)
PWMLED.off()
try:
pushButton.when_pressed = speedCounter
ledFlash = Thread(target=ledSequence, daemon=True)
ledFlash.start()
pause()
except KeyboardInterrupt:
exit(1)
关于python - 使用 MCP3002 模数转换器控制 LED 亮度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61106506/
嘿,我 wounderd 如果有什么。我可以继续阅读以改进此代码的突击队吗?至少它现在可以工作,但需要做一些微调:) 如您所见,代码非常困惑且难以阅读。希望有人能帮忙。 提前谢谢。 int potPi
我使用 AVR 作为微 Controller ,ATMEGA8 作为处理器(在微 Controller 内部)。带有微 Controller 的电路板有 4 个 LED。我能够刻录程序并点亮 LEDS
谁能解释一下两者之间的关系 LED 像素密度, LED像素高度和宽度 , 和 分辨率在创建模拟器时方法很详细。。并在启动时再次默认值:皮肤尺寸、密度;缩放密度以实现大小? 最佳答案 像素密度:每英寸像
我有一个由大小为 64*64 的 LED 组成的阵列。每个 LED 都可以点亮各种颜色,并且可以非常快速地改变颜色。我的最终目标是:对于网络摄像头接收到的每一帧,我希望能够从帧中“提取”LED 数组,
我正在使用 Arduino Uno 软件进行编码,但遇到了问题。我试图以随机顺序打开 8 个 LED,然后立即将它们全部关闭。我的问题是 LED 会多次点亮相同的 LED,但最终不会全部点亮。这使得电
当我使用Ethernet.begin(mac,ip)时,LED灯不会打开和关闭。但是当我不使用那条线时它就可以工作。但我需要使用以太网和 UPP 模块来打开和关闭。我怎样才能? 板卡型号:以太网08T
我试图顺时针和逆时针方向点亮我的 LED 灯。我使用mpu6050作为LED的方向控制。我检查了我的 mpu6050 驱动代码,它们没问题。顺时针方向工作时效果很好,所有 LED 灯均呈红色亮起。像这
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
我是一名优秀的程序员,十分优秀!