я хочу знать, как добавить вторую функцию ко второй кнопке, подключенной к моей схеме gpio

поэтому я написал этот код в своем редакторе nano. первая кнопка gpio(21) работает нормально. первая кнопка (21) включает и выключает светодиоды. Что касается второй кнопки, я бы хотел, чтобы она изменяла скорость мигания светодиода, когда вы удерживаете ее. вот код, который я написал до сих пор. пожалуйста, помогите, так как я застрял на этом в течение 2 дней. Спасибо!!


Я пробовал этот код, но не могу придумать, как добавить вторую функцию ко второй кнопке gpio (20). вот мой код.

      
from gpiozero import LED, Button
from signal import signal, SIGTERM, SIGHUP, pause
from time import sleep


blink_on = False
interval = 0.5


def safe_exit(signum, frame):
    exit(1)


def go_blink():
    global blink_on

    if blink_on:
        led1.off()
        led2.off()
        led3.off()
    else:
        led1.blink(0.5, 0.5)
        sleep(0.5)
        led2.blink(0.5, 0.5)
        sleep(0.5)
        led3.blink(0.5, 0.5)

    blink_on = not blink_on


led1 = LED(13)
led2 = LED(19)
led3 = LED(26)
button = Button(20)
button = Button(21)
time_on = 1
time_off = 2


try:
    button.when_pressed = go_blink
    signal(SIGTERM, safe_exit)
    signal(SIGHUP, safe_exit)
    led1.blink(time_on, time_off)
    sleep(time_on)
    led2.blink(time_on, time_off)
    sleep(time_on)
    led3.blink(time_on, time_off)

    pause()


except KeyboardInterrupt:
    pass


finally:
    led1.close()
    led2.close()
    led3.close()

Мне также предоставили псевдокод для вдохновения. может я что-то упускаю, но вот.

control_speed_function (для части 4, активируется нажатием кнопки): используйте глобальное обозначение для переменных blink_interval(s)

если blink_interval длинный: установите переменную (переменные) blink_interval как короткую

в противном случае: установите переменную (переменные) blink_interval long

если светодиоды мигают: вызовите функцию turn_LEDs_off вызовите функцию turn_LEDs_on

0 ответов

Другие вопросы по тегам