я хочу знать, как добавить вторую функцию ко второй кнопке, подключенной к моей схеме 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