打开 2 个 LED,然后在按下按钮时永远闪烁一个

Turn on 2 LEDs, then blink one forever on button press

我需要帮助。我需要 Raspberry Pi 来打开黄色 LED 和红色 LED。然后,当按下黄色按钮时,我需要黄色 LED 开始永远闪烁,并让红色 LED 保持亮起。

这是我的代码,但它只能部分工作。它打开红色 LED 但黄色 LED 关闭。 (我认为通过设置 GPIO.output(17, GPIO.HIGH) 可以打开黄色 LED,就像打开红色 LED 一样,但事实并非如此。)

按下黄色按钮开始黄色 LED 永远闪烁,这是正确的行为,但我需要两个 LED 都亮起,然后黄色在按下按钮时开始永远闪烁。

我做错了什么?谢谢!

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings (False)
GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)  #Yellow button
GPIO.setup(17, GPIO.OUT)    #Yellow LED
GPIO.setup(27, GPIO.OUT)    #Red LED
GPIO.output(17, GPIO.HIGH)  #Turn Yellow LED On
GPIO.output(27, GPIO.HIGH)  #Turn Red LED On


blinking = False
while True:
    if GPIO.input(24):
        blinking = True

    if blinking:
        GPIO.output(17, GPIO.HIGH)
        time.sleep(.2)
        GPIO.output(17, GPIO.LOW)
        time.sleep(.2)

    time.sleep(.1)

这应该可以解决问题

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings (False)
GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)  #Yellow button
GPIO.setup(17, GPIO.OUT)    #Yellow LED
GPIO.setup(27, GPIO.OUT)    #Red LED
GPIO.output(17, GPIO.HIGH)  #Turn Yellow LED On
GPIO.output(27, GPIO.HIGH)  #Turn Red LED On


blinking = False
while True:
    if GPIO.input( 24 ):
        blinking = True

    while blinking:
        GPIO.output(17, GPIO.HIGH)
        time.sleep(.2)
        GPIO.output(17, GPIO.LOW)
        time.sleep(.2)

        time.sleep(.1)