Raspberry Pi - 提高 LED 闪烁速度

Raspberry Pi - Increase Blinking Speed LED

我有两个 LED,蓝色和绿色。我想逐渐增加绿色 LED 的闪烁速度,同时蓝色 LED 也同时亮起 5 秒。到目前为止,这是我的代码。

def blink_green():
    blue.on()
    for i in range(5):
      green.toggle()
      time.sleep(0.5)
      green.toggle()
      time.sleep(0.5)

要执行这个功能,这是代码

while True:
  blink_green()

它以某种方式工作,但绿色 LED 仅以恒定速率闪烁。关于如何让绿色 LED 以更​​快的速度闪烁,有什么建议吗?

逐渐增加眨眼的速度意味着您需要减少眨眼之间的睡眠时间。所以在 for 循环中你需要减少 i 的值。所以像这样。

def blink_green2():
    red1.on()
    for i in range(0,0.5,0.1):
      green2.toggle()
      time.sleep(0.5-i)

将持续时间保留在变量中并减少每个循环中的持续时间

def blink_green2():
    red1.on()
    sleep_duration = 0.5
    for i in range(5):
      green2.toggle()
      time.sleep(sleep_duration)
      green2.toggle()
      time.sleep(sleep_duration)
      sleep_duration -= 0.01

如果你想让 led 闪烁得更快,你可以减少任务休眠的时间。随着循环的增加,i的值增加。试试这个:

def blink_green2():
    red1.on()
    for i in range(5):
      green2.toggle()
      time.sleep(0.5 - (i / 25))
      green2.toggle()
      time.sleep(0.5 / (i / 25))

请注意,您可以增加范围编号。您还可以更改 i 的除以值,使 LED 以不同的速率闪烁。像以前一样调用函数,像这样:

while True:
  blink_green2()

试试这个

def blink_green():
    green2.on()
    delay = 0.5
    for i in range(5):
      green2.toggle()
      time.sleep(delay)
      green2.toggle()
      time.sleep(delay)
      delay -= .1

while True:
    blink_green()

at an increasing rate

它应该以 0.5 秒的延迟开始并加速到 0 秒的延迟